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

Wait Call

Wait Call – это способ подтверждения номера телефона с помощью исходящего звонка, который совершает сам пользователь. Услуга предназначена для авторизации, верификации или подтверждения действий, аналогично SMS-коду или Telegram Gateway, но реализуется через телефонный звонок.

Отправка осуществляется через общий метод отправки сообщений POST /api/message.

Как это работает​

  1. Клиент вводит свой номер телефона на сайте или в мобильном приложении.
  2. Система предлагает пользователю сделать звонок
на авторизационный номер телефона.
  3. Происходит дозвон и сброс. Если введённый номер совпал с номером, с которого осуществлялся звонок, система его авторизует.

В этом режиме пользователю необходимо просто позвонить на указанный номер. Звонок будет сброшен, а вы получите информацию о том, был ли звонок совершен. Подходит для максимально быстрой авторизации без участия пользователя в интерфейсе.

Пример запроса:

curl -X POST "https://cp.redsms.ru/api/message" \
-H "login: <USERNAME>" \
-H "ts: ts-value-42" \
-H "secret: $(echo -n 'ts-value-42<API_KEY>' | md5sum | awk '{print $1}')" \
-H "Content-type: application/json" \
-d '{
"route": "wcall",
"to": "+79993332211",
}'

Пример тела ответа:

{
"items": [
{
"uuid": "af19b73c-0c01-11ef-8136-0242ac120002",
"status": "created",
"status_time": 1715763320,
"to": "+79993332211",
"replacedFrom": "+79160001122"
}
],
"errors": [],
"count": 1,
"success": true
}
примечание

В ответе поле replacedFrom содержит номер, на который должен позвонить пользователь.

Статус доставки​

Статус можно получить через метод GET /api/message/{uuid} или Webhook:

СтатусЗначение
wcall_deliveredПользователь успешно совершил звонок на указанный номер
timeoutПользователь не совершил звонок в течение заданного времени жизни сообщения

Примечания​

  1. Тарифицируются все отправленные запросы.
  2. Если параметр text не указан, то для отправки выбирается режим без озвучивания кода.
  3. Номер, на который необходимо совершить звонок, всегда указывается в ответе в поле replacedFrom.
  4. Можно задать время жизни сообщения — если в течение этого времени пользователь не совершит звонок, сообщение получит статус timeout.
  5. Логика подтверждения зависит от режима:
    • В режиме без кода: подтвердить авторизацию по факту звонка (delivered).
    • В режиме с кодом: пользователь должен ввести полученный по звонку код.