Что умеет
- отправляет сообщение в MAX при создании сделки
- отправляет сообщение в MAX при смене стадии сделки
- игнорирует остальные обновления сделки
Структура ENV
Скопируйте .env.example в .env и заполните значения:
Код:
PORT=3000
MAX_BOT_TOKEN=xxx
MAX_CHAT_ID=123456789
BITRIX_WEBHOOK=https://your-domain.bitrix24.ru/rest/1/xxxx/
SECRET=xxx
SECRET это общий секрет, который вы передаете из робота Bitrix в тело webhook, например полем secret.
Установка и запуск
npm installnpm startСервер поднимет:
- GET /webhook/bitrix
- POST /webhook/bitrix
- GET /health
Настройка Bitrix24
Event API не нужен. Настраиваются обычные роботы/триггеры Bitrix, которые вызывают наш webhook по URL:https://your-domain.com/webhook/bitrixДля упрощенной настройки можно передавать параметры прямо в URL, например:
https://your-domain.com/webhook/bitrix?secret=xxx&event_type=deal_created&deal_id=123Рекомендуемый payload для робота на создание сделки:
Код:
{
"secret": "xxx",
"event_type": "deal_created",
"deal_id": "{{ID}}"
}
Рекомендуемый payload для робота на смену стадии:
Код:
{
"secret": "xxx",
"event_type": "stage_changed",
"deal_id": "{{ID}}",
"old_stage_id": "{{PREVIOUS_STAGE_ID}}",
"new_stage_id": "{{STAGE_ID}}"
}
Если старый/новый stage ID не передаются из робота, сервис все равно попытается восстановить их через Bitrix REST и локальный кэш.
PM2
pm2 start app.js --name bitrix-maxpm2 savepm2 startupФормат уведомлений
Создание сделки:
Код:
📥 Новая заявка
ID: 123
Название: Тестовая сделка
Клиент: Компания / Контакт
Телефон: +7 900 000-00-00
Ответственный: Иван Иванов
Стадия: Новая
Ссылка: https://portal.bitrix24.ru/crm/deal/details/123/
Смена стадии:
Код:
🔄 Обновление сделки
ID: 123
Название: Тестовая сделка
Стадия: Новая → В работе
Ответственный: Иван Иванов
