Начните с видеокурсов — теория и практика по CRM, складскому учету, производству и т.д.
Плагин обеспечивает интеграцию системы с любой АТС через пользовательскую прослойку (middleware). Он принимает HTTP‑запросы от middleware, обрабатывает события звонков (входящие, исходящие, смены состояний) и выполняет соответствующие действия в системе: создание/обновление записей о звонках, добавление задач, сделок, отправка всплывающих уведомлений сотрудникам.
В системе установите плагин и укажите необходимые настройки:
| Настройка | Тип | Обязательное | Описание |
| Ссылка для отправки результатов обработки событий | string | Да | Ссылка на пользовательскую прослойку (URL middleware), на который отправляются команда инициализации исходящего звонка из системы и callback‑уведомления |
| Уведомлять только ответственного за контрагента | bool | Нет |
|
| Создавать контакт при звонке | bool | Нет | Настройка отвечает за создание Документа Контакты по звонкам |
| Добавлять звонок в последнюю активную сделку контрагента | bool | Нет | Настройка отвечает за добавление записи разговора в последнюю сделку в блок история |
| Создавать задачу о пропущенном звонке для ответственного | bool | Нет |
|
| Международный формат номеров (E.164) | bool | Нет |
|
| Созданным контактам по неизвестным номерам присваивать одного контрагента | bool | Нет |
|
| ID Контрагента | int | Нет | Уникальный идентификатор Контрагента (Id) |

actionCall – инициация исходящего звонка
Метод: POST
Параметры (form-data):
to – номер телефона получателя (обязательный)
Что делает:
{
"action": "make_call",
"to": "+71234567890",
"from_extension": "101",
"crm_user_id": 123
}
call_id.
createRelationship, создаёт Контакт по звонку в системе.
Пример успешного ответа:
{
"unique_id": "call_12345",
"name": "Название компании",
"to": "+71234567890",
"from": "101",
"status": "Connected",
"toRelease": "+71234567890",
"pluginName": "universal_plugin_telephony"
}
Ошибки: выбрасывается исключение (обрабатывается в системе), при этом на callbackUrl отправляется callback с ошибкой (см. раздел «Callback уведомления»).
actionInbound – приём событий от middleware
Метод: POST
Content-Type: application/json
Тело запроса: JSON‑объект с данными о событии.
Плагин читает php://input, декодирует JSON и обрабатывает событие в зависимости от состояния звонка.
Формат входящего JSON
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
call_id | string | да | Уникальный идентификатор звонка, присвоенный АТС |
from_number | string | да | Номер абонента (от кого звонок) |
direction | string | да | Направление: «in» (входящий) или «out» (исходящий) |
call_state | string | да | Состояние звонка: RINGING, ANSWERED, HANGUP, MISSED |
user_extension | string | нет | Внутренний номер сотрудника (для входящих) |
diversion | string | нет | Номер на который поступил звонок |
call_record_url | string | нет | Ссылка на запись разговора (приходит при HANGUP) |
Пример запроса:
{
"call_id": "20250303_123456",
"from_number": "+74951234567",
"direction": "in",
"call_state": "ANSWERED",
"user_extension": "101",
"diversion": "84951234567"
}
Возвращаемый JSON при успехе:
{
"status": "ok",
"call_id": "call_12345",
"message": "Event processed"
}
Возвращаемый JSON при ошибке:
{
"status": "error",
"message": "Описание ошибки"
}
После обработки (вне зависимости от результата) на «Ссылку для отправки результатов обработки событий» отправляется callback‑уведомление (см. раздел «Обработка событий»).
RINGING (входящий звонок)ANSWERED (звонок принят)HANGUP (звонок завершён)call_record_url);
MISSED (пропущенный звонок)После обработки любого события (включая ошибки) плагин отправляет асинхронный POST‑запрос на «Ссылку для отправки результатов обработки событий» с телом:
{
"type": "callback" | "error_callback",
"response": {
"status": "ok" | "error",
"call_id": "...",
"message": "..."
},
"timestamp": 1678901234
}
"callback" при успешной обработке, "error_callback" при ошибке.
curl -X POST https://crm.example.com/plugin/{{plugin_id}}/actionInbound \
-H "Content-Type: application/json" \
-d '{
"call_id": "ext_101_20250303_1234",
"from_number": "84951234567",
"direction": "in",
"call_state": "RINGING",
"user_extension": "101"
}'
make_call (ожидается плагином)
{
"call_id": "unique_call_id_from_ats"
}
Примечание: Все настройки и параметры должны соответствовать конфигурации вашей системы и middleware. При возникновении вопросов обратитесь к документации разработчика.