Популярные статьи
- Как правильно набирать номер телефона?
1827 просмотра
- Почему скорость 4G/LTE интернета может быть низкой?
1706 просмотра
- 💰 Как проверить баланс
1645 просмотра
- Как прослушать голосовую почту
690 просмотра
Call-verify — Авторизация пользователя через звонок
Вместо отправки SMS-кода пользователь звонит на выданный ему номер. Сам факт звонка подтверждает, что пользователь действительно имеет доступ к указанному номеру телефона.
Как это работает
-
Ваш сайт отправляет API два параметра:
- номер телефона пользователя;
- сколько времени ждать звонок (
sessionTtlMs).- Максимальная длина сессии — 300000 (5 минут).
-
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— звонка от пользователя не было;- сессия завершилась по таймауту.
-
Так же результат вызванного метода можно посмотреть по API методу
curl -X 'GET'
'https://paidmethods.mcn.ru/api/v2/protected/auth/call-verify/{sessionId}'
-H 'accept: application/json'Пример успешного запроса.
{ "sessionId": "9558f7a09e3e_13945", "status": "confirmed", "phoneNumber": "74951059459", "callerPhoneNumber": "79311110781", "linkedId": "119-179196177.7708040", "confirmedAt": "2026-10-14T08:39:37.583Z", "expiresAt": "2026-10-14T08:44:13.089Z" }Пример неуспешного (истекшего) запроса.
{ "sessionId": "73b0705bc72d_139245", "status": "expired", "phoneNumber": "74951090216", "callerPhoneNumber": null, "linkedId": null, "confirmedAt": null, "expiresAt": "2026-10-14T08:51:57.628Z" }Пример, когда ожидается звонок.
{"sessionId":"73b0705bc72d_139245", "status":"pending", "phoneNumber":"74951090216", "callerPhoneNumber":null, "linkedId":null, "confirmedAt":null, "expiresAt":"2026-10-14T08:51:57.628Z"} -
Удаление сессии , если вдруг перепутали номер и сессия больше не нужна.
curl -X 'DELETE'
'https://paidmethods.mcn.ru/api/v2/protected/auth/call-verify/{sessionId}'
-H 'accept: /'Успешный ответ будет с кодом 204.
Пример неуспешного запроса.
{ "code": "verification_not_found", "message": "Call verification not found", "details": { "verificationId": "550e8400-e29b-41d4-a716-446655440000" } }