Полный цикл в digital

Библиотеки для работы с REST API в Битрикс24

Взаимодействие с REST API строится по средствам http запросов, в самом простом варианте можно использовать Curl, но более правильный метод, выбрать одну из библиотек.

JavaScript библиотека bx24.js

Примеры с использованием стандартной библиотеки bx24.js предназначены для использования в рамках локальных или тиражных приложений. Воспользоваться библиотекой на внешннем сайте или локальной html странице, к сожалению не получится.

Для использования JavaScript примеров необходимо подключить только следующий скрипт:

<script src="//api.bitrix24.com/api/v1/"></script>

Пример использования bx24.js:

<script>
BX24.callMethod(
    "crm.deal.add",
    {
        fields: {
            TITLE: "New Deal",
            TYPE_ID: "SALE",
            STAGE_ID: "NEW"
        }
    },
    function(result) {
        if (result.error()) {
            console.error(result.error());
        } else {
            console.log(result.data());
        }
    }
);
</script>

Дополнительную информацию о bx24.js можно найти в разделе Подключение и использование bx24.js. Учтите, что эта библиотека может использоваться только в рамках приложений, которые открываются во фреймах в пользовательском интерфейсе Битрикс24. Читайте об этом подробнее в разделе про виджеты.

JavaScript библиотека B24JsSDK

В отличие от bx24.js, B24JsSDK может использоваться в любых веб приложениях, как в качестве front-end, так и в качестве back-end на Node.js.

Это различие требует немного другого подхода к подключению библиотеки. Подробную информацию можно найти в Установка и использование B24JsSDK. Сейчас же приведем пример подключения B24JsSDK в качестве браузерной UMD-библиотеки.

Для использования JavaScript примеров необходимо подключить только следующий скрипт:

<script src="https://unpkg.com/@bitrix24/b24jssdk@latest/dist/umd/index.min.js"></script>

После подключения библиотека будет доступна через глобальную переменную B24Js. Пример использования B24JsSDK ниже подразумевает, что код используется в рамках приложений, которые открываются во фреймах в пользовательском интерфейсе Битрикс24:

<script type="module">
try
{
    const $logger = B24Js.LoggerBrowser.build('local-app', true);
    const $b24 = await B24Js.initializeB24Frame();
    $b24.setLogger(
        B24Js.LoggerBrowser.build('Core')
    );
    $logger.warn('B24Frame.init');
    const response = await $b24.callMethod(
        'crm.item.add',
        {
            entityTypeId: B24Js.EnumCrmEntityTypeId.deal,
            fields: {
                title: `New Deal`,
                typeId: 'SALE',
                stageId: 'NEW'
            }
        }
    );
    const newDeal = response.getData().result.item;
    $logger.info(
        `${B24Js.Text.getDateForLog()} crm.item.add >>`,
        {
            newId: newDeal.id,
            createdTime: B24Js.Text.toDateTime(newDeal.createdTime).toFormat('HH:mm:ss'),
            fields: newDeal
        }
    );
}
catch( error )
{
    console.error(error);
}
</script>

Библиотека также поддерживает работу с входящими вебхуками. Однако, в этом случае её следует использовать на back-end в Node.js. Вызывать REST API с помощью входящего вебхука с front-end небезопасно, так как любой пользователь, открывший такое приложение, сможет увидеть вебхук и использовать его для несанкционированного доступа к Битрикс24 с правами пользователя, создавшего вебхук.

PHP библиотека B24PhpSDK

Для начала использования необходимо установить и подключить B24PhpSDK. Подробную информацию можно найти в Загрузка и использование B24PhpSDK.

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

declare(strict_types=1);

// подключение базового класса SDK
use Bitrix24\SDK\Services\ServiceBuilderFactory;

// следите за правильностью пути к autoload.php. он может быть другим, если вы используете свою структуру папок
require_once 'vendor/autoload.php';

$B24 = ServiceBuilderFactory::createServiceBuilderFromWebhook(
    '--сюда надо вставить код вашего вебхука--'
);

$result = $B24->getCRMScope()->deal()->add([
    'TITLE' => 'New Deal',
    'TYPE_ID' => 'SALE',
    'STAGE_ID' => 'NEW'
])->getId();

PHP библиотека CRest SDK

Для использования PHP примеров необходимо установить и подключить CRest SDK. Подробную информацию можно найти в Загрузка и использование CRest PHP SDK.

Пример использования CRest SDK:

// подключение CRest PHP SDK
require_once('crest.php');

// выполнение запроса к REST API
$result = CRest::call(
    'crm.deal.add',
    [
        'fields' => [
            'TITLE' => 'New Deal',
            'TYPE_ID' => 'SALE',
            'STAGE_ID' => 'NEW'
        ]
    ]
);

// обработка ответа от Битрикс24
if ($result['error']) {
        echo 'Error: '.$result['error_description'];
    } else {
        print_r($result['result']);
}

Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!