Как работает интеграция
Сайт живёт сам по себе, Битрикс — сам по себе. Пока между ними никто не ходит, заявки переносит менеджер, а цены на сайте меняет тот, кто про них не забыл.
Интеграция связывает эти системы: сайт сможет передавать заявки в CRM, а каталог Битрикс24 — обновлять товары и цены на сайте. В этом уроке подготовим безопасный доступ и сначала проверим его без каких-либо изменений в Битриксе.
Подготовим доступы
Чтобы RUFP мог обращаться к вашему Битрикс24, создадим входящий вебхук. Это специальный адрес с секретным кодом и списком разрешений: по нему Битрикс понимает, кому и какие действия можно выполнять.
Сейчас дадим доступ только к CRM и сделаем один запрос на чтение — попросим показать последние контакты. Так мы убедимся, что адрес и права настроены правильно, прежде чем передавать заявки или менять данные.
В следующих уроках RUFP будет использовать этот доступ на сервере. В код страницы сайта адрес вебхука не попадёт.
До начала важно: адрес вебхука — это ключ от вашего Битрикса. Кто получил его, может делать всё, что вебхуку разрешено: смотреть клиентов, менять сделки или удалять записи.
Документация Битрикс24 прямо предупреждает: не встраивайте секретный код вебхука в код веб-страниц и скриптов. Страницу сайта видит любой посетитель, и всё, что в неё попало, можно прочитать.
Поэтому до создания вебхука запомните три правила:
- давайте вебхуку только те права, которые нужны задаче;
- не пересылайте адрес в общие чаты и не выкладывайте в открытые репозитории;
- если адрес куда-то попал — удалите вебхук в Битриксе и создайте новый, старый сразу перестанет работать.
Что понадобится
- Битрикс24, где у вас права администратора и в CRM есть контакты.
- Для облачного Битрикс24 — активная подписка Маркетплейса или пробный доступ к REST API.
- Сайт, с которым будем связывать Битрикс. В этом уроке он ещё не нужен.
Создайте входящий вебхук
В Битрикс24 откройте Приложения → Разработчикам → Готовые сценарии → Другое → Входящий вебхук.
Если названия пунктов не совпали, найдите «Входящий вебхук» через поиск по Битрикс24.
Битрикс сразу покажет готовый адрес — он выглядит примерно так:
https://ваш-портал.bitrix24.ru/rest/1/секретный-код/
В блоке Настройка прав укажите, к каким модулям может обращаться вебхук. Для этого урока выберите только CRM — код этого скоупа crm. Остальное сейчас не нужно, а лишние права — лишний риск.
Сохраните адрес, он понадобится во всех следующих уроках.
Передайте доступ RUFP
Теперь передайте адрес RUFP и сразу укажите два ограничения: не выводить секрет в ответах и ничего не менять в Битриксе. Первый запрос делаем только на чтение.
Проверьте результат
Агент отправит запрос и покажет ответ — список записей с полями. Это и есть работа с API: вы называете, что хотите получить, и получаете данные.
Если вы видите контакты, доступ работает. Если список пришёл пустым, но ошибки нет, связь тоже работает — просто контактов в вашем Битриксе пока нет.
Что произошло
Адрес состоит из адреса портала и секретного кода. К нему добавляется название метода — то, что вы просите сделать: получить список контактов, добавить сделку, найти товар.
Запрос уходит в Битрикс, ответ возвращается обратно. Если в запросе ошибка, Битрикс тоже ответит, но текстом об ошибке. Читать такие ответы будем в последнем уроке.
Направление. Сейчас спрашивали мы. Бывает наоборот — Битрикс сам сообщает, что у него что-то изменилось. Оба направления понадобятся: заявки поедут в одну сторону, товары в другую.
Итог
- Интеграция — это запросы между двумя системами: одна спрашивает, другая отвечает.
- Входящий вебхук даёт RUFP доступ к вашему Битриксу в рамках отмеченных прав.
- В адресе вебхука зашит секретный код, поэтому адрес хранят на сервере.
- Первый запрос делают только на чтение.