Авторизация в REST

REST API Битрикс24 - это API, к которому можно обратиться, выполняя HTTP-запросы по специальным адресам конкретного Битрикс24. Фактически, такие запросы можно выполнять из любого программного обеспечения, поддерживающего протокол HTTP.

curl -X POST \
        -H "Content-Type: application/json" \
        -d '{
        	"fields": {
        		"title": "New Deal",
        		"typeId": "SALE",
        		"stageId": "NEW"
        	},
        	"auth": "YOUR_ACCESS_TOKEN"
        }' \
        https://your-domain.bitrix24.com/rest/crm.deal.add.json
        

При этом, помимо параметров конкретного метода, при выполнении запроса необходимо передавать некоторые авторизационные данные, без которых запрос будет считаться неразрешенным и будет заблокирован со стороны Битрикс24.

Более того, методы REST API всегда вызываюся "от имени" конкретного пользователя портала Битрикс24. Фактически, весь REST API - это другой способ использования существующего функционала Битрикс24, когда пользователь вместо использования пользовательского интерфейса обращается напрямую к функционалу продукта, вызывая те или иные методы REST API.

Существует два варианта передачи авторизационных данных в запросах к REST API:

  • Указание постоянного кода входящего локального вебхука;
  • Указание временного токена авторизации OAuth 2.0, которые используются в локальных и тиражных приложениях.

Локальные входящие вебхуки

Пример обращения к REST API с помощью входящего локального вебхука:

curl -X POST \
        -H "Content-Type: application/json" \
        -d '{
        	"fields": {
        		"title": "New Deal",
        		"typeId": "SALE",
        		"stageId": "NEW"
        	}
        }' \
        https://your-domain.bitrix24.com/rest/1/8g9l071eismy9q2l/crm.deal.add.json
        

В данном примере указывается:

  • адрес конкретного Битрикс24 (your-domain.bitrix24.com);
  • идентификатор пользователя, создавшего вебхук (1);
  • секретный код вебхука (8g9l071eismy9q2l);
  • метод REST API, добавляющий сделку в CRM (crm.deal.add)

Значения параметров метода (fields) были переданы в виде POST-запроса.

Фактически, "авторизацией" при таком способе обращения к REST API, является идентификатор пользователя и секретный код вебхука.

Вебхуки идеально подходят:

  • для организации одноразового импорта-экспорта данных;
  • простых интеграций с внешними и внутренними системами компании (ERP, учет рабочего времени, авто-мониторинг программных и аппаратных средств и т.д.);
  • использования в автоматизации обработки лидов и сделок (триггеры и действия в CRM-роботах);

Использование вебхуков проще для технической реализации, поскольку не требует реализации протокола OAuth 2.0. Каждый пользователь может добавлять вебхуки "для себя" и REST API, вызываемый в рамках таких вебхуков, будет ограничиваться правами конкретного пользователя-владельца.

Подробнее про вебхуки вы можете узнать в соответствующе уроке нашего видео-курса для разработчиков.

Локальные и тиражные приложения с использованием OAuth 2.0

Пример обращения к REST API с помощью временного токена авторизации:

curl -X POST \
        -H "Content-Type: application/json" \
        -d '{
        	"fields": {
        		"title": "New Deal",
        		"typeId": "SALE",
        		"stageId": "NEW"
        	},
        	"auth": "807ca26600631fce00007a4b00000001f0f107255033363e91ab16442bd901b2571ed9"
        }' \
        https://your-domain.bitrix24.com/rest/crm.deal.add.json
        

В данном примере указывается:

  • адрес конкретного Битрикс24 (your-domain.bitrix24.com);
  • метод REST API, добавляющий сделку в CRM (crm.deal.add);
  • токен авторизации, указанный в параметре auth (807ca26600631fce00007a4b00000001f0f107255033363e91ab16442bd901b2571ed9).

Значения параметров метода (fields) были переданы в виде POST-запроса.

"Авторизацией" при таком способе обращения к REST API, является тот самый токен, указанный в параметре auth. В нем зашифрован ряд важных системных значений, включая идентификатор конкретного пользователя Битрикс24, от имени которого происходит обращение к REST API.

Как локальные и тиражные приложения получают токены авторизации, вы можете узнать в соответствующем разделе документации.

Локальные приложения, в отличие от локальных вебхуков, лучше подходят для тех задач, которые требуют создания пользовательского интерфейса:

  • различные отчеты;
  • дополнительные автообработчики в рамках специфической бизнес-логики;
  • решения, требующие управления доступом пользователей;
  • чат-боты и приложения, расширяющие функционал мессенджера Битрикс24;
  • дополнительные операции для автоматических бизнес-процессов Битрикс24.

Локальные приложения поддерживают все возможности REST API и вызывают REST по протоколу авторизации OAuth 2.0, но устанавливаются только на конкретном Битрикс24, без публикации в каталоге решений. Для добавления локального приложения требуется административный доступ.

Тиражные решения публикуются в нашем каталоге приложений. Они являются доступными для установки неограниченному кругу пользователей и, более того, вы можете делать их платными, продавая их функционал по модели подписки.

В отличие от разработки локальных приложений для конкретного проекта или заказчика, когда отношения между разработчиком и пользователем регулируются их двусторонними договоренностями, публикация тиражных решений в каталоге Битрикс24 Маркетплейс регулируется правилами Битрикс24, с которыми вам потребуется внимательно ознакомиться.