Центр допомоги Сумісність GMS API

Сумісність GMS API

SMSBAT підтримує рівень сумісності з GMS API. Це дає змогу перенести ваші існуючі інтеграції, розроблені для GMS, безпосередньо до SMSBAT без необхідності змінювати схеми маршрутизації повідомлень, структури корисного навантаження чи прослуховувачів зворотних викликів.


Параметри підключення

Щоб направляти запити через SMSBAT, оновіть базову URL-адресу та облікові дані автентифікації у вашій інтеграції:

  • Базова URL-адреса: https://restapi.smsbat.com
  • Кінцева точка: POST /api/GMSMessage/send_message
  • Формат запиту: application/json
  • Автентифікація: Базова автентифікація HTTP (використовує ваші облікові дані SMSBAT API)

Параметри запиту

API сумісності GMS приймає об’єкт JSON із такими параметрами верхнього рівня:

ПараметрТипНеобхідноОпис
номер_телефонурядокТакНомер телефону одержувача в міжнародному форматі (наприклад, 380501234567).
тегрядокТакЗареєстроване ім’я відправника/альфа-ім’я.
каналимасивТакСписок каналів, які слід спробувати, у порядку пріоритету. Підтримувані значення: viber, sms, push. Наприклад, ["viber", "sms"].
параметри_каналуоб’єктТакКарта з параметрами для кожного активного каналу (див. нижче).
extra_idрядокНіВаш внутрішній ідентифікатор повідомлення на стороні клієнта.
url-адреса_зворотного викликурядокНіURL-адреса кінцевої точки у вашій системі для отримання зворотних викликів про стан доставки.
код_підрозділурядокНіДодатковий ідентифікатор коду підрозділу (за замовчуванням main).

Налаштування параметрів каналу

Об’єкт channel_options містить конфігурації для конкретного каналу.

Використовується, коли viber указано в масиві channels.

ПараметрТипНеобхідноОпис
текстрядокТакОсновний текст повідомлення.
ttlцілеТакТермін життя в секундах.
imgрядокНіЗагальнодоступна URL-адреса HTTPS зображення для відображення.
підписрядокНіТекстова мітка кнопки.
діярядокНіЦільова URL-адреса після натискання кнопки.
параметри опитуваннямасивНіМасив рядків (від 2 до 5 елементів) для відображення як параметрів опитування.
carousel_itemsмасивНіМасив об’єктів слайдів для відображення як каруселі Viber (див. структуру на вкладці).

Приклад запиту Viber:

{
  "phone_number": "380501234567",
  "tag": "MySender",
  "channels": ["viber"],
  "channel_options": {
    "viber": {
      "text": "Hello from SMSBAT!",
      "ttl": 60,
      "img": "https://www.example.com/image.png",
      "caption": "Open",
      "action": "https://www.example.com"
    }
  }
}

Формат відповіді

Кінцева точка повертає відповіді у форматі JSON із кодом статусу «HTTP 200 OK».

Успішна відповідь

{
  "MessageId": "6f0d5e28-7f3a-4df3-91a2-3d58d9e09b9a",
  "ErrorCode": null,
  "ErrorText": null
}

Відповіді на помилки

Якщо перевірка чи обробка не вдасться, буде повернено відповідь про помилку з ненульовим ErrorCode і детальним ErrorText.

{
  "MessageId": "00000000-0000-0000-0000-000000000000",
  "ErrorCode": 10221,
  "ErrorText": "This type of Message is not supported by the system"
}

Формат доставки зворотного виклику

Якщо у запиті вказано callback_url, SMSBAT надсилає оновлення статусу доставки як корисне навантаження JSON POST до вашої кінцевої точки.

Приклад запиту зворотного виклику

POST /your-callback-endpoint HTTP/1.1
Host: yoursystem.com
Content-Type: application/json

{
  "number": "380501234567",
  "time": 1719237600000,
  "status": 2,
  "substatus": 23,
  "hyber_status": 23033,
  "message_id": "6f0d5e28-7f3a-4df3-91a2-3d58d9e09b9a",
  "extra_id": "ORDER-12345",
  "sent_via": "viber",
  "matching_template_id": 0
}

Опис полів зворотного виклику

ПолеТипОпис
числорядокНомер телефону отримувача.
часномерМітка часу події в мілісекундах Unix.
статусномерСпрощений ідентифікатор статусу (див. Таблицю кодів статусу).
підстатусномерДетальний ідентифікатор статусу (див. Таблицю кодів підстанусу).
hyber_statusномерДетальний внутрішній код статусу SMSBAT (див. таблицю стану Hyber).
id_повідомленнярядокІдентифікатор повідомлення SMSBAT (GUID), створений під час надсилання.
extra_idрядокІдентифікатор клієнта, указаний у вихідному запиті.
sent_viaрядокКанал, який обробив повідомлення: viber, sms або rcs.
відповідний_ідентифікатор_шаблонуномерСтатус відповідності шаблону Viber (якщо застосовно).

Відображення статусу

1. Спрощений статус (статус)

КодЗначення
1Повідомлення прийнято або доставляється.
2Повідомлення доставлено.
3Помилка обробки або доставки.

2. Детальний статус (підстатус)

КодЗначення
12Прийнято в переробку.
23Доставлено.
24Бачив/прочитав.
35Не доставлено протягом TTL (термін дії минув).
36Помилка доставки.

3. Тип каналу (sent_via)

КаналОпис
viberСтатус створений каналом Viber.
smsСтатус, вироблений SMS-каналом.
rcsСтатус створено каналом RCS.

4. Детальний статус SMSBAT (hyber_status)

КодКаналСтатусПідстатусЗначення
23033viber223Повідомлення Viber доставлено.
24013viber224Повідомлення Viber прочитано одержувачем (Seen).
36013viber336Внутрішня помилка Viber.
36023viber336Недійсний або недоступний ID служби Viber.
36033viber336Недійсні дані Viber.
36037viber336URL-адреса зображення Viber задовга.
36038viber336Недійсна URL-адреса зображення Viber.
36039viber336Текст Viber задовгий.
36044viber336Порожній текст Viber.
36053viber336Непідтримуваний тип повідомлення Viber.
36063viber336Недійсні параметри Viber.
36073viber336Тайм-аут провайдера Viber.
36083viber336Відправник Viber заблокований одержувачем.
36093viber336Одержувач не зареєстрований як користувач Viber.
36103viber336Пристроїв Android/iOS із підтримкою Viber не знайдено.
36113viber336Неавторизована IP-адреса для надсилання Viber.
36123viber336Виявлено дублікат повідомлення Viber.
36143viber336Помилка оплати Viber.
36153viber336Повідомлення заблоковано в чорному списку платформи.
36163viber336Внутрішня помилка обробки платформи Viber.
36173viber336Неправильна або відсутня мітка Viber.
36183viber336Недійсне значення TTL Viber.
12011sms / rcs112Приймаються SMS/RCS.
36011sms / rcs112SMS/RCS в дорозі.
23011sms / rcs223SMS/RCS доставлено.
35015sms / rcs335Термін дії SMS/RCS закінчився (не доставлено протягом TTL).
36021sms / rcs336SMS/RCS повідомлення видалено.
36031sms / rcs336Неможливо доставити SMS/RCS.
36041sms / rcs336Невідомий статус доставки SMS/RCS.
36051sms / rcs336SMS/RCS повідомлення відхилено.