Использование
-
Получить входящий вебхук с доступом CRM
-
Зайти в панель управления Битрикс 24, в выпадающем меню слева выбрать "Разработчикам"
-
Другое > Входящий вебхук
-
В настройке прав (внизу страницы) выбрать CRM (crm)
-
Скопировать ссылку из поля "Вебхук для вызова rest api"
Ссылка выглядит примерно так: https://b24-ep1gyi.bitrix24.ru/rest/421/j9f2incnbdn2r3d5/
-
Нажать "Сохранить"
-
URL этого вебхука понадобится в следующем пункте
-
Создать исходящий вебхук (для отправки событий)
-
Другое > Исходящий вебхук
-
В настройке событий выбрать 3 пункта: Создание сделки (ONCRMDEALADD), Обновление сделки (ONCRMDEALUPDATE), Удаление сделки (ONCRMDEALDELETE)
-
В поле "URL вашего обработчика" вставить https://artginzburg.runkit.io/turnakolskiy-api/branches/master/:bitrixIncomingWebhook
-
Заменить :bitrixIncomingWebhook
на URL входящего вебхука из пункта 1 в формате URL-encoded
Должно получиться что-то вроде: https://artginzburg.runkit.io/turnakolskiy-api/branches/master/https%3A%2F%2Fb24-ep1gyi.bitrix24.ru%2Frest%2F421%2Fj9f2incnbdn2r3d5%2F
-
Нажать "Сохранить"
-
Создать переменную окружения BITRIX_INCOMING_WEBHOOK в репозитории
Отправить /check с любой даты
-
Открыть браузер, вставить в адресную строку полный URL исходящего вебхука из пункта 2
-
Дописать в конец строки /check/:date
, заменив :date
на дату, с которой нужно проверить все сделки.
Например, для проверки сделок с 1-го сентября 2021-го должно получиться что-то вроде: https://artginzburg.runkit.io/turnakolskiy-api/branches/master/https%3A%2F%2Fb24-ep1gyi.bitrix24.ru%2Frest%2F421%2Fj9f2incnbdn2r3d5%2F/check/01.09.2021
-
Также можно дописать время через запятую, например .../check/01.09.2021,23:00
. Учтите, что время указывается в формате UTC, то есть 01.09.2021,23:00
на самом деле проверит сделки, обновлённые с 02.09.2021,02:00
по Москве (GMT+3)
Принудительно обновить все сделки с любой даты (/update)
-
Открыть браузер, вставить в адресную строку полный URL исходящего вебхука из пункта 2
-
Дописать в конец строки /update/:date
, заменив :date
на дату, с которой нужно проверить все сделки.
Например, для обновления сделок с 1-го сентября 2021-го должно получиться что-то вроде: https://artginzburg.runkit.io/turnakolskiy-api/branches/master/https%3A%2F%2Fb24-ep1gyi.bitrix24.ru%2Frest%2F421%2Fj9f2incnbdn2r3d5%2F/update/01.09.2021
-
Также можно дописать время через запятую, например .../update/01.09.2021,23:00
. Учтите, что время указывается в формате UTC, то есть 01.09.2021,23:00
на самом деле проверит сделки, обновлённые с 02.09.2021,02:00
по Москве (GMT+3)
Так как RunKit позволяет запросу "висеть" всего минуту, принудительно обновлять большое количество сделок лучше так:
Тест
Установить зависимости
npm i
Запустить тест
npm test
Скопировать ссылку на локальный туннель, вставить её в исходящий вебхук на события ONCRMDEALADD, ONCRMDEALUPDATE, ONCRMDEALDELETE
Попробовать создать новую сделку, сохранить, обновить в ней какие-нибудь данные, и удалить её. Если в мониторинг сервиса аналитики пришли данные о сделке и в консоли не появляется ошибок — всё работает правильно.