Запросы от IP АТС к CRM

Приблизительное время чтения: 4 минуты

Принцип авторизации и взаимодействия #

HTTPS:
Запросы к IP АТС принимаются только по протоколу HTTPS. Это обеспечивает достаточный уровень безопасности для общения систем через Интернет.
В целях безопасности ваших данных, пожалуйста, реализуйте прием запросов на стороне CRM также с использованием HTTPS.


Ключ (token):
Дополнительно для авторизации каждого запроса к IP АТС используется специальный ключ (token). Получить его можно в веб-интерфейсе IP АТС.
Пожалуйста, реализуйте прием запросов на стороне CRM также с использованием ключа (token). Сгенерируйте ключ и вставьте его в соответствующей поле в разделе IP АТС: УПРАВЛЕНИЕ Настройки сервера REST API . Ключи создаются один раз при настройке интеграции. При необходимости, вы можете сменить ключ на своей стороне и обновить его интерфейсе IP АТС.

Для отправки всех запросов используется метод POST, данные отправляются с типом application/x-www-form-urlencoded. В теле сообщений IP АТС будет передавать указанный вами ключ (crm_token) в личном кабинете.
Все ответы на запросы от IP АТС CRM должна присылать в формате JSON (application/json).

Список команд API #

Команда history (POST)

После успешного звонка в CRM отправляется запрос с данными о звонке и ссылкой на запись разговора. Команда может быть использована для сохранения в данных ваших клиентов истории и записей входящих и исходящих звонков.

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

ИмяОписаниеТип данныхОбязательный параметр
cmdтип операции, в данном случае historystringда
typeтип звонка in/out (входящий/исходящий)stringда
userидентификатор пользователя АТС (необходим для сопоставления на стороне CRM)stringда
extвнутренний номер пользователя АТС Asteriskstringда
groupRealNameимя внутреннего номера, название группы, название маршрута, если был исходящий вызов.stringда
telnumномер для переадресации вызова у вн номераstringнет
phoneномер телефона клиента, с которого или на который произошел звонокstringда
diversionномер телефона IP АТС (DID), через который пришел входящий вызовstringда
startвремя начала звонка в формате YYYY-MM-DD HH:MM:SSstringда
durationобщая длительность звонка в секундахstringда
callidуникальный id звонка – Asterisk (uniqueid)stringда
linkссылка на запись звонка в формате .mp3stringда
moduleтип модуля из сценария входящего звонка: exten, group, queue для исходящего звонка: extenstringда
crm_tokenключ (token) от CRM, установленный в настройкахstringда
statusстатус входящего/исходящего звонкаstringда

Статусы звонка

  • Success – Успешный входящий (исходящий) звонок;
  • Missed – пропущенный входящий звонок;
  • Cancel – исходящий звонок отменен;
  • Busy – получен ответ «Занято» входящий (исходящий);
  • NotAvailable – получен ответ «Абонент недоступен» (только исходящий);
  • NotAllowed – получен ответ «Звонки на это направление запрещены» (только исходящий);
  • NotFound – получен ответ «Вызываемый абонент не найден, нет такого SIP номера» (только исходящий).
Параметры ответа
Код ответаВозвращаемое значениеОписание
200OK
400{ “error”: “Invalid parameters” }Переданы некорректные параметры
401{ “error”: “Invalid token” }Передан неверный ключ (token)
Пример запроса исходящего звонка:
{
    "cmd": "history",
    "type": "out",
    "user": "Иванов Иван",
    "ext": "601",
    "groupRealName": "Мегафон",
    "telnum": "",
    "phone": "79160001122",
    "diversion": "73412900900",
    "start": "2024-02-07 22:21:28",
    "duration": "122",
    "callid": "1707333687.2996",
    "link": "https://demo.boxpbx.ru/audio/2024/02/07/601-79160001122-20240207-222127-1707333687.2996.mp3",
    "module": "exten",
    "crm_token": "28mh-bkgfbku-ra3jd",
    "status": "Success"
}
Пример запроса входящего звонка:
{
    "cmd": "history",
    "type": "in",
    "user": "ОП Н.Новгород группа",
    "ext": "603",
    "groupRealName": "ОП Н.Новгород группа",
    "telnum": "",
    "phone": "79160001122",
    "diversion": "73412900900",
    "start": "2024-02-08 00:12:14",
    "duration": "40",
    "callid": "1707336733.3012",
    "link": "https://demo.boxpbx.ru/audio/2024/02/08/79160001122-73412900900-20240208-001214-1707336733.3012.mp3",
    "module": "group",
    "crm_token": "28mh-bkgfbku-ra3jd",
    "status": "Success"
}

Команда event (POST)

С помощью команды event IP АТС отправляет в CRM уведомления о событиях звонков пользователям: появлении, принятии или завершении звонка. Команда может быть использована для отображения всплывающей карточки клиента в интерфейсе системы CRM.

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

ИмяОписаниеТип данныхОбязательный параметр
cmdтип операции, в данном случае eventstringда
typetype – это тип события, связанного со звонком, список событий:
INCOMING – Поступил входящий звонок (у сотрудника должен начать звонить IP телефон в это время)
CANCELLED – Звонок сброшен, в этот момент можно убрать всплывающую карточку контакта в CRM
COMPLETED – Звонок завершен (менеджер или клиент положили трубку после разговора)
OUTGOING – Менеджер совершает исходящий звонок (АТС пытается дозвониться до клиента)
TRANSFERRED – Входящий звонок переведен (безусловным переводом) на другого сотрудника
stringда
phoneномер телефона клиента, с которого или на который произошел звонокstringда
diversionномер телефона IP АТС (DID), через который пришел входящий вызовstringда
userидентификатор пользователя АТСstringнет
groupRealNameимя внутреннего номера, название группы, название маршрута, если был исходящий вызов.stringда
extвнутренний номер пользователя АТС Asteriskstringда
telnumномер для переадресации вызова у вн номераstringнет
directionтип звонка in/out (входящий/исходящий)stringда
callidуникальный id звонка – Asterisk (uniqueid)stringда
crm_tokenключ (token) от CRM, установленный в настройкахstringда
Параметры ответа
Код ответаВозвращаемое значениеОписание
200OK
400{ “error”: “Invalid parameters” }Переданы некорректные параметры
401{ “error”: “Invalid token” }Передан неверный ключ (token)
Пример запроса исходящего звонка:
{
    "cmd": "event",
    "type": "OUTGOING",
    "phone": "79160001122",
    "diversion": "73412900900",
    "user": "Иванов Иван",
    "groupRealName": "",
    "ext": "603",
    "telnum": "",
    "direction": "out",
    "callid": "1707333687.2996",
    "crm_token": "28mh-bkgfbku-ra3jd"
}
{
    "cmd": "event",
    "type": "COMPLETED",
    "phone": "79160001122",
    "diversion": "73412900900",
    "user": "Иванов Иван",
    "groupRealName": "Мегафон",
    "ext": "603",
    "telnum": "",
    "direction": "out",
    "callid": "1707333687.2996",
    "crm_token": "28mh-bkgfbku-ra3jd"
}
Прокрутить вверх