Для AI-агентов: markdown этой страницы — /docs-content/entities/delivery-services/update.md индекс документации — /llms.txt
Обновить службу доставки
PATCH /v1/delivery-services/:id
Частично обновляет службу доставки по идентификатору, сохраняя значения полей, которые не переданы в запросе.
Поля передаются в корне JSON без обёртки fields.
Параметры
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
id (path) |
integer | да | Положительный безопасный целочисленный идентификатор из списка служб доставки |
Поля запроса (body)
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
name |
string | нет | Название службы. Пустая строка и "0" не допускаются |
currency |
string | нет | Код валюты, например USD. Список валют |
description |
string | нет | Описание службы |
sort |
integer | нет | Индекс сортировки |
active |
string | нет | Активность службы, например Y или N |
logo |
string[] | нет | Два непустых элемента: имя файла и его содержимое в base64. Размер файла после декодирования — до 2 МиБ |
Тело должно содержать хотя бы одно поле. Размер JSON — до 3 МиБ.
restCode и config задаются только при создании службы.
Примеры
curl — личный ключ
curl -X PATCH "https://vibecode.bitrix24.tech/v1/delivery-services/85" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Курьерская доставка по адресу"
}'
curl — OAuth-приложение
curl -X PATCH "https://vibecode.bitrix24.tech/v1/delivery-services/85" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Курьерская доставка по адресу"
}'
JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/delivery-services/85', {
method: 'PATCH',
headers: {
'X-Api-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'Курьерская доставка по адресу',
}),
})
const { success, data } = await res.json()
console.log(data.id)
JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/delivery-services/85', {
method: 'PATCH',
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'Курьерская доставка по адресу',
}),
})
const { success, data } = await res.json()
console.log(data.id)
Поля ответа
HTTP-статус — 200 OK. Возвращается обновлённая запись.
RO — поля только для чтения.
| Поле | Тип | Описание |
|---|---|---|
success |
boolean | true при успехе |
data |
object | Обновлённая служба доставки |
data.id |
integer | Идентификатор службы. RO |
data.parentId |
integer | null | Идентификатор родительской службы или null. RO |
data.name |
string | null | Название службы |
data.active |
string | null | Активность службы |
data.description |
string | null | Описание службы |
data.currency |
string | null | Код валюты |
data.sort |
integer | null | Индекс сортировки |
data.logotype |
integer | null | Идентификатор файла логотипа, не URL, или null. RO. Для записи используется logo |
Пример ответа
{
"success": true,
"data": {
"id": 85,
"parentId": null,
"name": "Курьерская доставка по адресу",
"active": "N",
"description": "",
"currency": "USD",
"sort": 100,
"logotype": null
}
}
Пример ответа при ошибке
400 — в теле передано поле logotype вместо logo:
{
"success": false,
"error": {
"code": "READONLY_FIELD",
"message": "Field 'logotype' is not writable for this operation"
}
}
Ошибки
| HTTP | error.code |
Описание |
|---|---|---|
| 400 | INVALID_PARAMS |
id не является положительным безопасным целым числом, неверный тип поля или некорректный файл в logo |
| 400 | MISSING_REQUIRED_FIELDS |
Тело не является непустым JSON-объектом либо name равен пустой строке или "0" |
| 400 | READONLY_FIELD |
В теле есть поле вне таблицы полей запроса, в том числе logotype, restCode или config |
| 404 | ENTITY_NOT_FOUND |
Служба с указанным id не найдена при обновлении |
| 404 | ENTITY_NOT_FOUND |
После успешной записи обновлённая служба не найдена при чтении результата |
| 413 | PAYLOAD_TOO_LARGE |
Файл логотипа превышает 2 МиБ или тело JSON превышает 3 МиБ |
| 422 | BITRIX_ERROR |
Битрикс24 отклонил или не подтвердил обновление. Причина указана в error.message |
| 502 | BITRIX_RESPONSE_INVALID |
Ответ Битрикс24 на обновление имеет некорректную структуру |
| 502 | BITRIX_RESPONSE_INVALID |
Не удалось прочитать корректную запись после обновления |
| 403 | BITRIX_ACCESS_DENIED |
Нет права на изменение службы, служба создана без REST-обработчика или принадлежит другому OAuth-приложению |
| 401 | TOKEN_MISSING |
У API-ключа нет настроенных токенов Битрикс24 |
| 403 | SCOPE_DENIED |
У API-ключа нет скоупа delivery |
| 403 | WRITE_BLOCKED_READONLY_KEY |
API-ключ работает в режиме только для чтения |
Полный список общих ошибок API — Ошибки.
Известные особенности
Ошибка при чтении результата не означает, что изменение не сохранилось. Перед повтором запроса проверьте службу через получение по идентификатору.