Пример кода для Python

						
# -*- coding: utf-8 -*-

import urllib2
import urllib
import base64



class RestApi:
    """class for using smsfeedback.ru service via GET requests"""

    __host = 'api.smsfeedback.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 = "http://%s/messages/v2/%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='SMSfeedback',
             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 balance(self):
        """Retrieve current balance """
        return self.__sendRequest('balance')

    def senders(self):
        """Retrieve available signs """
        return self.__sendRequest('senders')
		
		
		

login = 'login'
password = 'password'
sender = RestApi(login, password);
# узнаем текущий баланс
print sender.balance() 
# получаем список доступных подписей
print sender.senders() 
# отправляем sms
print sender.send('71234567890', 'some text here', 'TEST-SMS') 
# получаем статус
#print sender.status(12345)