3.2.8 Перевод вызова
POST /vpbx/commands/transfer
API поддерживает два варианта перевода: перевод с консультацией и «слепой» перевод.
Перевод с консультацией предполагает постановку одного из участников на удержание, при этом второй участник совершает вызов консультанту. Как только переводящий завершает разговор с консультантом (вешает трубку), абонент, ожидающий на удержании, начинает разговор с консультантом. Переводящий может вернуться к разговору с удерживаемым абонентом.
В случае «слепого» перевода переводящий не совершает отдельного вызова и не ждет ответа консультанта. В процессе установления соединения с консультантом участвует только переводимый абонент. В случае если вызов к консультанту не завершается ответом, ВАТС предпримет попытку установления соединения с абонентом, выполнившим перевод.
Команда может применяться для вызовов, которые находятся в состоянии Connected, для выполнения слепого или консультативного перевода.
Входные параметры:
| № | Параметры | Тип | Обяза-тель-ный | Описание |
|---|---|---|---|---|
| 1 | command_id | string | Идентификатор команды (строка не более 128 байт). Формируется внешней системой. ВАТС никак не обрабатывает этот идентификатор, не анализирует и не полагается на уникальность его значения. Идентификатор можно использовать для связи команды с результатом ее выполнения и возможными последующими событиями, которые появляются в результате выполнения команды. | |
| 2 | call_id | string | Да | Внутренний идентификатор вызова, для которого выполняется перевод. Не имеет отношения к CALL-ID из SIP-протокола. |
| 3 | method | string | Строка, принимающая следующие возможные значения: "blind" – слепой перевод; "hold" – консультативный перевод. | |
| 4 | to_number | string | Цель перевода, номер вызываемого абонента (строка не более 128 байт). Может быть идентификатором сотрудника ВАТС, внутренним номером группы операторов ВАТС или любым другим номером. К номеру будут применены правила преобразования номеров ВАТС. | |
| 5 | initiator | Да | Участник разговора, от имени которого выполняется перевод. Должно быть заполнено значением одного из полей блока "from" или "to" переводимого вызова (например, "from.extension", "from.number", "to.extension", "to.number"). В ВАТС разрешены переводы только от имени сотрудника ВАТС. |
В процессе выполнения команды генерируется новый вызов. В случае консультативного перевода инициатор совершает консультативный вызов. В случае слепого перевода, соединение с инициатором завершается.
Для отмены любого перевода следует отправить команду Hangup для вновь сгенерированного вызова, при этом, в случае консультативного перевода вызов будет возвращен в состояние Connected, а в случае слепого перевода будет предпринята попытка соединения с инициатором.
Для соединения удерживаемого абонента и консультанта инициатор консультативного перевода должен повесить трубку.
Важно! Командой hangup соединить удерживаемого абонента и консультанта нельзя.
При звонке от А до B, и попытке консультативного перевода А от B на группу С, на которой включено удержание - метод hangup не завершит плечо между B и С, абонент B будет находится на удержании в группу C.
Пример консультативного перевода:

Пример запроса:
POST https://app.mango-office.ru/vpbx/commands/transfer
vpbx_api_key = 1234567890qwerty,
sign = 1234567890qwerty,
json = {
"command_id":"cmd.1.vpbx.12345.external.system.com.net",
"call_id":"100500",
"to_number":"74955404444",
"method":"hold" "initiator":"1234"
}
Пример слепого перевода:

Результат:
POST /vpbx/result/transfer
В результате обработки запроса, формируются и передаются JSON-данные, содержащие следующие параметры:
| № | Параметры | Тип | Обяза-тель-ный | Описание |
|---|---|---|---|---|
| 1 | command_id | string | Нет | Идентификатор команды (строка не более 128 байт). |
| 2 | result | Да | Результат выполнения команды маршрутизации от внешней системы. Ниже приведены некоторые возможные значения результата (полный список см. " Список кодов результатов "): - 1000 - команда перевода выполнена успешно; - 22хх - команда перевода ограничена биллинговой системой ВАТС; - 32хх - передан неверный номер либо команда перевода не может быть выполнена с этим номером; - 4001 - команда не поддерживается; - 4100 - перевод не предусмотрен для такого типа вызовов ВАТС; - 4101 - вызов завершен либо не существует; - 5ххх - ошибка сервера. |
Пример запроса:
POST https://app.mango-office.ru/vpbx/result/transfer
vpbx_api_key = 1234567890qwerty,
sign = 1234567890qwerty,
json =
{
"command_id": "cmd.2.vpbx.12345.external.system.com.net",
"result": "1000"
}