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

Выберите инструмент для разработки с AI-агентом:

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

Методы REST API Битрикс24 вызывают HTTP-запросами к адресу конкретного Битрикс24 — из любой программы, которая умеет работать с протоколом HTTP. Каждый запрос выполняется от имени пользователя и с его правами: если сотрудник не видит сделку в CRM, метод не вернет ее и через API. Дополнительно доступ ограничивают scope, способ авторизации и условия конкретного метода.

Поэтому в каждом запросе, помимо параметров метода, передают данные авторизации. Без них Битрикс24 отклонит запрос с ошибкой NO_AUTH_FOUND.

Данные авторизации передают одним из двух способов:

  • входящий вебхук — постоянный секретный код в адресе запроса. Подходит для интеграций с одним Битрикс24
  • токен OAuth 2.0 — временный токен в параметре auth. Его получают локальные и тиражные приложения

Как выбрать способ под задачу, описано в обзоре раздела Как вызывать методы REST API.

Входящие вебхуки

Пример обращения к REST API через входящий вебхук:

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

В адресе запроса указаны:

  • адрес Битрикс24 — your-domain.bitrix24.com
  • идентификатор пользователя, который создал вебхук, — 1
  • секретный код вебхука — 8g9l071eismy9q2l
  • метод crm.item.add, который добавляет элемент CRM. Значение entityTypeId: 2 означает сделку

Параметры метода, в примере — entityTypeId и fields, передают в теле POST-запроса.

Авторизацией служат идентификатор пользователя и секретный код в адресе. Метод выполняется с правами пользователя, который создал вебхук, и только в пределах scope, выбранных в настройках вебхука. Код вебхука открывает доступ к данным Битрикс24, поэтому храните его как пароль: не публикуйте и не передавайте в код, который выполняется в браузере.

Вебхуки подходят:

  • для разового импорта или экспорта данных
  • для простых интеграций с системами компании: ERP, учетом рабочего времени, мониторингом оборудования и программ
  • для автоматизации обработки лидов и сделок в роботах и триггерах CRM

Вебхук проще в реализации: для него не нужен протокол OAuth 2.0. По умолчанию вебхук может создать любой сотрудник, а администратор может ограничить это право. Часть методов вебхуку недоступна, потому что им нужен контекст приложения. Например, метод placement.bind через вебхук вернет ошибку WRONG_AUTH_TYPE.

Как создать вебхук, настроить доступ сотрудников и проверить метод, описано на странице Входящие и исходящие вебхуки.

Приложения с авторизацией OAuth 2.0

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

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

В запросе указаны:

  • адрес Битрикс24 — your-domain.bitrix24.com
  • метод crm.item.add, который добавляет сделку
  • токен авторизации в параметре auth

Авторизацией служит токен доступа access_token, который приложение передает в параметре auth. По нему Битрикс24 определяет приложение и пользователя, от имени которого выполняется запрос. Метод выполняется с правами этого пользователя и в пределах scope приложения: для примера нужен scope crm и право добавлять сделки.

Токен действует ограниченное время, после чего его обновляют. Как приложения получают и продлевают токены, описано в разделе OAuth 2.0. Токены открывают доступ к данным Битрикс24, как код вебхука: не публикуйте их, не пишите в логи и храните на сервере приложения в защищенном хранилище.

Приложения бывают локальные и тиражные.

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

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

Локальному приложению доступны и методы, которым нужен контекст приложения. По умолчанию добавить локальное приложение может только администратор, он может выдать это право другим сотрудникам.

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

Если авторизация не прошла

Статус

Код

Когда возникает

Что сделать

401

NO_AUTH_FOUND

В запросе нет данных авторизации

Передайте код вебхука в адресе запроса или токен в параметре auth

401

INVALID_CREDENTIALS

Нет активного вебхука с таким идентификатором пользователя и кодом

Проверьте, что вебхук существует и активен, и скопируйте его адрес заново из настроек

401

invalid_token

Битрикс24 не принял токен, например его скопировали с ошибкой

Получите новый токен по протоколу OAuth 2.0

401

expired_token

Срок действия токена истек

Обновите токен — порядок описан в статье Автоматическое продление токенов OAuth 2.0

403

WRONG_AUTH_TYPE

Методу нужен контекст приложения, а запрос пришел через вебхук

Вызовите метод из приложения

Системные ошибки и порядок их обработки описаны в статье Коды ошибок, ошибки конкретного метода — на его странице.

Продолжите изучение