Перейти к основному содержимому

История изменений

Изменения в API и в этой документации, свежие сверху.

2026-10-22​

API

  • SMS, которое не удалось передать оператору до конца срока жизни — sms_lifetime, а если он не задан, через 72 часа после назначенного времени отправки, — теперь получает финальный статус EXPIRED. Он приходит так же, как отчёт оператора: в вебхук и отчёт о доставке. Раньше такое сообщение могло оставаться в статусе QUEUED без финального статуса.
  • Сообщение в направление, маршрут в которое недоступен, сразу отклоняется с Operator not supported — статус NO ROUTE, status_detail channel.no_route — и не списывается. Раньше оно могло быть принято и так и не отправлено.
  • Отчёты в кабинете клиента показывают и сообщения, которые так и не были отправлены: они видны по времени создания.
  • Такое SMS не списывается: когда оно получает EXPIRED, так и не попав к оператору, его цена возвращается на баланс — отдельной строкой в истории баланса. Сообщение, которое дошло до оператора и не было доставлено, оплачивается, как и раньше.
  • Вебхук также приносит финальные статусы, которые не приходят из отчёта оператора: EXPIRED для сообщения WhatsApp, по которому поставщик так и не отчитался, и все финальные статусы Telegram.

2026-10-20​

API

  • Новое поле status_detail — почему у сообщения такой статус, двухуровневым кодом: recipient.no_viber_user значит, что сообщение Viber не доставлено, потому что на номере нет Viber. Отдаётся в статусе JSON и вебхуке, статусе XML, статусе HTTP и отчёте о доставке. Есть, только когда причина известна; сам статус не меняется. Все коды — в Уточнениях статуса. Первый уровень называет, где причина: recipient, sender, template, content, policy, channel.

2026-09-27​

API

  • У WhatsApp — всё содержимое сообщения. Шаблон может нести в шапке картинку, видео, документ, локацию или текст со значением, кнопку-ссылку со значением, купон для копирования, а шаблон подтверждения отправляет одноразовый код. В течение 24 часов после последнего сообщения абонента свободное сообщение может нести файл с подписью, локацию, карточку с кнопкой и превью ссылки. См. Отправка сообщения WhatsApp.
  • Новый метод template/whatsapp/list: одобренные шаблоны ваших отправителей и то, что нужно каждому при отправке, — см. Список шаблонов WhatsApp.
  • Вебхук несёт replies и для WhatsApp — текст, нажатую кнопку, файл и локацию. Уведомление whatsapp/inbound тоже несёт файл и локацию.

Документация

  • Отправка OTP кода (WhatsApp) — переписана: код отправляется шаблоном подтверждения. Утверждение, что type: whatsapp отклоняется, больше не верно — тип принимается, как и whatsapp+sms.
  • Контракт OpenAPI описывает whatsapp, whatsapp+sms и template/whatsapp/list.

2026-09-09​

Документация

  • У JSON API появился машиночитаемый контракт: openapi.yaml и openapi.json, ссылка — на странице Структура запроса. Файл импортируется в Postman, Insomnia или генератор клиента. Он описывает конверт запроса, все двадцать задокументированных операций по data[].type, формат ответа и вебхук со статусом доставки. Адрес сервера в файле — тот, что действует для этого сайта.

2026-09-02​

API

  • Вебхуки о статусе повторяются: до трёх попыток с паузами 10 и 60 секунд. Повтор бывает только при обрыве связи, таймауте, 5xx или 429; успехом считается строго 200. Обработчик должен быть идемпотентным. См. Вебхук, Verify (OTP) и Callback-уведомления.
  • MCP-коннектор: инструмент send_whatsapp отправляет запрос типом pipeline. Поле signature стало обязательным, необязательная пара sms_signature + sms_message добавляет досылку SMS. Вызов со старым набором аргументов (phone, message, confirm) больше не проходит схему инструмента — см. Инструменты коннектора.

Документация

  • Callback-уведомления — новый раздел Отчёт о доставке на URL. Отчёт был описан только в варианте на e-mail, хотя шлюз отправляет его на адрес уведомлений по каждому сообщению аккаунта, каким бы API оно ни было отправлено. Утверждение, что JSON вебхук приходит вместо этих уведомлений, было неверным: отправляются оба.
  • Отправка OTP кода (WhatsApp) — страница переписана. type: whatsapp не является типом сообщения и отклоняется с ошибкой Invalid message type; WhatsApp — этап запроса pipeline.
  • В отчёте о доставке на URL и на e-mail смещение часового пояса идёт без двоеточия (+0300), формат был описан неверно.

2026-08-25​

API

  • В payload вебхука появилось поле success: true только если сообщение доставлено (DELIVERED, READ, REPLIED, PARTIALLY DELIVERED), иначе false. См. Вебхук.
  • Если в асинхронном пакете нет id ни у одного сообщения, отправляется один вебхук с request_id, а не пропускается уведомление.

2026-08-24​

API

  • Уведомление об отклонённом сообщении теперь имеет ту же форму, что и статус доставки: плоский объект со status: REJECTED и причиной в error. Поле success и вложенный массив data убраны — один payload, один парсер. См. Вебхук.
  • Отклонённый запрос теперь порождает по одному уведомлению на каждое сообщение с hook, каждое со своим id. Раньше отправлялось одно уведомление на адрес, и про остальные сообщения пачки клиент не узнавал.
  • Уведомление Verify (OTP) приведено к той же форме и теперь тоже содержит status и updated.

2026-08-21​

Документация

  • Новая страница Callback-уведомления — входящее SMS на выделенный номер, ответы Viber 2 Way и отчёт о доставке на e-mail. Ни одно из этих уведомлений раньше не было описано.
  • Вебхук — добавлены поля request_id, reply и duration; id и msg_id — строки, а не числа; добавлены правила доставки (одна попытка, без повторов, таймауты 5 секунд) и пример отклонённого сообщения.
  • Verify (OTP) — описан вебхук, который сообщает об отклонённом запросе.
  • В примерах запросов на страницах JSON API появились готовые к запуску сниппеты на cURL, PHP, Python и Node.js.
  • Команды receive, delete и price в HTTP API по ошибке были описаны как send.
  • Wap-Push больше не описан в документации.