Урок 1 из 6

Как работает интеграция

5–7 мин

Сайт живёт сам по себе, Битрикс — сам по себе. Пока между ними никто не ходит, заявки переносит менеджер, а цены на сайте меняет тот, кто про них не забыл.

Интеграция связывает эти системы: сайт сможет передавать заявки в CRM, а каталог Битрикс24 — обновлять товары и цены на сайте. В этом уроке подготовим безопасный доступ и сначала проверим его без каких-либо изменений в Битриксе.

Подготовим доступы

Чтобы RUFP мог обращаться к вашему Битрикс24, создадим входящий вебхук. Это специальный адрес с секретным кодом и списком разрешений: по нему Битрикс понимает, кому и какие действия можно выполнять.

Сейчас дадим доступ только к CRM и сделаем один запрос на чтение — попросим показать последние контакты. Так мы убедимся, что адрес и права настроены правильно, прежде чем передавать заявки или менять данные.

В следующих уроках RUFP будет использовать этот доступ на сервере. В код страницы сайта адрес вебхука не попадёт.

До начала важно: адрес вебхука — это ключ от вашего Битрикса. Кто получил его, может делать всё, что вебхуку разрешено: смотреть клиентов, менять сделки или удалять записи.

Документация Битрикс24 прямо предупреждает: не встраивайте секретный код вебхука в код веб-страниц и скриптов. Страницу сайта видит любой посетитель, и всё, что в неё попало, можно прочитать.

Поэтому до создания вебхука запомните три правила:

  • давайте вебхуку только те права, которые нужны задаче;
  • не пересылайте адрес в общие чаты и не выкладывайте в открытые репозитории;
  • если адрес куда-то попал — удалите вебхук в Битриксе и создайте новый, старый сразу перестанет работать.

Что понадобится

  • Битрикс24, где у вас права администратора и в CRM есть контакты.
  • Для облачного Битрикс24 — активная подписка Маркетплейса или пробный доступ к REST API.
  • Сайт, с которым будем связывать Битрикс. В этом уроке он ещё не нужен.

Создайте входящий вебхук

В Битрикс24 откройте Приложения → Разработчикам → Готовые сценарии → Другое → Входящий вебхук.

Если названия пунктов не совпали, найдите «Входящий вебхук» через поиск по Битрикс24.

Битрикс сразу покажет готовый адрес — он выглядит примерно так:

https://ваш-портал.bitrix24.ru/rest/1/секретный-код/

В блоке Настройка прав укажите, к каким модулям может обращаться вебхук. Для этого урока выберите только CRM — код этого скоупа crm. Остальное сейчас не нужно, а лишние права — лишний риск.

Сохраните адрес, он понадобится во всех следующих уроках.

Передайте доступ RUFP

Теперь передайте адрес RUFP и сразу укажите два ограничения: не выводить секрет в ответах и ничего не менять в Битриксе. Первый запрос делаем только на чтение.

Готовый запрос
Вот входящий вебхук моего Битрикс24: вставьте адрес Сохрани его и больше не выводи в ответах. Проверь связь: запроси список последних контактов и покажи имена и телефоны. Ничего в Битриксе не меняй.

Проверьте результат

Агент отправит запрос и покажет ответ — список записей с полями. Это и есть работа с API: вы называете, что хотите получить, и получаете данные.

Если вы видите контакты, доступ работает. Если список пришёл пустым, но ошибки нет, связь тоже работает — просто контактов в вашем Битриксе пока нет.

Что произошло

Адрес состоит из адреса портала и секретного кода. К нему добавляется название метода — то, что вы просите сделать: получить список контактов, добавить сделку, найти товар.

Запрос уходит в Битрикс, ответ возвращается обратно. Если в запросе ошибка, Битрикс тоже ответит, но текстом об ошибке. Читать такие ответы будем в последнем уроке.

Направление. Сейчас спрашивали мы. Бывает наоборот — Битрикс сам сообщает, что у него что-то изменилось. Оба направления понадобятся: заявки поедут в одну сторону, товары в другую.

Итог

  • Интеграция — это запросы между двумя системами: одна спрашивает, другая отвечает.
  • Входящий вебхук даёт RUFP доступ к вашему Битриксу в рамках отмеченных прав.
  • В адресе вебхука зашит секретный код, поэтому адрес хранят на сервере.
  • Первый запрос делают только на чтение.