Получи 15 дней теста бесплатно!
ПРИМЕР ИСПОЛЬЗОВАНИЯ JSON ИНТЕРФЕЙСА НА ЯЗЫКЕ PERL
Пример использования класса
from iqsmsjson import JsonGate gate = JsonGate('api_login', 'api_password') print gate.credits() # узнаем текущий баланс print gate.senders() # получаем список доступных подписей messages = [{ "clientId" : "1", "phone": "71234567890", "text": "first message", "sender": "TEST" }, { "clientId" : "2", "phone": "71234567891", "text": "second message", "sender": "TEST", }, { "clientId" : "3", "phone": "71234567892", "text": "third message", "sender": "TEST", } ] print gate.send(messages, 'testQueue') #отправляем пакет sms messages = [{"clientId":"1","smscId":11255142},{"clientId":"2","smscId":11255143},{"clientId":"3","smscId":11255144}] print gate.status(messages) # получаем статусы для пакета sms print gate.statusQueue('testQueue', 10) # получаем статусы из очереди 'testQueue'
Список вариантов ответов от сервиса при передаче сообщения и приеме ответа находится здесь.
Класс JsonGate
import urllib import json class JsonGate: """class for using iqsms.ru service via JSON interface""" __host = 'json.gate.iqsms.ru' def __init__(self, api_login, api_password): self.login = api_login self.password = api_password def __sendRequest(self, uri, params={}): url = self.__getUrl(uri) data = self.__formPacket(params) try: f = urllib.urlopen(url, data) result = f.read() return eval(result) except IOError, e: return dir(e) def __getUrl(self, uri): return "https://%s/%s/" % (self.getHost(), uri) def __formPacket(self, params={}): params["login"] = self.login params["password"] = self.password for key,value in params.items(): if value is None: del params[key] packet = json.dumps(params) return packet def getHost(self): """Return current requests host """ return self.__host def setHost(self, host): """Changing default requests host """ self.__host = host def send(self, messages, statusQueueName=None, scheduleTime=None): """Sending sms packet""" params = {"messages": messages, 'statusQueueName': statusQueueName, 'scheduleTime': scheduleTime, } return self.__sendRequest('send', params) def status(self, messages): """Retrieve sms statuses packet by its' ids """ params = {"messages": messages} return self.__sendRequest('status', params) def statusQueue(self, statusQueueName, limit = 5): """Retrieve latest statuses from queue """ params = {'statusQueueName': statusQueueName, 'statusQueueLimit': limit} return self.__sendRequest('statusQueue', params) def credits(self): """Retrieve current credit balance """ return self.__sendRequest('credits') def senders(self): """Retrieve available signs """ return self.__sendRequest('senders') if __name__ == "__main__": print JsonGate.__doc__
Решения для всех сфер бизнеса
- Автосалоны, автодилеры, сервисные центры
- Банки и кредитные организации
- Ночные клубы, рестораны, кафе
- Страховые компании, страховые брокеры
- Торговые сети, гипермаркеты
- Интернет-торговля и Web 2.0
- Кинотеатры и спортивно-развлекательные центры
- Провайдеры связи, Интернет, VoIP, IPTV
- Туризм, Туроператоры, турфирмы
- Спортивные, фитнес клубы
60 дней бесплатного тестирования
Для получения доступа к сервису введите свой номер телефона
Для получения доступа к сервису введите свой номер телефона