Телефония 3 мин

Прочие SIP поставщики

Описание API для кастомных интеграций различных Asterisk, PBX платформ

В этой статье:

— Интеграция телефонии силами сторонних разработчиков;

— Описание протокола интеграции;

 

Интеграция телефонии силами сторонних разработчиков

Важно! Перед тем как настраивать интеграцию необходимо активировать опцию телефонии. Чтобы запросить тестовый период, напишите, пожалуйста, в чат поддержки в правом нижнем углу экрана в системе.

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

Для интеграции вашей кастомной телефонии требуется привлечь разработчика.

В личном кабинете администратора АльфаCRM необходимо прописать поставщика "Кастомная интеграция" и произвести настройки всплывающей карточки звонка.

content image

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»:

content image

Передача данных будет в следующем формате:

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

Материал был полезен?