Методы для совершения звонков
1. Метод post /account/{account_id}/call_for_2fa в разделе “API” > “Работа с телефонией”
Метод позволяет совершить звонок с ПОДКЛЮЧЕННОГО клиентом номера на любой другой номер. Звонок после поднятия трубки сразу будет сброшен, звонок будет бесплатный, но сам вызов метода стоит 1 копейку.
Пример вызова метода:
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer <ТОКЕН>' 'https://api.mcn.ru/v2/rest/account/12345678/call_for_2fa?caller_did=79158888888&login_did=79157777777'
Параметры метода:
account_id - ЛС клиента. Именно с на этом ЛСе должен быть номер, с которого звоним и именно на нем произойдет списание денег за услугу.
caller_did - номер телефона, подключенный на ЛСе из account_id с которого будет происходит звонок.
login_did - номер, на который будет совершен звонок.
2. «Старый» Метод post /account/{account_id}/flash_call в разделе “API” > “Работа с телефонией”
Метод позволяет совершить звонок для идентификации. Клиенту никаких номеров подключать для этого не нужно, звонки идут с наших номеров. Звонок после поднятия трубки сразу будет сброшен, звонок будет бесплатный, но сам вызов метода стоит от 15 копеек, если он происходит с российского номера и 45 копеек, если он происходит со словацкого номера. По умолчанию мы звоним на российский номер с российского номера и на номер любой другой страны со словацкого номера, но этим можно управлять с помощью настроек. Метод связывает запрос API с конкретным звонком с помощью верификационного кода, о нем будет сказано после описания параметров метода.
Пример вызова метода:
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer <ТОКЕН>' 'https://api.mcn.ru/v2/rest/account/12345678/flash_call?login_did=79157777777'
Параметры метода:
account_id - ЛС клиента. Именно с на этом ЛСе должен быть номер, с которого звоним и именно на нем произойдет списание денег за услугу.
login_did - номер, на который будет совершен звонок.
code - авторизационный код. 4 цифры, на которые будет заканчиваться номер, с которого происходит звонок ЕСЛИ это поле заполнено. Если поле не заполнено - произойдет звонок со случайного номера.
country_id - код страны. Если поле пустое - мы звоним на российский номер с российского номера и на номер любой другой страны со словацкого номера. Если задано значение 703 - будет произведен звонок со словацкого номера, если задано значение 643 - с российского номера (звонки с российских номеров работают только для звонков на российские номера). При всех остальных значениях поля будет произведен звонок с российского номера.
После успешного выполнения метода приходит ответ формата:
{
"status": "success",
"code": 200,
"object": {
"login_did": "7777777777",
"code": "2463",
"account_id": "117793",
"verification_call_uuid": "119214e015ed_117793"
}
}
1. Параметр status — статус запроса. Success — успех.
2. Параметр code. 200 — успех. Коды стандартные HTTP.
3. Параметр login_did — номер, на который совершен звонок.
4. Параметр code — четырехзначный код для авторизации.
5. Параметр account_id — лицевой счет, с которого был отправлен запрос и на котором произошло списание по тарифу для flash call.
6. Параметр verification_call_uuid — верификационный код. Он выглядит следующим образом (пример) “`fa278be48dc2_117793`», где первая часть кода до символа “_” — идентификатор звонка, а цифры после символа “_” — ЛС клиента. Код нужен, чтобы связать данные о звонке (CDR) с конкретным случаем вызова API. Чтобы получать данные о звонке, нужно в разделе “Интеграции” подключить веб-хук “Flash call” и тогда на указанный URL будет приходить информация о звонке. В данных о звонке верификационный код, связывающий его с конкретным вызовом API можно по параметру «verification_call_uuid»: «fa278be48dc2_117793”.
Callback — статусы верификационного звонка
Отвеченный звонок
«q931_status»: 16,
«final_status»: «ANSWERED»
Занято
«q931_status»: 17,
«final_status»: «NO ANSWER»
Неотвеченный звонок
«q931_status»: 16,
«final_status»: «NO ANSWER»
Не прохождени вызова в системе окс7, вызов отклонил встречный оператор
«q931_status»: 31
Не прохождение звонка из-за проблем биллинга
«q931_status»: 41
Все прочие коды «q931_status», отличные от 31, 16 или 17 — номер недоступен.
3. «Новый» POST /api/protected/api/auth/flashcall в разделе “Интеграции” > “Методы API” > “Платные методы”
Метод позволяет совершить звонок для идентификации. Клиенту никаких номеров подключать для этого не нужно, звонки идут с наших номеров. Звонок после поднятия трубки будет сброшен после прослушивания небольшого голосового файла, звонок будет бесплатный, но сам вызов метода стоит от 15 копеек, если он происходит с российского номера и от 60 копеек, если он происходит со словацкого номера. По умолчанию мы звоним на российский номер с российского номера и на номер любой другой страны со словацкого номера, но этим можно управлять с помощью настроек. Метод связывает запрос API с конкретным звонком с помощью верификационного кода, о нем будет сказано после описания параметров метода.
Пример вызова метода:
curl -X 'POST' \
'https://paidmethods.mcn.ru/api/protected/api/auth/flashcall' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Sec-Fetch-Mode: cors' \
-H 'Authorization Bearer <ТОКЕН>' \
-d '{
"login_did": "79777777777",
"country_id": 643,
"verification_code": "1234",
"is_with_redirect": false
}'
Параметры метода:
login_did - номер клиента, на который будет совершен вызов.
country_id - код страны. Если поле пустое - мы звоним на российский номер с российского номера и на номер любой другой страны со словацкого номера. Если задано значение 703 - будет произведен звонок со словацкого номера, если задано значение 643 - с российского номера (звонки с российских номеров работают только для звонков на российские номера). При всех остальных значениях поля будет произведен звонок с российского номера.
verification_code - авторизационный код. 4 цифры, на которые будет заканчиваться номер, с которого происходит звонок ЕСЛИ это поле заполнено. Если поле не заполнено - произойдет звонок со случайного номера.
is_with_redirect - включена ли проверка на переадресацию на номере. True - включена, fasle - выключена.
После успешного выполнения метода приходит ответ формата:
{
"ok": true,
"result": {
"login_did": "79777777777",
"account_id": 123456,
"code": "1234",
"country_id": 703,
"verification_call_uuid": "25859bff5ed9_117793"
}
}
1. Параметр ok — статус запроса. True — успех.
2. Параметр login_did — номер, на который совершен звонок.
3. Параметр account_id — лицевой счет, с которого был отправлен запрос и на котором произошло списание по тарифу для flash call.
4. Параметр code — четырехзначный код для авторизации.
5. Параметр country_id — код страны (см. выше).
6. Параметр verification_call_uuid — верификационный код. Он выглядит следующим образом (пример) “`fa278be48dc2_117793`», где первая часть кода до символа “_” — идентификатор звонка, а цифры после символа “_” — ЛС клиента. Код нужен, чтобы связать данные о звонке (CDR) с конкретным случаем вызова API. Чтобы получать данные о звонке, нужно в разделе “Интеграции” подключить веб-хук “Flash call” и тогда на указанный URL будет приходить информация о звонке. В данных о звонке верификационный код, связывающий его с конкретным вызовом API можно по параметру «verification_call_uuid»: «fa278be48dc2_117793”.
Callback — статусы верификационного звонка
Отвеченный звонок
«q931_status»: 16,
«final_status»: «ANSWERED»
Занято
«q931_status»: 17,
«final_status»: «NO ANSWER»
Неотвеченный звонок
«q931_status»: 16,
«final_status»: «NO ANSWER»
Не прохождени вызова в системе окс7, вызов отклонил встречный оператор
«q931_status»: 31
Не прохождение звонка из-за проблем биллинга
«q931_status»: 41
Все прочие коды «q931_status», отличные от 31, 16 или 17 — номер недоступен.
Создание веб-хука для получения информации о звонке
Для того, чтобы получить на URL информацию о звонке (CDR) в привязке к вызову API, необходимо в разделе «Интеграции», подразделе «Веб-хуки» создать подписку на событие, следующий Веб-хук (пример заполнения):
В поле «Тело запроса» указываются внутри массива JSON список переменных, которые будут передаваться на URL. Просмотр событий также доступен в разделе «Мониторинг»