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

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

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

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