Методы для совершения звонков

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 - с российского номера. При всех остальных значениях поля будет произведен звонок с российского номера.

После успешного выполнения метода приходит параметр ***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», отличные от 31, 16 или 17 — номер недоступен.

Создание веб-хука для получения информации о звонке

Для того, чтобы получить на URL информацию о звонке (CDR) в привязке к вызову API, необходимо в разделе «Интеграции -> Веб-хуки» создать подписку на событие, следующий Веб-хук (пример заполнения):

В поле «Тело запроса» указываются внутри массива JSON список переменных, которые будут передаваться на URL. Просмотр событий также доступен в разделе «Мониторинг»