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

cURL

Замените https://example.ru/api/ адресом своего API. Нужные наборы роутов должны быть включены.

Сервисные роуты

Параметры адреса

# Проверить работу API
curl 'https://example.ru/api/up'

# Передать id в адресе и name в строке запроса
curl 'https://example.ru/api/up/user/15?name=Ivan'

Передача JSON

# Передать параметры в теле запроса
curl 'https://example.ru/api/up' \
  -H 'Content-Type: application/json' \
  --data '{"name": "Иван", "quantity": 2}'

XML-ответ

# Отправить JSON и получить XML-ответ встроенного PUT-роута
curl -X PUT 'https://example.ru/api/up' \
  -H 'Content-Type: application/json' \
  --data '{"name": "Иван"}'
# Выбрать XML для GET-запроса
curl 'https://example.ru/api/up?format=xml'

Доступ по группам

# HTTP 403: в штатной карте задан whitelist без авторизации API
curl 'https://example.ru/api/up/group/1'

Вызываемый класс

# Проверить вызываемый класс; данные не удаляются
curl -X DELETE 'https://example.ru/api/up'

Токены

При AUTH_MFA_REQUIRED для выпуска и списка токенов через Basic нужны cookie сессии того же пользователя после входа с MFA. Эти примеры cookie не передают. Для серверной интеграции можно выпустить токен в админке и использовать Bearer.

Вместо login укажите логин пользователя — cURL запросит пароль. Подставьте свои <ACCESS_TOKEN>, <REFRESH_TOKEN> и <CLIENT_ID>.

Для приведённых ниже примеров используйте пару, выпущенную с User-Agent: MyIntegration/1.0, либо ручную пару без привязки. При переносе токена из браузера клиент будет другим — проверка привязки вернёт HTTP 401.

Выпуск

# Создать пару токенов для постоянного серверного клиента
curl -X POST 'https://example.ru/api/token' \
  --user 'login' \
  --user-agent 'MyIntegration/1.0'

Обновление

# Заменить пару по refresh-токену
curl -X PUT 'https://example.ru/api/token' \
  --user-agent 'MyIntegration/1.0' \
  -H 'Authorization: Bearer <REFRESH_TOKEN>'

Список

# Получить активные токен-сессии пользователя
curl 'https://example.ru/api/token' \
  --user 'login' \
  --user-agent 'MyIntegration/1.0'

Отзыв

# client.id берётся из списка сессий
curl -X DELETE 'https://example.ru/api/token?client_id=<CLIENT_ID>' \
  --user-agent 'MyIntegration/1.0' \
  -H 'Authorization: Bearer <ACCESS_TOKEN>'

После выпуска или обновления сохраните оба токена из ответа: access и refresh. Поля ответа и правила работы с токенами.

Провайдер

Описание метода

# Узнать параметры разрешённого метода
curl -G 'https://example.ru/api/provider' \
  --user-agent 'MyIntegration/1.0' \
  -H 'Authorization: Bearer <ACCESS_TOKEN>' \
  --data-urlencode 'class=Bitrix\Main\Localization\Loc' \
  --data-urlencode 'method=getCurrentLang'

Выполнение метода

# Получить текущий язык Битрикса
curl 'https://example.ru/api/provider' \
  --user-agent 'MyIntegration/1.0' \
  -H 'Authorization: Bearer <ACCESS_TOKEN>' \
  -H 'Content-Type: application/json' \
  --data '{
    "class": "Bitrix\\Main\\Localization\\Loc",
    "method": "getCurrentLang"
  }'