Получи 15 дней теста бесплатно!
ПРИМЕР ИСПОЛЬЗОВАНИЯ REST ИНТЕРФЕЙСА НА ЯЗЫКЕ PYTHON
Пример использования класса
from iqsms import Gate sender = Gate('your_login', 'your_password'); print sender.credits() # узнаем текущий баланс print sender.senders() # получаем список доступных подписей print sender.send('71234567890', 'some text here', 'iqsms') #отправляем sms print sender.status(12345)
Список вариантов ответов от сервиса при передаче сообщения и приеме ответа находится здесь.
Класс Gate
import urllib2 import urllib import base64 import sys class Gate: """class for using iqsms.ru service via GET requests""" __host = 'gate.iqsms.ru' def __init__(self, api_login, api_password): self.login = api_login self.password = api_password def __sendRequest(self, uri, params=None): url = self.__getUrl(uri, params) request = urllib2.Request(url) passman = urllib2.HTTPPasswordMgrWithDefaultRealm() passman.add_password(None, url, self.login, self.password) authhandler = urllib2.HTTPBasicAuthHandler(passman) try: opener = urllib2.build_opener(authhandler) data = opener.open(request).read() return data except IOError, e: return e.code def __getUrl(self, uri, params=None): url = "https://%s/%s/" % (self.getHost(), uri) paramStr = '' if params is not None: for k, v in params.items(): if v is None: del params[k] paramStr = urllib.urlencode(params) return "%s?%s" % (url, paramStr) def getHost(self): """Return current requests host """ return self.__host def setHost(self, host): """Changing default requests host """ self.__host = host def send(self, phone, text, sender='iqsms', statusQueueName=None, scheduleTime=None, wapurl = None): """Sending sms """ params = {'phone': phone, 'text': text, 'sender': sender, 'statusQueueName': statusQueueName, 'scheduleTime': scheduleTime, 'wapurl': wapurl } return self.__sendRequest('send', params) def status(self, id): """Retrieve sms status by it's id """ params = {'id': id} return self.__sendRequest('status', params) def statusQueue(self, statusQueueName, limit = 5): """Retrieve latest statuses from queue """ params = {'statusQueueName': statusQueueName, 'limit': 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 Gate.__doc__
Решения для всех сфер бизнеса
- Автосалоны, автодилеры, сервисные центры
- Банки и кредитные организации
- Ночные клубы, рестораны, кафе
- Страховые компании, страховые брокеры
- Торговые сети, гипермаркеты
- Интернет-торговля и Web 2.0
- Кинотеатры и спортивно-развлекательные центры
- Провайдеры связи, Интернет, VoIP, IPTV
- Туризм, Туроператоры, турфирмы
- Спортивные, фитнес клубы
60 дней бесплатного тестирования
Для получения доступа к сервису введите свой номер телефона
Для получения доступа к сервису введите свой номер телефона