Интеграция с АТС Aterisk (описание API)
Last updated
Last updated
Получение адреса для API запросов в CRM
Для приема звонков вам необходимо получить адрес для API запросов в CRM. Данный адрес содержит все необходимые данные для идентификации запроса. Адрес можно получить в разделе Компания - Интеграции - Asterisk
Отправка запроса
Запросы отправляются с помощью метода HTTP GET на адрес, полученный в пункте 1. Запросы нужно передавать вместе с параметрами из пункта 3
Параметры запроса
Параметр
Обяза тельный
Описание/ Значения
callid
да
Уникальный идентификатор звонка
phone
да
Номер телефона контакта (того кто звонит если звонок входящий, того кому звоним если исходящий)
user
нет
Уникальный идентификатор абонента АТС для сопоставления с менеджером в crm. Как правило используется внутренний номер (extension)
cmd
нет
Команда
event - Оповещение о событие
contact - Получение информации о контакте
responsible_ext - Определение внутреннего номера ответственного менеджера
Значение по умолчанию: event
type
нет
Состояние вызова
CONNECTING - Идет вызов (попытка соединения с одним или несколькими менеджерами, в т.ч. по очереди). Можно дополнительно указывать user для сохранения в истории звонка, с кем была попытка соединить
OUTGOING - Исходящий отвеченный вызов (момент поднятия трубки)
INCOMING - Входящий отвеченный вызов
INTERNAL - Внутренний отвеченный вызов
COMPLETED - Вызов завершен
CANCELLED - Вызов пропущен
Значение по умолчанию: CANCELLED
direction
нет
Направление вызова
in - входящий вызов
out - исходящий вызов
internal - внутренний вызов
Значение по умолчанию:
для type OUTGOING - out
для type INTERNAL - internal
во всех остальных случаях - in
diversion
нет
Номер телефона, на который клиент изначально совершал звонок, до соединения с менеджером. Публичный номер компании
recording_id
нет
Полный путь к файлу записи звонка
duration
нет
Общая продолжительность звонка
duration_talk
нет
Продолжительность разговора
Примеры запросов
GET https://api.macrocrm.ru/call/asterisk/<id>/<token>/<br></br>?cmd=responsible_ext&callid=1234567&phone=75551234567
Ответ: 101
GET https://api.macrocrm.ru/call/asterisk/<id>/<token>/<br></br>?cmd=contact&callid=1234567&phone=75551234567
Ответ: {"contact_name":"Иванов Иван", "responsible_ext":"101", "responsible_phone":"+7.5551234567"}
GET https://api.macrocrm.ru/call/asterisk/<id>/<token>/<br></br>?cmd=event&type=INCOMING&callid=1234567&phone=75551234567&user=101
### Отправить событие принятого исходящего звонка
GET https://api.macrocrm.ru/call/asterisk/<id>/<token>/<br></br>?cmd=event&type=OUTGOING&callid=1234567&phone=75551234567&user=101
### Отправить событие успешного завершения звонка
GET https://api.macrocrm.ru/call/asterisk/<id>/<token>/<br></br>?cmd=event&type=COMPLETED&callid=1234567<br></br>&phone=75551234567&user=101&recording_id=http://192.168.1.1/call/1234567/
### Отправить событие внутреннего звонка
GET https://api.macrocrm.ru/call/asterisk/<id>/<token>/<br></br>?cmd=event&type=<em>INTERNAL</em>&callid=1234567<br></br>&phone=75551234567&user=101
### Отправить событие пропущенного звонка
GET https://api.macrocrm.ru/call/asterisk/<id>/<token>/<br></br>?cmd=event&type=CANCELLED&callid=1234567&phone=75551234567&user=101
5. ДополненияВ MacroCRM не хранятся файлы записей разговоров. Но они могут быть доступны для прослушивания из CRM по ссылке. Ссылка не обязательно должна быть доступна из внешней сети, достаточно доступа из локальной сети, в которой работают менеджеры.
Ссылку можно передать в запросе с помощью параметра recording_id. Также в параметрах CRM можно указать шаблон для автоматической генерации ссылок. Если передан параметр recording_id, то шаблон будет игнорироваться.
В данных запросах, если ответственный менеджер для контакта не был найден, то будет возвращен id (внутренний номер) указанный в параметре user.
Для фиксирования внутренних вызовов в crm менеджер должен быть создан как контакт. В параметре phone нужно передавать номер телефона этого контакта.
С примером реализации можно ознакомиться в этой статье.