Отримати статус SMS
Метод дозволяє отримати інформацію про статус кампаній, надісланих через API. Він реалізований як для одиночного SMS, де показується статус одного повідомлення, так і для масової кампанії (за ID повідомлення, ID кампанії чи зовнішнім ID).
Щоб отримати статус SMS, надішліть запит на цей URL:
| GET https://api.bsg.world/rest/sms/{id} |
Параметри запиту:
| Параметр | Обовʼязковий | Тип | Опис |
|---|---|---|---|
| id | Так | integer | ID повідомлення — унікальний випадковий ідентифікатор, який генерується на платформі BSG і повертається під час створення обʼєкта |
або скористайтеся альтернативним запитом:
| GET https://api.bsg.world/rest/sms/reference/{reference} |
| Параметр | Обовʼязковий | Тип | Опис |
|---|---|---|---|
| reference | Так | integer | Зовнішній ID SMS. Рядок до 32 символів, що містить /a-zA-Z0-9/ |
Параметри відповіді:
| Параметр | Тип | Опис |
|---|---|---|
| id | integer | ID SMS |
| msisdn | integer | номер телефону, на який надіслано SMS |
| reference | string | Зовнішній ID SMS |
| time_in | datetime | дата й час створення SMS |
| time_sent | datetime | заплановані дата й час надсилання SMS |
| time_dr | datetime | Дата й час отримання звіту про доставлення |
| status | string | Статус SMS |
| price | float | Ціна SMS |
| currency | string | Валюта акаунта, у якій вказано ціну SMS |
Якщо запит успішний, ви отримаєте відповідь:
{
"error":0,
"errorDescription":"No errors",
"id":"211″,
"msisdn":"380972000001″,
"reference":"ext_id_19″,
"time_in":"2017-01-17 09:11:41″,
"time_sent":"2017-01-17 09:11:41″,
"time_dr":"2017-01-17 09:11:41″,
"status":"delivered",
"price":0.23,
"currency":"EUR"
}
URL запиту статусу SMS за ID завдання
| GET https://api.bsg.world/rest/sms/{task_id} |
Параметри запиту:
| Параметр | Обовʼязковий | Тип | Опис |
|---|---|---|---|
| task_id | Так | integer | Унікальний випадковий ідентифікатор, що створюється для масової кампанії. |
Параметри відповіді:
| Параметр | Тип | Опис |
|---|---|---|
| originator | string | Імʼя відправника |
| body | string | Текст SMS-повідомлення |
| validity | string | Термін дії SMS-повідомлення |
| totalprice | float | Ціна SMS-кампанії |
| currency | string | валюта акаунта користувача, у якій вказано вартість надсилання SMS-кампанії. |
| sent | integer | кількість повідомлень, надісланих у межах SMS-кампанії. |
| delivered | integer | кількість доставлених повідомлень у межах SMS-кампанії. |
| expired | integer | кількість недоставлених повідомлень (телефон отримувача вимкнено) у межах SMS-кампанії. |
| undeliverable | integer | кількість недоставлених повідомлень (некоректний номер телефону отримувача) у межах SMS-кампанії. |
| unknown | integer | кількість повідомлень у межах SMS-кампанії з невідомим статусом — немає звіту про доставлення. |
Якщо запит успішний, ви отримаєте відповідь:
{
"originator":"alpha_name",
"body":"message text",
"validity":72,
"totalprice":0.23,
"currency":"EUR",
"sent":1,
"delivered":1,
"expired":0,
"undeliverable":0,
"unknown":0
}
Помилки, актуальні для всіх типів SMS-розсилок
20 — SMS не знайдено
21 — некоректний номер телефону
22 — відсутній зовнішній ID запиту SMS
23 — SMS із таким ID вже існує
24 — некоректне тіло запиту
25 — некоректний відправник
26 — порожній або надто довгий текст SMS
27 — некоректний зовнішній ID SMS
28 — некоректне значення терміну дії SMS
29 — некоректний ID завдання
30 — завдання не знайдено
31 — телефон уже є у списку розсилки
32 — відправник не дозволений
33 — недозволений напрямок
34 — недійсний OTP, помилка генерації коду
35 — сервіс 2WAY не активовано
36 — некоректний відправник для 2WAY
Приклад відповіді з помилкою:
{
"error":"25",
"errorDescription":"Invalid originator"
}