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

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

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 // ссылка на запись звонка.

Если длительность звонка равна нулю - он будет отображен как неуспешный.

--

По вопросам интеграции пишите на dev@alfacrm.pro