API / HTTP/HTTPS протокол / Получение данных

API позволяет рассылать сообщения через ваши проекты и сервисы по протоколам HTTP/HTTPS, SMTP и SMPP. Готовые библиотеки на разных языках программирования подключаются к вашему проекту и помогают отправлять сообщения из любого места с помощью одной команды.


HTTP/HTTPS SMTP SMPP SOAP SMS-команды Библиотеки и примеры кода

ОТПРАВКА СООБЩЕНИЙ

Отправка SMS-сообщения

Комментарии в SMS-сообщениях

Отправка на группу номеров

Отправка HLR-запроса

Отправка MMS-сообщения

Отправка e-mail сообщения

Отправка голосового сообщения (звонок)

Отправка viber-сообщения

Использование префиксов при отправке сообщений

Управление шаблонами сообщений

Виртуальная отправка (режим тестирования)

УПРАВЛЕНИЕ РАССЫЛКАМИ

СТАТУСЫ СООБЩЕНИЙ

ПРОВЕРКА СОСТОЯНИЯ БАЛАНСА

УПРАВЛЕНИЕ КОНТАКТАМИ

УПРАВЛЕНИЕ ИМЕНАМИ ОТПРАВИТЕЛЕЙ (SENDER ID)

ПОЛУЧЕНИЕ ДАННЫХ

РАЗНОЕ

Получение данных

Получение истории отправленных сообщений

Для получения списка отправленных SMS-сообщений необходимо вызвать методом GET или POST адрес: http://billing.smstraf.ru/sys/get.php?get_messages=1&login=<login>&psw=<password>
Описание параметров, передаваемых Серверу:

ПараметрЗначение
loginЛогин Клиента.
pswПароль Клиента или MD5-хеш пароля в нижнем регистре.
startНачальная дата в периоде, за который запрашивается история. Формат: 'дд.мм.гггг'.
endКонечная дата в периоде. Если не указана, то возвращаются данные с начальной даты. Формат: 'дд.мм.гггг'.
phoneНомер или разделенный запятыми список номеров телефонов, для которых необходимо получить историю отправленных SMS-сообщений.
cntКоличество возвращаемых в ответе сообщений. Максимальное значение равно 100.

В случае ошибки Сервер возвращает следующую строку:
  • ERROR = N (описание)

  • При fmt = 1:
    0,-N

  • При fmt = 2:
    <result>
    <error>описание</error>
    <error_code>N</error_code>
    </result>

  • При fmt = 3:
    {
    "error": "описание",
    "error_code": N
    }
N – номер ошибки, может принимать следующие значения:

ЗначениеОписание
1Ошибка в параметрах.
2Неверный логин или пароль.
3Сообщение не найдено.
4IP-адрес временно заблокирован.
9Попытка отправки более трех одинаковых запросов на получение истории исходящих сообщений в течение минуты.

В случае успешного запроса Сервер возвращает ответ в виде строки:
  • при fmt = 0:
    Status = <status>, check_time = <last_date>, err = <err>, send_date = <send_date>, phone = <phone>, country = <country>, operator = <operator>, region = <region>, cost = <cost>, sender_id = <sender>, status_name = <status_name>, message = <message>, ID = <id>
    ...

  • при fmt = 1:
    <status>,<last_timestamp>,<err>,<send_timestamp>,<phone>,<country>,<operator>,<region>,<cost>,<sender>,<status_name>,<message>,<id>
    ...

  • при fmt = 2:
    <list>
    <sms>
    <status>status</status>
    <last_date>last_date</last_date>
    <last_timestamp>last_timestamp</last_timestamp>
    <err>err</err>
    <send_date>send_date</send_date>
    <send_timestamp>send_timestamp</send_timestamp>
    <phone>phone</phone>
    <cost>cost</cost>
    <sender_id>sender</sender_id>
    <status_name>status_name</status_name>
    <message>message</message>
    <country>country</country>
    <operator>operator</operator>
    <region>region</region>
    <id>id</id>
    </sms>
    ...
    </list>

  • при fmt = 3:
    [{
    "status": <status>,
    "last_date": "<last_date>",
    "last_timestamp": <last_timestamp>,
    "err": <err>,
    "send_date": "<send_date>",
    "send_timestamp": <send_timestamp>,
    "phone": "<phone>",
    "cost": "<cost>",
    "sender_id": "<sender>",
    "status_name": "<status_name>",
    "message": "<message>",
    "country": "<country>",
    "operator": "<operator>",
    "region": "<region>",
    "id": <id>
    },
    ...]

Где:
<status> – код статуса (список)
<last_date> – дата последнего изменения статуса. Формат DD.MM.YYYY hh:mm:ss.
<last_timestamp> – штамп времени последнего изменения статуса.
<err> – код ошибки, если сообщение не было доставлено.
<send_date> – дата отправки сообщения (формат DD.MM.YYYY hh:mm:ss).
<send_timestamp> – штамп времени отправки сообщения.
<phone> – номер телефона абонента.
<country> – название страны регистрации номера абонента.
<operator> – название оператора абонента.
<region> – регион регистрации номера абонента.
<cost> – стоимость сообщения.
<sender> – имя отправителя.
<status_name> – название статуса.
<message> – текст сообщения.
<id> – идентификатор сообщения.

Примеры:

Получение последних десяти исходящих SMS-сообщений:

http://billing.smstraf.ru/sys/get.php?get_messages=1&login=alex&psw=123&cnt=10
Получение последнего исходящего SMS-сообщения, отправленного на номер "79999999999":

http://billing.smstraf.ru/sys/get.php?get_messages=1&login=alex&psw=123&phone=79999999999

Сервер не принимает более трех одинаковых запросов в течение минуты на получение истории исходящих сообщений для снижения нагрузки и защиты от ошибок и зацикливаний в программе на стороне Клиента.

Получение входящих сообщений

Для получения списка входящих сообщений необходимо вызвать методом GET или POST адрес: http://billing.smstraf.ru/sys/get.php?get_answers=1&login=<login>&psw=<password>
Описание параметров, передаваемых Серверу:

ПараметрЗначение
loginЛогин Клиента.
pswПароль Клиента или MD5-хеш пароля в нижнем регистре.
hourПериод в часах, за который необходимо запросить входящие сообщения. Максимальное количество часов - 168 (7 дней).
after_idИдентификатор сообщения, начиная с которого необходимо вернуть входящие сообщения, за исключением самого after_id.

В случае ошибки Сервер возвращает следующую строку:
  • ERROR = N (описание)

  • При fmt = 1:
    0,-N

  • При fmt = 2:
    <result>
    <error>описание</error>
    <error_code>N</error_code>
    </result>

  • При fmt = 3:
    {
    "error": "описание",
    "error_code": N
    }
N – номер ошибки, может принимать следующие значения:

ЗначениеОписание
1Ошибка в параметрах.
2Неверный логин или пароль.
4IP-адрес временно заблокирован.
9Попытка отправки более трех одинаковых запросов на получение списка входящих сообщений в течение минуты.

В случае успешного запроса Сервер возвращает ответ в виде строки:
  • при fmt = 0:
    id = <id>, received = <received>, phone = <phone>, message = <message>, to_phone = <to_phone>, sent = <sent>
    ...

  • при fmt = 1:
    <id>,<received>,<phone>,<to_phone>,<sent>,<message>
    ...

  • при fmt = 2:
    <sms_answers>
    <sms>
    <id>id</id>
    <received>received</received>
    <phone>phone</phone>
    <message>message</message>
    <to_phone>to_phone</to_phone>
    <sent>sent</sent>
    </sms>
    ...
    </sms_answers>

  • при fmt = 3:
    [{
    "id": <id>,
    "received": "<received>",
    "phone": "<phone>",
    "message": "<message>",
    "to_phone": "<to_phone>",
    "sent": "<sent>"
    },
    ...]

Где:
<id> – идентификатор входящего сообщения, назначаемый Сервером автоматически.
<received> – дата получения сообщения Сервером. Формат DD.MM.YYYY hh:mm:ss.
<phone> – номер телефона абонента.
<message> – входящее сообщение.
<to_phone> – номер телефона получателя.
<sent> – дата отправки сообщения. Формат DD.MM.YYYY hh:mm:ss.


Примеры:

Получение списка входящих сообщений за текущие сутки:

http://billing.smstraf.ru/sys/get.php?get_answers=1&login=alex&psw=123
Получение списка входящих сообщений за последние 48 часов:

http://billing.smstraf.ru/sys/get.php?get_answers=1&login=alex&psw=123&hour=48
Получение списка входящих сообщений с идентификаторами, большими id="1234567":

http://billing.smstraf.ru/sys/get.php?get_answers=1&login=alex&psw=123&after_id=1234567

Сервер не принимает более трех одинаковых запросов в течение минуты на получение списка входящих сообщений для снижения нагрузки и защиты от ошибок и зацикливаний в программе на стороне Клиента.

Получение статистики

Для получения статистики отправленных сообщений необходимо вызвать методом GET или POST адрес: http://billing.smstraf.ru/sys/get.php?get_stat=1&login=<login>&psw=<password>&start=<date1>&end=<date2>
Описание параметров, передаваемых Серверу:

ПараметрЗначение
loginЛогин Клиента.
pswПароль Клиента или MD5-хеш пароля в нижнем регистре.
startНачальная дата в периоде, за который запрашивается статистика. Формат: 'дд.мм.гггг'.
endКонечная дата в периоде. Если не указана, то возвращаются данные с начальной даты. Формат: 'дд.мм.гггг'.
mycurФлаг, позволяющий выводить статистику в текущей валюте Клиента.
balance2Флаг, позволяющий получить статистику по отправленным сообщениям, оплаченным с электронного баланса.

В случае ошибки Сервер возвращает следующую строку:
  • ERROR = N (описание)

  • При fmt = 1:
    0,-N

  • При fmt = 2:
    <result>
    <error>описание</error>
    <error_code>N</error_code>
    </result>

  • При fmt = 3:
    {
    "error": "описание",
    "error_code": N
    }
N – номер ошибки, может принимать следующие значения:

ЗначениеОписание
1Ошибка в параметрах.
2Неверный логин или пароль.
4IP-адрес временно заблокирован.
9Попытка отправки более трех одинаковых запросов на получение списка входящих сообщений в течение минуты.

В случае успешного запроса Сервер возвращает ответ в виде строки:
  • при fmt = 0:
    login = <login>, sms = <cnt>, credit = <credit>, debit = <debit>, currency = <currency>
    ...

  • при fmt = 1:
    <login>,<cnt>,<credit>,<debit>,<currency>
    ...

  • при fmt = 2:
    <list>
    <stat>
    <login>login</login>
    <sms>cnt</sms>
    <credit>credit</credit>
    <debit>debit</debit>
    <currency>currency</currency>
    </stat>
    ...
    </list>

  • при fmt = 3:
    [{
    "login": "<login>",
    "sms": "<cnt>",
    "credit": "<credit>",
    "debit": "<debit>",
    "currency": "<currency>"
    },
    ...]

Где:
<login> - логин Клиента.
<cnt> - количество сообщений.
<credit> - расход.
<debit> - приход.
<currency> - трехсимвольный код валюты.

Примеры:

Получение статистики в текущей валюте Клиента с "01.01.2014" по "01.02.2014":

http://billing.smstraf.ru/sys/get.php?get_stat=1&login=alex&psw=123&mycur=1&start=01.01.2014&end=01.02.2014

Сервер не принимает более трех запросов в течение минуты на получение статистики для снижения нагрузки и защиты от ошибок и зацикливаний в программе на стороне Клиента.

Получение статистики по оператору Мегафон

Для получения статистики по всем лицевым счетам необходимо вызвать методом GET или POST адрес: http://billing.smstraf.ru/sys/get.php?get_mega_accounts=1&login=<login>&psw=<password>
Для получения статистики по определенному лицевому счету необходимо вызвать методом GET или POST адрес: http://billing.smstraf.ru/sys/get.php?get_mega_accounts=1&login=<login>&psw=<password>&account=<account>
Описание параметров, передаваемых Серверу:

ПараметрЗначение
loginЛогин Клиента.
pswПароль Клиента или MD5-хеш пароля в нижнем регистре.
accountНомер лицевого счета у оператора Мегафон.

В случае ошибки Сервер возвращает следующую строку:
  • ERROR = N (описание)

  • При fmt = 1:
    0,-N

  • При fmt = 2:
    <result>
    <error>описание</error>
    <error_code>N</error_code>
    </result>

  • При fmt = 3:
    {
    "error": "описание",
    "error_code": N
    }
N – номер ошибки, может принимать следующие значения:

ЗначениеОписание
1Ошибка в параметрах.
2Неверный логин или пароль.
3Лицевые счета не найдены.
4IP-адрес временно заблокирован.
9Попытка отправки более трех одинаковых запросов на получение статистики в течение минуты.

В случае успешного запроса Сервер возвращает ответ в виде строки:
  • при fmt = 0:
    account = <account>, phone = <phone>, sms_mon = <sms_mon>, sms_day = <sms_day>, sms_yes = <sms_yes>, sms_pmon = <sms_pmon>, balance = <balance>, credit = <credit>, senders = <senders>
    ...

  • при fmt = 1:
    <account>,<phone>,<sms_mon>,<sms_day>,<sms_yes>,<sms_pmon>,<balance>,<credit>,<senders>
    ...

  • при fmt = 2:
    <accounts>
    <account>
    <number>number</number>
    <phone>phone</phone>
    <sms_mon>sms_mon</sms_mon>
    <sms_day>sms_day</sms_day>
    <sms_yes>sms_yes</sms_yes>
    <sms_pmon>sms_pmon</sms_pmon>
    <balance>balance</balance>
    <credit>credit</credit>
    <senders>senders</senders>
    </account>
    ...
    </accounts>

  • при fmt = 3:
    [{
    "account": "<account>",
    "phone": "<phone>",
    "sms_mon": <sms_mon>,
    "sms_day": <sms_day>,
    "sms_yes": <sms_yes>,
    "sms_pmon": <sms_pmon>,
    "balance": "<balance>",
    "credit": <credit>,
    "senders": "<senders>"
    },
    ...]

Где:
<account> - номер лицевого счета.
<phone> - телефон, привязанный к лицевому счету.
<sms_mon> - количество смс, отправленных за текущий месяц.
<sms_day> - количество смс, отправленных за текущий день.
<sms_yes> - количество смс, отправленных за предыдущий день.
<sms_pmon> - количество смс, отправленных за предыдущий месяц.
<balance> - баланс.
<credit> - кредит.
<senders> - зарегистрированные имена отправителей.

Примеры:

Получение статистики по всем лицевым счетам:

http://billing.smstraf.ru/sys/get.php?get_mega_accounts=1&login=alex&psw=123
Получение статистики по лицевому счету "111":

http://billing.smstraf.ru/sys/get.php?get_mega_accounts=1&login=alex&psw=123&account=111

Сервер не принимает более трех одинаковых запросов в течение минуты на получение статистики для снижения нагрузки и защиты от ошибок и зацикливаний в программе на стороне Клиента.

Запрос тарифов

Для получения списка тарифов указанного Клиента необходимо вызвать методом GET или POST адрес: http://billing.smstraf.ru/sys/get.php?get_price=1&login=<login>&psw=<password>
Описание параметров, передаваемых Серверу:

ПараметрЗначение
loginЛогин Клиента.
pswПароль Клиента или MD5-хеш пароля в нижнем регистре.

В случае ошибки Сервер возвращает следующую строку:
  • ERROR = N (описание)

  • При fmt = 1:
    0,-N

  • При fmt = 2:
    <result>
    <error>описание</error>
    <error_code>N</error_code>
    </result>

  • При fmt = 3:
    {
    "error": "описание",
    "error_code": N
    }
N – номер ошибки, может принимать следующие значения:

ЗначениеОписание
1Ошибка в параметрах.
2Неверный логин или пароль.
4IP-адрес временно заблокирован.
9Попытка отправки более трех одинаковых запросов на получение списка тарифов в течение минуты.

В случае успешного запроса Сервер возвращает ответ в виде набора строк:
  • при fmt = 0:
    zone = <zone>, name = <name>, api = <api>, mass = <mass>, mms = <mms>, hlr = <hlr>, call = <call>
    ...

    при наличии установленных индивидуальных тарифов по определенным операторам к ответу добавляется набор строк:
    mccmnc = <mccmnc>, cost = <cost>
    ...

    mail = <mail>

  • при fmt = 1:
    <zone>,<name>,<api>,<mass>,<mms>,<hlr>,<call>
    ...

    <mccmnc>,<cost>
    ...

    <mail>

  • при fmt = 2:
    <price>
    <zones>
    <zone name="<name>" api="<api>" mass="<mass>" mms="<mms>" hlr="<hlr>" call="<call>">zone</zone>
    ...
    </zones>
    <codes>
    <mccmnc cost="<cost>">mccmnc</mccmnc>
    ...
    </codes>
    <mail>mail</mail>
    </price>

  • при fmt = 3:
    {
    "zones": [{
    "zone": "<zone>",
    "name": "<name>",
    "api": "<api>",
    "mass": "<mass>",
    "mms": "<mms>",
    "hlr": "<hlr>",
    "call": "<call>"
    },
    ...
    {
    ...
    }],
    "codes": [{
    "mccmnc": "<mccmnc>",
    "cost": "<cost>"
    },
    ...
    {
    ...
    }],
    "mail": "<mail>"
    }

Где:
<zone> - тарифная зона.
<name> - название тарифной зоны (оператор, страна и т.п.).
<api> - стоимость SMS при отправке через API.
<mass> - стоимость SMS при отправке через личный кабинет.
<mms> - стоимость MMS-сообщения.
<hlr> - стоимость HLR-запроса.
<call> - стоимость голосового сообщения (звонок).
<mccmnc> - код страны и мобильного оператора, для которого установлен индивидуальный тариф.
<cost> - стоимость сообщения по данному индивидуальному тарифу.
<mail> - стоимость e-mail сообщения.

Примеры:

Получение списка тарифов:

http://billing.smstraf.ru/sys/get.php?get_price=1&login=alex&psw=123

Сервер не принимает более трех одинаковых запросов в течение минуты на получение списка тарифов для снижения нагрузки и защиты от ошибок и зацикливаний в программе на стороне Клиента.

Получение информации об операторе

Для получения информации об операторе абонента необходимо вызвать методом GET или POST адрес: http://billing.smstraf.ru/sys/info.php?get_operator=1&login=<login>&psw=<password>&phone=<phone>
Описание параметров, передаваемых Серверу:

ПараметрЗначение
loginЛогин Клиента.
pswПароль Клиента или MD5-хеш пароля в нижнем регистре.
phoneНомер телефона абонента.

В случае ошибки Сервер возвращает следующую строку:
  • ERROR = N (описание)

  • При fmt = 1:
    0,-N

  • При fmt = 2:
    <result>
    <error>описание</error>
    <error_code>N</error_code>
    </result>

  • При fmt = 3:
    {
    "error": "описание",
    "error_code": N
    }
N – номер ошибки, может принимать следующие значения:

ЗначениеОписание
1Ошибка в параметрах.
2Неверный логин или пароль.
3Оператор не найден.
4IP-адрес временно заблокирован.
9Попытка отправки более трех одинаковых запросов или любых 100 запросов на получение информации об операторе абонента в течение минуты.

В случае успешного запроса Сервер возвращает ответ в виде строки:

  • при fmt = 0: country = <country>, operator = <operator>, region = <region>, mcc = <mcc>, mnc = <mnc>, tz = <tz>

  • при fmt = 1: <country>,<operator>,<region>,<mcc>,<mnc>,<tz>

  • при fmt = 2:
    <info>
    <country>country</country>
    <operator>operator</operator>
    <region>region</region>
    <mcc>mcc</mcc>
    <mnc>mnc</mnc>
    <tz>tz</tz>
    </info>

  • при fmt = 3:
    {
    "country": "<country>",
    "operator": "<operator>",
    "region": "<region>",
    "mcc": "<mcc>",
    "mnc": "<mnc>",
    "tz": "<tz>"
    }

Где:
<country> – название страны регистрации номера абонента.
<operator> – мобильный оператор абонента.
<region> – регион регистрации номера абонента.
<mcc> – числовой код страны абонента.
<mnc> – числовой код оператора абонента.
<tz> – часовой пояс региона регистрации номера абонента.


Пример:

Получение информации об операторе абонента с номером "79999999999":

http://billing.smstraf.ru/sys/info.php?get_operator=1&login=alex&psw=123&phone=79999999999

Сервер не принимает более трех одинаковых запросов в течение минуты на получение информации об операторе абонента для снижения нагрузки и защиты от ошибок и зацикливаний в программе на стороне Клиента.

Сервер также блокирует отправку более 100 запросов в течение минуты на получение данных об операторе для снижения нагрузки на базу данных.




=100% cellpadding=0>Меняются условия работы и тарифы на отправку SMS-сообщений в сеть оператора Мегафон (Россия)23.07.2024С 1 августа оператор связи Мегафон (Россия) вводит новый тип сообщения - международные авторизационные SMS. Также с указанной даты изменяются тарифы для международных и транзакционных SMS-сообщений. Новые тарифы указаны на сайте на странице Тарифы и Тарифы для оператора Мегафон.
подробнее