Сообщение отправлено!
8 800 700-99-10
Позвоните мне
Оплатить Регистрация
Получи 15 дней теста бесплатно!

30 дней бесплатного тестирования. Для завершения регистрации введите Ваш E-mail

ПРИМЕР ИСПОЛЬЗОВАНИЯ 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__
60 дней бесплатного тестирования
Для получения доступа к сервису введите свой номер телефона

Ваш номер уже зарегистрирован