Получи 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 дней бесплатного тестирования
Для получения доступа к сервису введите свой номер телефона
Для получения доступа к сервису введите свой номер телефона

