API / HTTP/HTTPS протокол / Ответ сервера и коды ошибок

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


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

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

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

Ответ сервера и коды ошибок

Примеры отправки сообщений

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

РАЗНОЕ

Ответ сервера и коды ошибок

Сервер отправляет ответ в виде строки:

Если произошла ошибка, то ответ будет одним из следующих:

При fmt = 0:
  • ERROR = N (описание) – для ошибок 1,2,4,5,9;

  • ERROR = N (описание), ID - <id сообщения> – для ошибок 3,6,7,8.
При fmt = 1:
  • 0,-N – для ошибок 1,2,4,5,9;

  • <id сообщения>,-N – для ошибок 3,6,7,8.
При fmt = 2:
  • Для ошибок 1,2,4,5,9:
    <result>
    <error>описание</error>
    <error_code>N</error_code>
    </result>

  • Для ошибок 3,6,7,8:
    <result>
    <error>описание</error>
    <error_code>N</error_code>
    <id>id сообщения</id>
    </result>
При fmt = 3:
  • Для ошибок 1,2,4,5,9:
    {
    "error": "описание",
    "error_code": N
    }

  • Для ошибок 3,6,7,8:
    {
    "error": "описание",
    "error_code": N,
    "id": <id сообщения>
    }
N – номер ошибки, может принимать следующие значения:

ЗначениеОписание
1Ошибка в параметрах.
2Неверный логин или пароль.
3Недостаточно средств на счете Клиента.
4IP-адрес временно заблокирован из-за частых ошибок в запросах. Подробнее
5Неверный формат даты.
6Сообщение запрещено (по тексту или по имени отправителя).
7Неверный формат номера телефона.
8Сообщение на указанный номер не может быть доставлено.
9Отправка более одного одинакового запроса на передачу SMS-сообщения либо более пяти одинаковых запросов на получение стоимости сообщения в течение минуты.

В случае успешной обработки запроса возвращается строка следующего вида:
  • при cost = 0 и fmt = 0: OK - <n> SMS, ID - <id>

  • при cost = 1 и fmt = 0: <cost> (<n> SMS)

  • при cost = 2 и fmt = 0: OK - <n> SMS, ID - <id>, COST - <cost>

  • при cost = 3 и fmt = 0: OK - <n> SMS, ID - <id>, COST - <cost>, BALANCE - <balance>

  • при cost = 0 и fmt = 1: <id>,<n>

  • при cost = 1 и fmt = 1: <cost>,<n>

  • при cost = 2 и fmt = 1: <id>,<n>,<cost>

  • при cost = 3 и fmt = 1: <id>,<n>,<cost>,<balance>

  • при cost = 0 и fmt = 2:
    <result>
    <id>id</id>
    <cnt>n</cnt>
    </result>

  • при cost = 1 и fmt = 2:
    <result>
    <cost>cost</cost>
    <cnt>n</cnt>
    </result>

  • при cost = 2 и fmt = 2:
    <result>
    <id>id</id>
    <cnt>n</cnt>
    <cost>cost</cost>
    </result>

  • при cost = 3 и fmt = 2:
    <result>
    <id>id</id>
    <cnt>n</cnt>
    <cost>cost</cost>
    <balance>balance</balance>
    </result>

  • при cost = 0 и fmt = 3:
    {
    "id": <id>,
    "cnt": <n>
    }

  • при cost = 1 и fmt = 3:
    {
    "cost": "<cost>",
    "cnt": <n>
    }

  • при cost = 2 и fmt = 3:
    {
    "id": <id>,
    "cnt": <n>,
    "cost": "<cost>"
    }

  • при cost = 3 и fmt = 3:
    {
    "id": <id>,
    "cnt": <n>,
    "cost": "<cost>",
    "balance": "<balance>"
    }

  • при op = 1 и fmt = 0 или 1, информация добавляется в конец обычного вывода с новой строки:
    <phone>,<mccmnc>,<cost>,<status>,<error>

  • при op = 1 и fmt = 2, в ответ добавляется массив:
    <phones>
    <phone mccmnc="mccmnc" cost="cost" status="status" error="error">phone</phone>
    ...
    </phones>

  • при op = 1 и fmt = 3, в ответ добавляется массив:
    "phones": [{
    "phone": "<phone>",
    "mccmnc": "<mccmnc>",
    "cost": "<cost>",
    "status": "<status>",
    "error": "<error>"
    },
    ...
    ]

Где:
<n> – это количество отправленных SMS, вычисляемое как количество SMS в сообщении, умноженное на количество получателей.
<id> – идентификатор сообщения, переданный Клиентом или назначенный Сервером автоматически.
<cost> – стоимость рассылки.
<balance> – новый баланс Клиента.
<phone> – номер телефона.
<mccmnc> – числовой код страны абонента плюс числовой код оператора абонента.
<cost> – стоимость SMS-сообщения.
<status> – код статуса SMS-сообщения.
<error> – код ошибки в статусе.

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

Сервер также блокирует отправку более 50 сообщений одному абоненту, которые были отправлены с перерывом между сообщениями менее 60-ти секунд, для защиты от флуда и лишнего списания средств со счета Клиента, так как многие операторы не пропускают большое количество сообщений одному абоненту за короткий промежуток времени.




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