Для AI-агентов: markdown этой страницы — /docs-content/entities/delivery-services/create.md индекс документации — /llms.txt

POST /v1/delivery-services

POST /v1/delivery-services

Bitrix24: sale.delivery.add. Скоуп: delivery.

Создаёт запись на обработчике из handlers. Обработчик должен уже существовать.

Параметры

Поле Тип Обязательно
name string yes
currency string yes
description string no
sort integer no
active string no
logo [filename, base64] no
restCode string yes
config object / array no

logo передаёт base64-файл до 2 МиБ. name не пустой; тело PATCH не пустое. Поля вне таблицы отклоняются, а не теряются. config — нативный список элементов Б24 с CODE и VALUE. Регистр ключей сохраняется.

restCode — code из обработчиков; currency — код валюты, например USD.

Примеры

cURL личный ключ

Terminal
curl -X POST "https://vibecode.bitrix24.tech/v1/delivery-services" -H "X-Api-Key: $VIBE_API_KEY" -H 'Content-Type: application/json' -d '{"name": "VIBE-PROBE example", "restCode": "example_handler", "currency": "USD", "active": "N"}'

cURL OAuth

Terminal
curl -X POST "https://vibecode.bitrix24.tech/v1/delivery-services" -H "X-Api-Key: $VIBE_API_KEY" -H "Authorization: Bearer $APP_SESSION" -H 'Content-Type: application/json' -d '{"name": "VIBE-PROBE example", "restCode": "example_handler", "currency": "USD", "active": "N"}'

JavaScript личный ключ

javascript
const response = await fetch("https://vibecode.bitrix24.tech/v1/delivery-services", {
  method: "POST",
  headers: {"X-Api-Key": "YOUR_API_KEY", "Content-Type": "application/json"},
  body: JSON.stringify({"name": "VIBE-PROBE example", "restCode": "example_handler", "currency": "USD", "active": "N"}),
});
console.log(await response.json());

JavaScript OAuth

javascript
const response = await fetch("https://vibecode.bitrix24.tech/v1/delivery-services", {
  method: "POST",
  headers: {"X-Api-Key": "YOUR_API_KEY", "Authorization": "Bearer YOUR_APP_SESSION", "Content-Type": "application/json"},
  body: JSON.stringify({"name": "VIBE-PROBE example", "restCode": "example_handler", "currency": "USD", "active": "N"}),
});
console.log(await response.json());

Поля ответа

success — true. data — запись или массив полей; DELETE отдаёт true. Создание доставки отдаёт parent и profiles. У списков meta.total равен длине data. Пример показывает структуру; номера записей зависят от портала.

JSON
{
  "success": true,
  "data": {
    "parent": {
      "id": 10,
      "name": "VIBE-PROBE example",
      "active": "N"
    },
    "profiles": []
  }
}

Ошибки

HTTP Code Причина
400 INVALID_PARAMS Invalid ID, query or body shape
400 MISSING_REQUIRED_FIELDS Missing required write fields
400 READONLY_FIELD Unsupported write field
400 UNKNOWN_FILTER_FIELD Unknown filter field
400 UNKNOWN_SELECT_FIELD Unknown select field
400 UNKNOWN_SORT_FIELD Unknown sort field
401 TOKEN_MISSING Missing Bitrix24 credentials
403 SCOPE_DENIED Missing delivery scope
403 WRITE_BLOCKED_READONLY_KEY Writing with a readonly key
403 BITRIX_ACCESS_DENIED Bitrix24 refuses access or service ownership
404 ENTITY_NOT_FOUND Missing service
413 PAYLOAD_TOO_LARGE Logo or body size exceeds limit
422 BITRIX_ERROR Bitrix24 business refusal; original text is preserved
502 BITRIX_RESPONSE_INVALID Malformed platform success response

422 при неизвестном обработчике (пример формы ошибки):

JSON
{
  "success": false,
  "error": {
    "code": "BITRIX_ERROR",
    "message": "Handler not found"
  }
}

Errors

Смотрите также