Методы для совершения звонков
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. Просмотр событий также доступен в разделе «Мониторинг»
Статья помогла?
Отлично!
Спасибо за ваш отзыв
Извините, что не удалось помочь!
Спасибо за ваш отзыв
Комментарий отправлен
Мы ценим вашу помощь и постараемся исправить статью