Как использовать примеры
Описание
Использование REST API позволяет достаточно просто решать многие задачи интеграции внешних источников или систем с Битрикс24, переносить в Битрикс24 данные и многое другое. Мы постарались дать примеры для наиболее частых задач, которые вы можете использовать в качестве заготовок и модифицировать под свои нужды.
Все примеры в разделе написаны с использованием PHP, поэтому вам нужно размещать этот код на доступном для вас сервере с соблюдением следующих технических условий:
- Примеры используют модуль cURL для выполнения REST-запросов. Узнайте, как включить модуль cURL на своем сервере.
- На вашем веб-сервере должен быть установлен валидный SSL-сертификат.
- Примеры используют базовый SDK В начале файла crest.php есть обозначение версии: @version 1.1, 1.2 ... 1.10. Рекомендуется периодически скачивать файл и проверять наличие новой версии SDK в виде класса CRest для выполнения запросов и продления токенов авторизации. Возьмите код класса, внесите необходимые правки, связанные с авторизацией в файл settings.php и разместите на своем сервере, вставив нужный вам пример из документации.
- При возникновении проблем с работой SDK вы можете открыть через браузер файл checkserver.php, который произведёт минимальную проверку настроек сервера для работы класса CRest.
Если в проекте используется класс CRest и кодировка отличается от utf8, то необходимо сделать 2 дополнительных действия:
- Открыть файлы из архива и изменить их кодировку на необходимую.
- В файле settings.php объявить константу
C_REST_CURRENT_ENCODING
. Например, если проект в кодировке windows-1251 константа выглядеть должна так:define('C_REST_CURRENT_ENCODING','windows-1251');
.
Вариант 1. Вызов REST с использованием входящего вебхука
- Укажите URL вебхука в define
C_REST_WEB_HOOK_URL
в файле settings.php:<? define('C_REST_WEB_HOOK_URL','https://xxx.bitrix24.ru/rest/1/douasdqkjxgc3mgc1/');
- Вставьте текст примера в файл index.php:
<? require_once('crest.php'); // put an example below echo '<PRE>'; print_r(CRest::call( 'crm.lead.add', [ 'fields' =>[ 'TITLE' => 'Название лида',//Заголовок*[string] 'NAME' => 'Имя',//Имя[string] 'LAST_NAME' => 'Фамилия',//Фамилия[string] ] ]) ); echo '</PRE>';
- Укажите URL к примеру в адресной строке браузера https://mydomain.xxx/index.php, чтобы увидеть результат работы примера.
Вариант 2. Вызов REST из локального приложения
- В файле settings.php:
<? define('C_REST_CLIENT_ID','app.87816165165.35984727'); define('C_REST_CLIENT_SECRET','g5dlcj3d2772h8g5jhzou907jojage');
- Вставьте текст примера в файл index.php:
<? require_once('crest.php'); // put an example below echo '<PRE>'; print_r(CRest::call( 'crm.lead.add', [ 'fields' =>[ 'TITLE' => 'Название лида',//Заголовок*[string] 'NAME' => 'Имя',//Имя[string] 'LAST_NAME' => 'Фамилия',//Фамилия[string] ] ]) ); echo '</PRE>';
- В карточке локального приложения укажите URL своего приложения https://mydomain.xxx/index.php и URL скрипта установки https://mydomain.xxx/install.php.
- Укажите значения параметров client_id и client_secret для авторизации OAuth 2.0 в define
C_REST_CLIENT_ID
иC_REST_CLIENT_SECRET
в файле settings.php, взяв эти значения из карточки локального приложения.<? require_once('crest.php'); // put an example below echo '<PRE>'; print_r(CRest::call( 'crm.lead.add', [ 'fields' =>[ 'TITLE' => 'Название лида',//Заголовок*[string] 'NAME' => 'Имя',//Имя[string] 'LAST_NAME' => 'Фамилия',//Фамилия[string] ] ]) ); echo '</PRE>';
- В списке локальных приложений нажмите правой кнопкой мыши на своё локальное приложение и выберите пункт "Переустановить". Это нужно чтобы корректно сработал install.php после того, как вы вставили корректные значения C_REST_CLIENT_ID и C_REST_CLIENT_SECRET.
- После установки вы увидите результат работы примера. Если пример демонстрирует встраивание виджетов в другие инструменты Битрикс24, необходимо перейти в эти инструменты.
Вариант 3. Вызов REST из тиражного приложения
- В файле settings.php:
<? define('C_REST_CLIENT_ID','app.87816165165.35984727'); define('C_REST_CLIENT_SECRET','g5dlcj3d2772h8g5jhzou907jojage');
- Вставьте текст примера в файл index.php
<? require_once('crest.php'); // put an example below echo '<PRE>'; print_r(CRest::call( 'crm.lead.add', [ 'fields' =>[ 'TITLE' => 'Название лида',//Заголовок*[string] 'NAME' => 'Имя',//Имя[string] 'LAST_NAME' => 'Фамилия',//Фамилия[string] ] ]) ); echo '</PRE>';
- Добавьте тиражное приложение в партнерском кабинете для получения client_id и client_secret и при сохранении приложения.
- Укажите значения параметров client_id и client_secret для авторизации OAuth 2.0 в define
C_REST_CLIENT_ID
иC_REST_CLIENT_SECRET
в файле settings.php.
<? require_once('crest.php'); // put an example below echo '<PRE>'; print_r(CRest::call( 'crm.lead.add', [ 'fields' =>[ 'TITLE' => 'Название лида',//Заголовок*[string] 'NAME' => 'Имя',//Имя[string] 'LAST_NAME' => 'Фамилия',//Фамилия[string] ] ]) ); echo '</PRE>';
- В карточке приложения добавьте версию и укажите URL своего приложения https://mydomain.xxx/index.php и URL скрипта установки https://mydomain.xxx/install.php в карточке версии.
- После сохранения версии откройте карточку версии и, нажав на ссылку "Установить на своем Битрикс24", установите свое приложение на любой доступный вам Битрикс24.
- После установки вы увидите результат работы примера (в случае, если пример демонстрирует встраивание виджетов в другие инструменты Битрикс24, необходимо перейти в эти инструменты).
- Для реального тиражного приложения необходимо пронаследовать класс CRest, переопределив методы getSettingData/setSettingData, которые занимается получением/сохранением токенов авторизации в текстовый файл. Эти методы не предназначены для эксплуатации приложения на нескольких Битрикс24 одновременно.
© «Битрикс», 2001-2024, «1С-Битрикс», 2024