Популярные статьи
- Почему скорость 4G/LTE интернета может быть низкой?
1670 просмотра
- 💰 Как проверить баланс
1310 просмотра
- Как правильно набирать номер телефона?
1201 просмотра
- Как прослушать голосовую почту
508 просмотра
Метод Call-verify — Авторизация пользователя через звонок
Вместо отправки SMS-кода пользователь звонит на выданный ему номер. Сам факт звонка подтверждает, что пользователь действительно имеет доступ к указанному номеру телефона.
Как это работает
-
Ваш сайт отправляет API два параметра:
- номер телефона пользователя;
- сколько времени ждать звонок (
sessionTtlMs).
-
API возвращает номер телефона для звонка.
Этот номер нужно показать пользователю на сайте.
-
Пользователь звонит на этот номер.
-
Если звонок поступил в отведённое время:
- авторизация считается успешной;
- вам приходит веб-хук
Авторизационный звонок (Call Verify)со статусом успеха.
-
Если пользователь не позвонил до окончания времени сессии:
- авторизация считается неуспешной;
- вам приходит веб-хук со статусом неуспеха.
- При этом неуспешная попытка тоже тарифицируется.
Схема:
Ваш сайт → передаёт номер пользователя → получает номер для звонка → показывает его пользователю → пользователь звонит → ваш веб-хук получает результат авторизации.
curl -X'POST' \'https://paidmethods.mcn.ru/api/v2/protected/auth/call-verify' \
-H'accept: application/json' \
-H'Content-Type: application/json' \
-H'Sec-Fetch-Mode: cors' \
-d'{ "userPhoneNumber": "string", "sessionTtlMs": 1}'
URL метода : https://paidmethods.mcn.ru/api/v2/protected/auth/call-verify
Запрос:
{
"userPhoneNumber": "79312345678",
"sessionTtlMs": 100
}
API отвечает:
{
"sessionId": "b803e6e94146_139245",
"phoneNumber": "74959876543",
"expiresAt": "2026-09-24T07:35:55.665Z"
}
То есть пользователю нужно показать:
Позвоните на номер +7 495 987-65-43
После звонка ваш сервер получит результат через настроенный веб-хук «Авторизационный звонок (Call Verify)».
Важно: phoneNumber в ответе — это номер, на который звонит пользователь, а userPhoneNumber в запросе — номер самого пользователя.
Пример успешного запроса.
{
"linkedId": "119-1790236307.926540",
"accountId": 139245,
"occurredAt": "2026-09-24T07:51:47.584Z",
"poolPhoneNumber": "74959876543",
"idempotencyKey": "3780cdc9-014b-4be0-98cb-9cd57cc4f220",
"userPhoneNumber": "79312345678",
"isConfirmed": true,
"eventType": "callVerify",
"sessionId": "9a738796f749_139245",
"callerPhoneNumber": "79312345678"
}
Где:
isConfirmed: true— пользователь успешно подтвердил номер;callerPhoneNumber— номер, с которого фактически поступил звонок;userPhoneNumber— номер, который изначально передали на проверку;poolPhoneNumber— номер, на который должен был позвонить пользователь;sessionId— идентификатор конкретной сессии проверки.
Пример неуспешного запроса.
{
"linkedId": null,
"accountId": 139245,
"occurredAt": "2026-09-24T07:35:56.102Z",
"poolPhoneNumber": "74959876543",
"idempotencyKey": "7d29db08-48bd-4926-91ed-c02eae6a0d57",
"userPhoneNumber": "74959876543",
"isConfirmed": false,
"eventType": "callVerify",
"sessionId": "b803e6e94146_139245",
"callerPhoneNumber": null
}
Где:
isConfirmed: false— проверка не пройдена;callerPhoneNumber: null— звонка от пользователя не было;- сессия завершилась по таймауту.