Кастомизации (для версий до 2.15.0)
- 1.Переименовать
get_updated_lead_fields.php
вget_updated_entity_fields.php
; - 2.Перенести код для черных/белых списков (если есть) из кастомизаций
process_search_params.php
и/илиprocess_final_params.php
вneed_registration.php
.
Если у вас версия до 2.13.1, то у вас, скорее всего, единый файл кастомизации – его нужно будет разделить на отдельные файлы до переноса.
(Схема для версий до 2.15.0)
“Сущность” — это контакт или лид.
Краткое описание кастомизаций
Файл кастомизации | Описание |
get_search_filter.php | Фильтруем полученные из Б24 сущности. (Для посвященных в Битрикс. Только для избранных.)
Можно выбрать по параметрам, с какими сущностями работать. |
get_updated_activity_fields.php | Обновление полей дела (в конце звонка) |
get_updated_entity_fields.php | Обновить поля сущности (в конце звонка) |
need_registration.php | Нужна ли регистрация?
Можно сделать черно-белые списки по внутреннему номеру/транку. |
process_entity_creation_params.php | Изменение параметров создания сущности в Б24. |
process_final_params.php | Изменение данных завершения звонка. |
process_originate_params.php | Изменение параметров при инициализации звонка из Битрикс.
Можно позвонить через другой транк, через другой контекст, сменить формат номера и прочее. |
process_phone_number.php | Изменение номера получаемого телефона:
Можно сменить формат телефонного номера (+7, 8...). |
process_record_file_path.php | Кастомизация пути до файла записи разговора. |
process_registration_params.php | Изменение параметров регистрации звонка. |
process_task_creation_params.php | Кастомизация создания задач по пропущенным звонкам. |
Преобразование номеров – как внутренних, так и внешних.
Примеры использования
Вход:
{"params":
{"phone": <номер>}
}
Вернуть:
{"data":
{"phone": <кастомизированный_номер>},
"state": "success"
}
Преобразование пути до файла записи разговора.
Вход:
{"params":
{"call_id": <id_звонка>},
{"from": <номер>},
{"to": <номер>},
{"path": <путь_до_записи>}
}
Вернуть:
{"data": {"path": <кастомизированный_путь_до_записи>},
"state": "success"
}
Изменение параметров при инициализации звонка из Битрикс24.
Вход:
{"params": {
"caller_id": "<caller_id>",
"channel": "<channel>",
"context": "<context>",
"extension": "<extension>",
"priority": "<priority>"
}}
Вернуть:
{"data": {
"caller_id": "<caller_id>",
"channel": "<channel>",
"context": "<context>",
"extension": "<extension>",
"priority": "<priority>"
}}
Опционально:
"codecs": "<codecs>",
"variable": "variable"
Изменение параметров поиска сущности, а также данных на входе.
Примеры использования:
Вход:
{"params": {
(см. https://dev.1c-bitrix.ru/rest_help/scope_telephony/telephony/telephony_externalcall_register.php)
"CALL_START_DATE": "<Дата, время начала звонка>"
"CRM_CREATE": "<Создавать или нет новый лид (если номер не найден в CRM)>"
"CRM_SOURCE": "<STATUS_ID источника из справочника источников>"
"LINE_NUMBER": "<Транк, на который пришел звонок>"
"PHONE_NUMBER": "<Номер для поиска сущности в битрикс>"
"SHOW": "<[0/1] Показывать ли карточку звонка при регистрации>"
"TYPE": "<Направление звонка: 2 - входящий; 1 - исходящий>"
"USER_ID": "<Идентификатор пользователя>",
"conversation": {Данные о звонке},
"call": {Если есть разговор, придет этот набор вместо conversation},
"user": {}
}}
Вернуть:
{"data": { - измененные входные параметры
"<Название поля задачи в битрикс>": "<Значение этого поля>",
}}
Опционально:
"action": "<ignore/register При значении ignore, звонок НЕ будет зарегистрирован в CRM>",
"filter": { - параметры для поиска в битрикс. Логика описана в статье https://bx24asterisk.ru/support/30-customize_search_params
"lead": {},
"contact": {},
"company": {}
}
Преобразование данных завершения звонка.
Примеры использования:
Вход:
{"params": {
"ADD_TO_CHAT": "<Добавить сообщение о звонке в бизнес чат>",
"CALL_ID": "<Идентификатор звонка в битрикс>",
"DURATION": "<Длительность>",
"STATUS_CODE": 200,
"USER_ID": "<Идентификатор пользователя Битрикс, ответственного за разговор>",
"conversation": {
"answered_at": "<Время поднятие трубки>",
"channel_id": "<Идентификатор канала>",
"ended_at": "<Время окончания разговора>",
"from": "<Номер позвонившего>",
"from_local": <Локальный номер позвонившего. Принимает значение true или false>,
"id": "<Идентификатор звонка>",
"parent_channel_id": "<Идентификатор родительского канала>",
"started_at": "<Время начала звонка>",
"state": <Статус состояния звонка>,
"state_code": "<Состояния звонка>",
"to": "<Номер, кому пришел звонок>",
"to_local": <Локальный номер принимающего. Принимает значение true или false>,
"trunk": "<Внешний номер, на который поступил звонок>",
"type": <Направление звонка. Принимает значения: 1 - внутренний; 2 - входящий; 3 - исходящий>,
"type_code": "<Направление звонка. Принимает значения: incoming - входящий, outgoing - исходящий>",
"was_answered": <Отвеченный звонок. Принимает значение true или false>
},
"entity_data": {
"entity_id": <Идентификатор сущности в битрикс>,
"entity_type": "<Тип сущности. Принимает значения: lead, company, contact>",
"was_created": <Был ли лид создан модулем (для новых лидов). Принимает значение true или false>
}
}}
Вернуть:
{
"data": {
"ADD_TO_CHAT": "<Добавить сообщение о звонке в бизнес чат>",
"CALL_ID": "<Идентификато р звонка в битрикс. Не рекомендуется изменять!>",
"DURATION": "<Длительность>",
"STATUS_CODE": "<SIP-код статуса звонка>",
"USER_ID": "<Идентификатор пользователя Битрикс, ответ ственного за разговор>",
},
"action": "<delete/register При значении delete, звонок будет удален из CRM>",
"state": "success"
}
Событие возникает при входящем звонке с неизвестного номера.
Вход:
{"params": {
“type”: lead, // значения: contact, deal, lead
"ASSIGNED_BY_ID":238,
"COMMENTS":"",
"OPENED":"Y",
"PHONE": [
{"VALUE":"83432872875"}
],
"SOURCE_ID":"7",
"TITLE":""
}}
Вернуть:
{
"data": {
"<Название поля сущности в битрикс>": "<Значение этого поля>",
},
"state": "success"
}
Примеры использования:
- 1.
- 2.
- 3.
Событие возникает перед постановкой задачи (при пропущенном входящем звонке).
Полное описание полей задачи в API Битрикса.
Вход:
{"params": {
"arNewTaskData": {
"DEADLINE":"<Крайний срок исполнения>",
"CREATED_BY": <Идентификатор постановщика>,
"RESPONSIBLE_ID": <Идентификатор сотрудника, ответственного за задачу>,
"TITLE":"<Заголовок задачи>",
"UF_CRM_TASK": [ - связь задачи с сущностью.
"L_11201" - состоит из типа сущности (L - лид, C - контакт, CO - компания, D - сделка) и ее идентификатора, которые указываются через символ "_".
]
}
}}
Вернуть:
{
"data": {
"arNewTaskData": { - массив полей для создания задачи
"<Название поля задачи в битрикс>": "<Значение этого поля>"
}
},
"state": "success"
}
Обновление полей лида в конце входящего звонка работает только для лидов, которые созданы модулем.
Вход: Е
Параметры звонка описаны в 5 пункте process_final_params
{"params": {
"conversations": { - набор всех разговоров, которые были в звонке
"1550838819.13014": {<Набор данных о разговоре>},
"1550838850.13029":{<Набор данных о разговоре>}
},
"answered_at":"",
"ended_at":"",
"from":"",
"from_local":false,
"id":"1550838797.13013",
"started_at":"",
"state":3,
"to":"",
"to_local":true,
"trunk":"",
"type":2
}}
Вернуть:
{
"data": {
"<Название поля лида в битрикс>": "<Значение этого поля>",
},
"state": "success"
}
Обновление полей дела в конце звонка.
Вход:
Обновление полей дела в конце разговора.
Параметры звонка описаны в 5 пункте process_final_params
{"params": {
"answered_at":"",
"channel_id":"",
"ended_at":"",
"from":"",
"from_local":false,
"id":"",
"parent_channel_id":"",
"started_at":"",
"state":3,
"state_code":"hung",
"to":"",
"to_local":true,
"trunk":"",
"type":2,
"type_code":"incoming",
"was_answered":true
}}
Вернуть:
{
"data": {
"<Название поля дела в битрикс>": "<Значение этого поля>",
},
"state": "success"
}
Last modified 1yr ago