Для 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 — личный ключ
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-приложение
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 — личный ключ
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-приложение
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 |
Пример ответа
{
"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 — в теле запроса передано поле:
{
"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.