Приблизительное время чтения: 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 | тип операции, в данном случае history | string | да |
type | тип звонка in/out (входящий/исходящий) | string | да |
user | идентификатор пользователя АТС (необходим для сопоставления на стороне CRM) | string | да |
ext | внутренний номер пользователя АТС Asterisk | string | да |
groupRealName | имя внутреннего номера, название группы, название маршрута, если был исходящий вызов. | string | да |
telnum | номер для переадресации вызова у вн номера | string | нет |
phone | номер телефона клиента, с которого или на который произошел звонок | string | да |
diversion | номер телефона IP АТС (DID), через который пришел входящий вызов | string | да |
start | время начала звонка в формате YYYY-MM-DD HH:MM:SS | string | да |
duration | общая длительность звонка в секундах | string | да |
callid | уникальный id звонка – Asterisk (uniqueid) | string | да |
link | ссылка на запись звонка в формате .mp3 | string | да |
module | тип модуля из сценария входящего звонка: exten, group, queue для исходящего звонка: exten | string | да |
crm_token | ключ (token) от CRM, установленный в настройках | string | да |
status | статус входящего/исходящего звонка | string | да |
Статусы звонка
- Success – Успешный входящий (исходящий) звонок;
- Missed – пропущенный входящий звонок;
- Cancel – исходящий звонок отменен;
- Busy – получен ответ «Занято» входящий (исходящий);
- NotAvailable – получен ответ «Абонент недоступен» (только исходящий);
- NotAllowed – получен ответ «Звонки на это направление запрещены» (только исходящий);
- NotFound – получен ответ «Вызываемый абонент не найден, нет такого SIP номера» (только исходящий).
Параметры ответа
Код ответа | Возвращаемое значение | Описание |
---|---|---|
200 | OK | |
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 | тип операции, в данном случае event | string | да |
type | type – это тип события, связанного со звонком, список событий: INCOMING – Поступил входящий звонок (у сотрудника должен начать звонить IP телефон в это время) CANCELLED – Звонок сброшен, в этот момент можно убрать всплывающую карточку контакта в CRM COMPLETED – Звонок завершен (менеджер или клиент положили трубку после разговора) OUTGOING – Менеджер совершает исходящий звонок (АТС пытается дозвониться до клиента) TRANSFERRED – Входящий звонок переведен (безусловным переводом) на другого сотрудника | string | да |
phone | номер телефона клиента, с которого или на который произошел звонок | string | да |
diversion | номер телефона IP АТС (DID), через который пришел входящий вызов | string | да |
user | идентификатор пользователя АТС | string | нет |
groupRealName | имя внутреннего номера, название группы, название маршрута, если был исходящий вызов. | string | да |
ext | внутренний номер пользователя АТС Asterisk | string | да |
telnum | номер для переадресации вызова у вн номера | string | нет |
direction | тип звонка in/out (входящий/исходящий) | string | да |
callid | уникальный id звонка – Asterisk (uniqueid) | string | да |
crm_token | ключ (token) от CRM, установленный в настройках | string | да |
Параметры ответа
Код ответа | Возвращаемое значение | Описание |
---|---|---|
200 | OK | |
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"
}