Как использовать примеры в документации
Выберите инструмент для разработки с AI-агентом:
- используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
- используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации
На страницах методов в справочнике API примеры собраны в блок «Примеры кода». Вкладки показывают один и тот же вызов для запроса через cURL и для официальных SDK Битрикс24. Чаще всего код на вкладке — это фрагмент вызова, а не готовый проект. В нем нет установки библиотеки, подключения к Битрикс24 и ваших значений параметров.
Ниже описано, как выбрать вкладку под свою среду, что подставить вместо меток вида **put_your_webhook_here** и какой код добавить, чтобы пример заработал. После прочтения вы сможете взять любой пример со страницы метода и выполнить его в своем проекте.
Как устроен сам HTTP-запрос к REST API — адрес, параметры и формат ответа — описано в статье Как выполняется запрос.
Какую вкладку выбрать
|
Вкладка |
Инструмент |
Где выполняется код |
Авторизация |
|
|
Без библиотек |
Любая среда с curl: терминал, скрипт, сервис проверки запросов |
|
|
|
Без библиотек |
Любая среда с curl: терминал, скрипт, сервис проверки запросов |
|
|
|
Проект на сборщике или Node.js, код на TypeScript |
Входящий вебхук или OAuth 2.0, зависит от класса подключения |
|
|
|
B24JsSDK, UMD-сборка |
HTML-страница без сборщика |
OAuth 2.0: в примерах создается |
|
|
Только приложение, открытое во фрейме внутри интерфейса Битрикс24 |
OAuth 2.0, библиотека подставляет данные сама |
|
|
|
Серверный PHP, типизированные сервисы под каждый scope |
||
|
|
Серверный PHP, вызовы через один метод |
||
|
|
Серверный Python |
Набор вкладок отличается на разных страницах. На каждой есть только те примеры, которые подготовлены для конкретного метода.
Подписи вкладок оформлены не везде одинаково. Учитывайте варианты:
- вкладка с примером на B24JsSDK может называться просто
JS - примера на B24PhpSDK может не быть — тогда используйте CRest или соберите вызов по описанию параметров метода
Ориентируйтесь не только на подпись, но и на код. У B24PhpSDK вызовы идут через $b24Service или $serviceBuilder, у CRest — через CRest::call, у BX24.js — через BX24.callMethod, у B24JsSDK — через $b24.
Вкладки cURL подходят, когда нужно проверить метод, посмотреть сырой ответ или вызвать API оттуда, где библиотеку не подключить, например из консоли или из стороннего сервиса. Для рабочей интеграции берите SDK: он сам подставляет авторизацию, обновляет токены, соблюдает ограничения на частоту запросов и разбирает ответ.
Если подходят несколько SDK, сравните их в обзоре SDK.
Что подставить вместо меток
Вместо реальных значений в примерах стоят метки, выделенные двойными звездочками, например **put_your_webhook_here**. Звездочки — это выделение жирным в разметке страницы, они не входят в значение. Заменяйте метку целиком, вместе со звездочками.
|
Метка |
Чем заменить |
Где взять значение |
|
|
Адрес вашего Битрикс24, например |
Адресная строка браузера |
|
|
Идентификатор пользователя, который создал вебхук |
URL входящего вебхука |
|
|
Секретный код входящего вебхука |
URL входящего вебхука |
|
|
Действующий access token приложения |
|
|
|
Идентификатор и секретный ключ приложения |
Карточка приложения |
|
|
Адрес вашего обработчика, доступный из интернета по HTTPS |
Ваш веб-сервер |
|
Другие метки, например |
Значение параметра метода |
Ваши данные в Битрикс24 |
URL входящего вебхука выглядит так: https://your-company.bitrix24.ru/rest/1/8v5m0dmbxs2ky7wq/. Здесь 1 — идентификатор пользователя, 8v5m0dmbxs2ky7wq — секретный код.
Секретный код вебхука и access token дают доступ к данным Битрикс24. Не публикуйте их в клиентском коде, репозитории и скриншотах — храните в переменных окружения на сервере.
Как выполнить пример без библиотек
Примеры на вкладках cURL (Webhook) и cURL (OAuth) не требуют установки. Достаточно заменить метки на свои значения.
Упрощенный пример по образцу вкладки cURL (Webhook) со страницы метода crm.item.add — набор полей сокращен до одного:
curl -X POST \
-H "Content-Type: application/json" \
-d '{"entityTypeId":2,"fields":{"title":"Новая сделка"}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.item.add
Тот же запрос с подставленными значениями:
curl -X POST \
-H "Content-Type: application/json" \
-d '{"entityTypeId":2,"fields":{"title":"Новая сделка"}}' \
https://your-company.bitrix24.ru/rest/1/8v5m0dmbxs2ky7wq/crm.item.add
На вкладке cURL (OAuth) адрес короче — в нем нет идентификатора пользователя и кода вебхука, а токен передается в теле запроса в параметре auth:
curl -X POST \
-H "Content-Type: application/json" \
-d '{"entityTypeId":2,"fields":{"title":"Новая сделка"},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/crm.item.add
Что добавить, чтобы пример заработал
Большинство примеров для SDK начинается сразу с вызова метода. Объект подключения в них считается уже созданным. Создайте его сами по инструкции со страницы нужного SDK, а затем вставьте фрагмент из документации.
Часть примеров подключение уже содержит — дублировать его не нужно:
JS (UMD)— готовая HTML-страница целиком, вместе с тегомscriptи созданием$b24PHP CRest— строкаrequire_once('crest.php')обычно уже стоит в примере, от вас нужны только файлы SDK на сервере и заполненныйsettings.phpJS— изредка попадаются самодостаточные примеры с созданием$b24
|
Вкладка |
Объект, который уже есть в примере |
Что сделать |
|
|
|
Создать подключение — Установка и использование B24JsSDK |
|
|
|
Заменить метки на свои значения и открыть страницу в приложении |
|
|
Глобальный объект |
Подключить библиотеку — BX24.js: обзор библиотеки |
|
|
|
Установить и настроить SDK, присвоив подключение тому имени, которое использовано в примере — B24PhpSDK: установка и первый вызов |
|
|
Класс |
Установить и настроить SDK — CRest PHP SDK: установка и первый вызов |
|
|
|
Создать клиент — Установка и использование B24PySDK |
Примеры на вкладках JS (TS), JS (UMD) и JS рассчитаны на приложение, открытое во фрейме внутри интерфейса Битрикс24. Объект $b24 в них создает функция initializeB24Frame. Для серверного кода на Node.js понадобится другой класс подключения. Классы B24Hook и B24OAuth описаны в статье Установка и использование B24JsSDK.
В ссылке на UMD-сборку в примерах закреплена первая мажорная версия, @bitrix24/b24jssdk@1. Если проект работает на второй версии, замените номер в ссылке на @2.
Разбор ответа у инструментов тоже разный. Запрос через cURL отдает сырой JSON, а каждый SDK оборачивает его по-своему. Состав самого ответа для конкретного метода описан на его странице в разделе «Обработка ответа», а способ добраться до данных — на странице SDK.
Названия полей и параметров
Копируйте названия полей из примера и из раздела «Параметры метода» без изменений. В разных группах методов приняты разные соглашения об именовании:
- универсальные методы CRM, например crm.item.add, используют camelCase —
title,stageId,entityTypeId - более ранние методы, например crm.deal.add, используют верхний регистр с подчеркиваниями —
TITLE,STAGE_ID
Незнакомое название поля Битрикс24 игнорирует — элемент сохранится без этого значения, а ошибки в ответе не будет. Универсальные методы crm.item.* дополнительно понимают имена в верхнем регистре с подчеркиваниями, но полагаться на это не стоит. У остальных методов такого преобразования нет.
Если пример не работает
Проверьте по порядку:
- Метод помечен как DEPRECATED. На странице метода указана актуальная замена — используйте ее
- Приложению не выдан scope. Нужный scope указан в начале страницы метода, список значений — в справочнике Доступные скоупы Битрикс24
- Пользователю не хватает прав. Запрос выполняется от имени того, чьи авторизационные данные использованы: для вебхука — создателя вебхука, для приложения — владельца токена, обычно пользователя, который открыл приложение
- Ошибка в структуре параметров. Правила передачи массивов и вложенных структур описаны в статьях Как выполняется запрос и Кодирование данных
- Слишком много запросов. Ограничения на частоту вызовов описаны в статье Лимиты REST API