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

Text Campaign API

Text Campaign API — набор методов для управления динамическими текстовыми рассылками в вашем проекте. API позволяет внешним системам, СRM и другим сервисам управлять рассылками в ваших ботах.

С помощью Text Campaign API можно:

  • Получать список рассылок.
  • Создавать новые рассылки.
  • Получать, обновлять, останавливать или завершать рассылки.
  • Создавать, получать и удалять шаблоны рассылок.
  • Отправлять события по шаблону (с параметрами по умолчанию или пользовательскими).
  • Отправлять события без шаблона.
  • Отправлять ответы клиентам напрямую.
  • Просматривать историю рассылок и чатов.

Подробное описание методов, параметров запросов и форматов ответов представлено в спецификации.

Авторизация

Получите единый токен в разделе Доступ к API и используйте его в запросах как bearer-токен.

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

При использовании параметра callbackUrl в методах создания шаблонов или отправки сообщений вы будете получать уведомления о статусах доставки.

Структура callback-события

POST-запрос на callbackUrl содержит JSON-объект следующей структуры:

ПолеТипОписание
textCampaignIdЧислоID рассылки, в рамках которой было отправлено сообщение.
eventSendingTemplateIdСтрокаUUID шаблона отправки, если он использовался.
eventSendingInfoIdСтрокаUUID конкретной отправки сообщения.
statusСтрокаФинальный статус доставки сообщения. Возможные значения:
  • DELIVERED — доставлено.
  • NOT_DELIVERED — не доставлено.
  • FAILED — отправка не удалась. Обычно из-за ошибок на стороне платформы.
  • CANCELED — отменено.
eventSendingTimeСтрокаВремя отправки сообщения в формате ISO 8601.
errorChannelStatusСтрока

Код ошибки от канала, если status равен NOT_DELIVERED. Например: BAD_REQUEST, FORBIDDEN, TOO_MANY_REQUESTS.

Подробнее о возможных значениях errorChannelStatus читайте ниже.
errorChannelStatusDescriptionСтрокаТекстовое описание ошибки от канала.
questionIdСтрокаУникальный идентификатор запроса.
chatIdСтрокаИдентификатор чата с клиентом.
sessionIdСтрокаИдентификатор сессии диалога.
к сведению
  • При ошибке в каком-либо канале придет статус NOT_DELIVERED. Если ошибок несколько, то поле errorChannelStatus будет заполнено по первой возникшей ошибке.
  • Сообщение из нескольких частей, например текст и картинка, обрабатывается как единое целое. Если не доставлена хотя бы одна его часть, все сообщение получит статус NOT_DELIVERED.

Пример JSON-объекта

{
"textCampaignId": 42,
"eventSendingTemplateId": "12345678-abcd-4ef0-9012-345678901234",
"eventSendingInfoId": "abcdef01-2345-4678-9abc-def012345678",
"status": "NOT_DELIVERED",
"errorChannelStatus": "FORBIDDEN",
"errorChannelStatusDescription": "403 ERROR. Bot was blocked by the user.",
"eventSendingTime": "2024-01-15T10:30:00Z",
"questionId": "98765432-fedc-4ba9-8765-432109876543",
"chatId": "telegram:987654321",
"sessionId": "00000000-1111-2222-3333-444444444444"
}

Детализация статусов ошибок

При статусе NOT_DELIVERED поле errorChannelStatus содержит один из стандартизированных кодов ошибки. В таблице ниже показано соответствие этих кодов исходным ошибкам каналов.

Значение errorChannelStatusОписаниеИсходные коды ошибок каналов
BAD_REQUESTНекорректные данные: недопустимый формат номера, синтаксическая ошибка или отправка несуществующему пользователю.
  • Telegram: 400, 401, 404, 406
  • WhatsApp: 0, 1, 3, 33, 100, 131008, 131009, 131021, 131026, 132000
  • VK: 8, 100, 101, 113, 150
  • Viber: 1, 2, 3, 4, 5, 8, 9, 10
FORBIDDENДоступ запрещен: пользователь заблокировал бота, отключил уведомления, или отправитель в списке заблокированных.
  • Telegram: 403
  • WhatsApp: 10, 190, 200–299, 368, 130497, 131005, 131031
  • VK: 15, 18, 30
  • Viber: 6, 7
TOO_MANY_REQUESTSПревышение лимитов: слишком много запросов к API канала за единицу времени.
  • Telegram: 420
  • WhatsApp: 8007, 130429, 131048, 131056, 133016
  • VK: 6, 9, 29
  • Viber: 12, 23
INTERNAL_SERVER_ERRORТехническая ошибка: временная недоступность сервисов, проблемы с сетью или внутренние сбои.
  • Telegram: 500
  • WhatsApp: 2, 131000, 131016
  • VK: 10
  • Viber:
OTHER_ERRORSПрочие ошибки: специфические ошибки канала, не вошедшие в указанные выше категории.
  • Telegram: 303 и другие
  • WhatsApp: 131042, 131045, 131047, 131049, 131051–131053, 131057, 132001, 132005, 132007, 132012, 132015, 132016, 132068, 132069, 133000, 133004–133006, 133008–133010, 133015, 135000
  • VK: 1–5, 7, 8, 11, 14, 16, 17, 20, 23, 24, 27, 200, 201
  • Viber: 303
примечание

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