Прочие SIP поставщики
Описание API для кастомных интеграций различных Asterisk, PBX платформ
В этой статье:
— Интеграция телефонии силами сторонних разработчиков;
— Описание протокола интеграции;
Интеграция телефонии силами сторонних разработчиков
Важно! Перед тем как настраивать интеграцию необходимо активировать опцию телефонии. Чтобы запросить тестовый период, напишите, пожалуйста, в чат поддержки в правом нижнем углу экрана в системе.
Такой вариант интеграции позволяет отобразить всплывающую карточку входящего / исходящего звонка с различными состояниями: звонок / сняли трубку / завершен, а так же сохранить ссылку на запись звонка в карточке клиента.
CRM попытается определить имя клиента по номеру телефона, а в случае невозможности предложит создать новую карточку.
Для интеграции вашей кастомной телефонии требуется привлечь разработчика.
В личном кабинете администратора АльфаCRM необходимо прописать поставщика "Кастомная интеграция" и произвести настройки всплывающей карточки звонка.

URL из поля "Webhook URL" следует использовать в качестве End Point (конечный веб-адрес) в интегрируемой системе.
Описание протокола интеграции
1. Событие "ЗВОНОК"
Для инициации события необходимо отправить POST запрос на Webhook URL со следующими параметрами в теле запроса:
- event = alert // событие ЗВОНОК;
- call_id = 12345 // постоянный ID звонка во внешней системе;
- direction = in // направление звонка, может быть либо in либо out;
- remote_number = 79991112233 // номер звонящего в случае входящего звонка, или исходящий номер.
Пример запроса:
curl -X POST "https://demo.s20.online/api/1/sip/process?token=abcdefabcdef" -d "event=alert&call_id=1&direction=in&remote_number=74951129992"
2. Событие "Сняли Трубку"
Для инициации события необходимо отправить POST запрос на Webhook URL со следующими параметрами в теле запроса:
- event = active // событие СНЯЛИ ТРУБКУ;
- call_id = 12345 // постоянный ID звонка во внешней системе;
- direction = in // направление звонка, может быть либо in либо out;
- remote_number = 79991112233 // номер звонящего в случае входящего звонка, или исходящий номер.
3. Событие "Звонок Завершён"
Для инициации события необходимо отправить POST запрос на Webhook URL со следующими параметрами в теле запроса:
- event = release // событие ЗВОНОК ЗАВЕРШЁН;
- call_id = 12345 // постоянный ID звонка во внешней системе;
- direction = in // направление звонка, может быть либо in либо out;
- remote_number = 79991112233 // номер звонящего в случае входящего звонка, или исходящий номер;
- local_number = 100 // локальный номер звонящего / принявшего звонок;
- duration = 1 // длительность звонка в секундах;
- is_success = 1 // успешность звонка (0 или 1);
- finish_reason = Успешно // Любое текстовое описание результата звонка
- record_url = https://company.co/1.mp3 // ссылка на запись звонка.
Если длительность звонка равна нулю - он будет отображен как неуспешный.
Распределение ответственных менеджеров:
При запросе:
{"event":"info","remote_number":"79588338210","direction":"in","branch_id":1,"remote_ip":"79.170.152.89"}
В ответ будет:
'customer_name' => '',
'assigned_user' => '',
'assigned_email' => '',
'assigned_sip' => '',
'assigned_phone' => '',
Где 'assigned_sip' — сип номер ответственного менеджера по клиенту.
Исходящий звонок из системы:
Пропишите «Callback URL»:

Передача данных будет в следующем формате:
curl -L -X POST ‘https://ваш-урл/для/колбеков’
-H ‘Authorization: Basic %api_key%’
-H ‘Content-Type: application/json’
–data-raw ‘{
“from”: “some-number”,
“to”: “some-number”
}’
По вопросам интеграции пишите на dev@alfacrm.pro
Материал был полезен?