Перейти до основного вмісту

Відправка OTP коду (WhatsApp)

Приклад запиту для відправки одноразового пароля (OTP) через WhatsApp.

warning

WhatsApp не є окремим типом повідомлення. Запит із type: whatsapp відхиляється з помилкою Invalid message type.

WhatsApp існує лише як етап пайплайну: ви надсилаєте запит із type: pipeline і перелічуєте whatsapp серед його етапів. Усе інше — адреса, ключ, формат відповіді — таке саме, як у будь-якого іншого методу JSON API.

URI: https://alphasms.ua/api/json.php

Усі запити до API надсилаються у форматі JSON за допомогою методу POST.

Параметри заголовків

У запитах обов'язково має бути заголовок Content-Type: application/json, інакше запит буде вважатися некоректним навіть при валідному JSON у ньому.

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

{
"auth": "bb56a4369eb19***cfec6d1776bd25",
"data": [
{
"type": "pipeline",
"pipeline": [
"whatsapp"
],
"id": 100500,
"phone": 380971234567,
"whatsapp": {
"signature": "SenderID",
"message": "Ваш код 1234"
}
}
]
}

Приклади відповіді

HTTP Status Code: 200
Content Type: JSON application/json

{
"success": true,
"data": [
{
"success": true,
"data": {
"msg_id": 123456789
}
}
]
}
примітка

Перехід на запасний канал. Перелічіть канали в тому порядку, в якому їх треба пробувати, і додайте параметри кожного етапу. Шлюз резервує вартість найдорожчого етапу, а різницю повертає після фактичної доставки.

{
"type": "pipeline",
"pipeline": ["whatsapp", "sms"],
"id": 100500,
"phone": 380971234567,
"whatsapp": { "signature": "SenderID", "message": "Ваш код 1234" },
"sms": { "signature": "SenderID", "message": "Ваш код 1234" }
}

Повний перелік етапів та їх параметрів — на сторінці Багатоканальна доставка повідомлень.

warning

WhatsApp має бути увімкнений у вашому маршруті — шлюз і ціну призначає ваш менеджер. Без них будь-який пайплайн із whatsapp відповідає No route.

Етап whatsapp API не перевіряє. Якщо signature або message не передати, запит усе одно буде прийнято й оплачено, а повідомлення піде порожнім. Перевіряйте обидва поля на своєму боці до відправлення.

Статус доставки запиту pipeline іде на адресу сповіщень із налаштувань API — див. Звіт про доставку на URL: hook шлюз для цього типу не зберігає.

примітка

У асинхронного API адреса з hook все ж використовується в одному випадку: відмова у прийомі повідомлення (No route, нестача коштів, помилка валідації) приходить туди окремим вебхуком зі status: REJECTED.