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

Поставить отметку «отгружено»

POST /v1/shipments/:id/ship

Ставит отгрузке заказа интернет-магазина отметку «отгружено». Вызывайте, когда товар передан в доставку.

Параметры

Параметр Тип Обяз. Описание
id (path) number да ID отгрузки, целое положительное число. Список: GET /v1/shipments

Передайте пустой объект {} с заголовком Content-Type: application/json либо отправьте запрос без тела и без этого заголовка.

Примеры

curl — личный ключ

Terminal
curl -X POST "https://vibecode.bitrix24.tech/v1/shipments/1205/ship" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

curl — OAuth-приложение

Terminal
curl -X POST "https://vibecode.bitrix24.tech/v1/shipments/1205/ship" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

JavaScript — личный ключ

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/shipments/1205/ship', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: '{}',
})

const { success, data } = await res.json()
console.log('Отгружено:', data.deducted, '— дата отметки:', data.dateDeducted)

JavaScript — OAuth-приложение

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/shipments/1205/ship', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: '{}',
})

const { success, data } = await res.json()

Поля ответа

Поле Тип Описание
success boolean true при успехе
data object Отгрузка со всеми полями в состоянии после отметки — см. Поля отгрузки
data.deducted boolean Всегда true в успешном ответе
data.dateDeducted datetime Дата, когда поставлена отметка
data.empDeductedId number ID сотрудника, поставившего отметку. Список: GET /v1/users

Пример ответа

JSON
{
  "success": true,
  "data": {
    "accountNumber": "1027/2",
    "allowDelivery": true,
    "basePriceDelivery": 500,
    "canceled": false,
    "comments": "Тестовая отгрузка для документации",
    "companyId": null,
    "currency": "RUB",
    "customPriceDelivery": false,
    "dateAllowDelivery": "2026-10-06T11:31:17.000Z",
    "dateCanceled": null,
    "dateDeducted": "2026-10-06T16:44:20.000Z",
    "dateInsert": "2026-10-06T11:30:44.000Z",
    "dateMarked": null,
    "dateResponsibleId": "2026-10-06T11:30:44.000Z",
    "deducted": true,
    "deliveryDocDate": null,
    "deliveryDocNum": "ТН-1205",
    "deliveryId": 1,
    "deliveryName": "Доставка курьером",
    "deliveryXmlId": null,
    "discountPrice": 0,
    "empAllowDeliveryId": 1317,
    "empCanceledId": null,
    "empDeductedId": 1317,
    "empMarkedId": null,
    "empResponsibleId": 1317,
    "externalDelivery": false,
    "id": 1205,
    "id1c": null,
    "marked": false,
    "orderId": 1027,
    "priceDelivery": 500,
    "reasonMarked": null,
    "reasonUndoDeducted": null,
    "responsibleId": 1295,
    "shipmentItems": [],
    "statusId": "DN",
    "statusXmlId": null,
    "system": false,
    "trackingDescription": null,
    "trackingLastCheck": null,
    "trackingNumber": "VIBE-DOC-3",
    "trackingStatus": null,
    "updated1c": false,
    "version1c": null,
    "xmlId": "bx_6ac4cdd46e442"
  }
}

Пример ответа при ошибке

400 — в теле запроса передано поле:

JSON
{
  "success": false,
  "error": {
    "code": "INVALID_PARAMS",
    "message": "This action takes an empty body."
  }
}

Ошибки

HTTP Код Описание
400 INVALID_ID id в пути не является целым положительным числом. Текст ошибки — Shipment ID must be a positive integer.
400 INVALID_PARAMS Тело запроса не пустое либо не является объектом. Текст ошибки — This action takes an empty body.
404 ENTITY_NOT_FOUND Отгрузки с таким id нет. Текст ошибки — shipment is not exists
422 BITRIX_NO_EFFECT Битрикс24 не подтвердил смену отметки. Текст ошибки — Bitrix24 did not confirm the shipped mark change.
422 BITRIX_NO_EFFECT Отметка поставлена, но отгрузку не удалось перечитать. Текст ошибки — Bitrix24 did not return the shipment after the action.
422 BITRIX_NO_EFFECT Отгрузка перечитана, но deducted в ней не true. Текст ошибки — Bitrix24 did not persist the requested shipped mark.
422 BITRIX_ERROR Битрикс24 отклонил отметку. Текст причины — в message
403 BITRIX_ACCESS_DENIED У пользователя ключа нет прав на изменение заказов в Битрикс24
403 WRITE_BLOCKED_READONLY_KEY Ключ работает в режиме только для чтения
403 SCOPE_DENIED API-ключ не имеет скоупа sale
401 MISSING_API_KEY Не передан заголовок X-Api-Key
401 TOKEN_MISSING API-ключ не имеет настроенных токенов

Полный список общих ошибок API — Ошибки.

Известные особенности

Складской учёт. Если на портале включён складской учёт, отметка может списать со склада остатки товаров из позиций отгрузки.

Повторный вызов ничего не меняет. Для отгрузки, у которой отметка уже стоит, запрос отвечает 200 с той же отгрузкой. Дата dateDeducted и сотрудник empDeductedId остаются от первой отметки. Поэтому после 422 BITRIX_NO_EFFECT запрос можно повторить либо проверить deducted через GET /v1/shipments/:id.

Отгрузку с отметкой нельзя удалить. DELETE /v1/shipments/:id отвечает 422 BITRIX_ERROR, пока отметка стоит. Перед удалением снимите её через POST /v1/shipments/:id/unship.

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