Документация1С-Битрикс: Модулиnative.apiРазработчикамНативные роуты

Токены

Роут token добавляется к пути интерфейса API и работает при включённых нативных роутах.

ЗапросАвторизацияРезультат
GET tokenBasic: логин и пароль пользователяАктивные токен-сессии пользователя, HTTP 200
POST tokenBasic: логин и пароль пользователяНовая пара access/refresh, HTTP 201
PUT tokenBearer: refresh-токенЗамена пары токенов, HTTP 200
DELETE token?client_id=…Bearer: access-токенОтзыв токенов указанного клиента, HTTP 200

Используйте HTTPS. При AUTH_MFA_REQUIRED завершите вход с MFA на сайте и повторите запрос с cookie этой сессии.

Выпуск и обновление

POST и PUT возвращают в result массив из двух объектов:

ПолеЗначение
typeaccess или refresh
tokenЗначение токена для заголовка Authorization
active_toДата окончания действия
timestamp.active_toСрок действия в Unix timestamp
timestamp.expires_inСрок действия в секундах
expires_inСрок действия в текстовом виде

POST для того же клиента и PUT заменяют прежнюю пару. Сохраните оба новых токена. Схема жизненного цикла, сроки действия.

Привязка к клиенту

Токены, полученные при выпуске через API, привязаны к клиенту. Используйте одинаковые User-Agent, Accept-Language, Sec-CH-UA, Sec-CH-UA-Mobile и Sec-CH-UA-Platform при выпуске, обновлении и обращении к защищённым роутам. Для серверной интеграции задайте постоянный User-Agent.

При изменении этих заголовков access- и refresh-токены могут быть отклонены с AUTH_INVALID (HTTP 401). Например, после смены браузера или языка может потребоваться получить новую пару. Если все перечисленные заголовки пусты, возвращается AUTH_REQUIRED (HTTP 401).

Для использования в другом приложении можно выпустить пару вручную. Такие токены не привязаны к заголовкам клиента; передавайте User-Agent и соблюдайте их срок действия.

Список и отзыв

GET возвращает даты date_create, active_to, их Unix timestamp в timestamp и объект client: id, name, ip, type, agent. Значения токенов не выдаются. Если сессий нет, result может отсутствовать.

В DELETE передайте client.id из списка в параметре client_id. Ответ: result.delete — удалены ли токены, result.client_id — переданный ID. Если у пользователя нет токенов этого клиента, delete равен false, а result.code содержит CLIENT_NOT_FOUND. HTTP-статус остаётся 200. Для чужого и отсутствующего клиента ответ одинаков. При delete = true поле code отсутствует. Отмена удаления обработчиком события и ошибка записи возвращаются отдельными ошибками.

При отключённом техническом конверте результат возвращается без обёртки result.

Пример данных result, когда токены клиента не найдены:

{
  "delete": false,
  "client_id": "client-id",
  "code": "CLIENT_NOT_FOUND"
}

В XML те же данные представлены элементами (фрагмент ответа):

<result>
  <delete></delete>
  <client_id>client-id</client_id>
  <code>CLIENT_NOT_FOUND</code>
</result>