Битрикс24 (Bitrix24)
Лиды, сделки, контакты, задачи и активности через входящий вебхук. Исходящий вебхук сверяет application_token.
Bitrix24 — CRM, задачи и коммуникации. Для простых интеграций используется входящий вебхук: постоянный URL вида https://{домен}/rest/{userId}/{token}/{method}.json без отдельного OAuth (входа по разрешению сервиса) при каждом запуске.
С Bitrix24 в Pailot вы можете:
- Лиды — список с фильтром (JSON), создание и обновление (статус, бюджет, ФИО, телефон, email)
- Сделки — список, создание и обновление (стадия, воронка, сумма, контакт, компания)
- Контакты — список и создание
- Задачи —
tasks.task.addс привязкой к лиду, сделке, контакту или компании - Активности — комментарий или письмо в таймлайн сущности (
crm.activity.add)
Интеграция поддерживает исходящий вебхук Bitrix24 как триггер (вебхук — входящий HTTP-запрос от сервиса): при событиях ONCRMLEADADD, ONCRMDEALUPDATE и подобных POST уходит на URL из блока.
Как подключить (входящий вебхук)
- В Bitrix24 откройте Разработчикам (или Приложения → Разработчикам) → Другое → Входящий вебхук.
- Создайте вебхук с правами на CRM и Задачи (по необходимости).
- Скопируйте URL. Из него возьмите:
- Домен — хост портала (
mycompany.bitrix24.ruили.com) - User ID — число в пути после
/rest/ - Токен — секретный фрагмент после user id
- Домен — хост портала (
- Вставьте эти три значения в поля блока Domain, User ID, Webhook token.
Фильтры в методах *.list передаются JSON-объектом с именами полей Bitrix24: STATUS_ID, STAGE_ID, CATEGORY_ID и так далее.
Триггер (исходящий вебхук)
- Включите Триггер у блока, сохраните и скопируйте URL вебхука Pailot.
- В Bitrix24: Разработчикам → Другое → Исходящий вебхук → добавьте обработчик с этим URL.
- Отметьте типы событий (создание лида, изменение сделки и другие).
- После сохранения Bitrix24 покажет токен приложения. Скопируйте его в поле Application Token блока — это включит проверку подлинности.
Проверка подлинности. Bitrix24 не подписывает тело запроса. Вместо этого он повторяет токен портала в поле auth[application_token], и документация провайдера требует сверять это значение, прежде чем доверять запросу. Заполните Application Token — любой запрос без совпадающего токена получит 401 и не запустит процесс. Если поле пустое, запросы принимаются без проверки: запустить сценарий сможет каждый, кто узнает URL.
При перевыпуске токена в Bitrix24 обновите его и в блоке: старое значение перестанет совпадать, события начнут отбиваться.
Что приходит в выходы триггера. Тело приходит формой (x-www-form-urlencoded) со скобочными ключами; Pailot разворачивает их, поэтому data доступен как структура — например <Триггер.data.FIELDS.ID>. В event лежит имя события (ONCRMLEADADD и подобные), в auth — сведения о портале (domain, member_id, application_token).
Документация: REST API, разделы CRM, задачи, активности.
Инструменты
bitrix24_get_leads
crm.lead.list — список лидов.
| Параметр | Описание |
|---|---|
domain, userId, webhookToken | Доступ |
filter | JSON-строка фильтра |
select | Поля через запятую |
limit, start | Постраничный вывод |
Выход: total, items, message.
bitrix24_create_lead / bitrix24_update_lead
crm.lead.add / crm.lead.update. Поля в формате Bitrix24: TITLE, NAME, LAST_NAME, PHONE, EMAIL, STATUS_ID, OPPORTUNITY, CURRENCY_ID, ASSIGNED_BY_ID; дополнительно customFields как JSON-объект.
bitrix24_get_deals / bitrix24_create_deal / bitrix24_update_deal
crm.deal.list, crm.deal.add, crm.deal.update.
Для смены воронки у существующей сделки в Bitrix24 иногда нужен crm.item.update с entityTypeId: 2; в блоке обновления сделки используется crm.deal.update (стадия в текущей воронке).
bitrix24_get_contacts / bitrix24_create_contact
crm.contact.list, crm.contact.add.
bitrix24_create_task
tasks.task.add — поля TITLE, DESCRIPTION, DEADLINE, PRIORITY, привязка к CRM через внутреннее поле задачи.
bitrix24_add_activity
crm.activity.add — запись в таймлайн (комментарий / email) для лида, сделки, контакта или компании.