Интеграция с АТС Aterisk (описание API)

  1. Получение адреса для API запросов в CRM


Для приема звонков вам необходимо получить адрес для API запросов в CRM. Данный адрес содержит все необходимые данные для идентификации запроса. Адрес можно получить в разделе Компания - Интеграции - Asterisk

  1. Отправка запроса


Запросы отправляются с помощью метода HTTP GET на адрес, полученный в пункте 1. Запросы нужно передавать вместе с параметрами из пункта 3

  1. Параметры запроса


Параметр

Обяза тельный

Описание/ Значения

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

нет

Продолжительность разговора

  1. Примеры запросов


Определить внутренний номер ответственного менеджера

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, то шаблон будет игнорироваться.

**cmd=contact, cmd=**responsible_ext

В данных запросах, если ответственный менеджер для контакта не был найден, то будет возвращен id (внутренний номер) указанный в параметре user.

Фиксирование внутренних вызовов

Для фиксирования внутренних вызовов в crm менеджер должен быть создан как контакт. В параметре phone нужно передавать номер телефона этого контакта.

С примером реализации можно ознакомиться в этой статье.

Last updated