Кросс-докинг
Каждая операция ниже сгенерирована из OpenAPI v2 и содержит параметры, поля запроса, поля ответа, ошибки и примеры.
Cross-dock-кейс не создаётся отдельным endpoint. Передайте
type_id=3 в POST /api/v2/acceptances. Успешная команда атомарно создаёт приёмку, draft-кейс, supply, запись команды и первое событие аудита.Обязательный командный контракт
| Аутентификация | Authorization: Bearer …, Accept: application/json; область данных ограничена tenant/data scope пользователя. |
|---|---|
| Envelope | Write-операции принимают {"data": {...}}. Публичные поля не содержат внутренних DB-префиксов. |
| Двойная идемпотентность | Передавайте заголовок Idempotency-Key и новый UUID data.command_id. Повтор того же payload возвращает исходный результат; другой payload с тем же ключом/UUID даёт 409. |
| Версия | Для мутаций существующего агрегата передавайте актуальную version. При 409 перечитайте ресурс и не повторяйте физический скан вслепую. |
| Корреляция | Сохраняйте X-Correlation-ID, command_id, public ID кейса/сессии и версию — это минимальный набор для безопасного расследования. |
| Ошибки | Cross-dock возвращает message, объект errors и meta.error_code/meta.details. Верхнеуровневого поля error в этом контуре нет. |
Последовательность интеграции
| 1. Разрешение склада | Кросс-докинг должен быть включён в настройках выбранного клиентского склада. |
|---|---|
| 2. Входящий документ | POST /acceptances с type_id=3, command_id, строками и расписанием. Сохраните возвращённые acceptance ID, case ID/public ID и process version. |
| 3. Спрос и направления | POST /cases/{case}/orders создаёт cross-dock-заказ, target и demand. Назначьте места через PUT /targets/places; при наличии состава коробов передайте манифест через PUT /manifest. |
| 4. Plan | POST /cases/{case}/plan; затем прочитайте supplies, demands и allocations. Нехватка должна быть видна до release. |
| 5. Release | POST /cases/{case}/release фиксирует план, создаёт задания и актуальные target labels. Перед исполнением получите tasks и labels. |
| 6. Source scan | POST /cases/{case}/scans/source распознаёт товар, квант или SSCC и возвращает scan session с инструкцией. Для товара можно повторять сканы либо задать итог через POST /scan-sessions/{session}/quantity. |
| 7. Target scan | POST /cases/{case}/scans/target подтверждает только актуальную подписанную label. После подтверждения создаются точный fulfillment, движения и потребление hold. |
| 8. Исключение | POST /cases/{case}/exceptions фиксирует отклонение; POST /exceptions/{exception}/resolve закрывает его. Физический вывод количества выполняется только командой fallback. |
| 9. Печать и погрузка | Создайте print jobs, выполните dispatch/acknowledge, привяжите loading visit и подтверждайте погрузочные сканы. |
| 10. Закрытие | Проверьте fulfillments, tasks, exceptions, loading-visits, print-jobs и events. POST /cases/{case}/close блокируется при незавершённом физическом состоянии. |
Товар, короб и количество
| Товар поштучно | Источник — штрихкод товара. Повторяйте скан для каждой единицы либо после первого скана задайте количество через endpoint сессии. |
|---|---|
| Короб/HU | Существует в cross-dock только при собственном сканируемом SSCC или штрихкоде кванта. Состав берётся из манифеста/учётных данных, а не из самого SSCC. |
| Короб без штрихкода | Не моделируется как HU: передавайте поштучные сканы товара. |
| Нельзя направить целиком | Source scan возвращает инструкцию open_box_and_scan_items. Target scan коробной сессии запрещён; оператор вскрывает короб и продолжает по товару. |
| Заказ | До полного исполнения остаётся в статусе сборки, не использует обычный резерв и упаковочный стол. Полное fulfillment переводит его в «Упакован» с необходимыми ledger/audit-записями. |
Пример ошибки настройки склада
{
"message": "На клиентском складе работа с кросс-докингом выключена.",
"errors": {
"warehouse_id": ["Включите кросс-докинг в настройках клиентского склада."]
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_WAREHOUSE_DISABLED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
"physical_warehouse_id": 42,
"client_warehouse_id": 43,
"shop_id": 12
}
}
}
Кросс-докинг
Получить список cross-dock-кейсов
| operationId | crossDockListCases |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
List cross-dock cases in the isolated cross-dock execution context.
Результат ограничен tenant-областью аутентифицированного пользователя API v2. Для коллекций поддерживаются описанные фильтры, сортировка и пагинация.
Unknown read parameters are ignored. per_page is silently capped; use meta.per_page. Date-only boundaries follow the installation's stored calendar dates; ISO timestamps are serialized in UTC. The default general API limit is 600/minute; a user-specific override may apply. Its bucket is shared by authenticated user, not by shop/domain; Retry-After is returned on throttling.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Параметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
page |
query | нет | integer:int64 |
form | true | min: 1 | Номер страницы. Этот фильтр также можно передать как filter[page], если это поддерживает Laravel query adapter. |
1 |
per_page |
query | нет | integer:int64 |
form | true | min: 1 max: 250 |
Количество записей на странице. По умолчанию 50; максимум 250. Этот фильтр также можно передать как filter[per_page], если это поддерживает Laravel query adapter. |
50 |
sort |
query | нет | string |
form | false | pattern: ^-?[A-Za-z0-9_]+(,-?[A-Za-z0-9_]+)*$ | Поля сортировки через запятую. Префикс - означает сортировку по убыванию. Допустимые поля: id, planned_arrival_at, planned_departure_at, created_at, updated_at. По умолчанию: -id. Этот фильтр также можно передать как filter[sort], если это поддерживает Laravel query adapter. |
"-id" |
include |
query | нет | string |
form | false | Связанные сущности через запятую. Допустимые значения: acceptance, orders, targets. Этот фильтр также можно передать как filter[include], если это поддерживает Laravel query adapter. |
"acceptance,orders,targets" |
|
id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по id с точным совпадением. Этот фильтр также можно передать как filter[id], если это поддерживает Laravel query adapter. |
1001 |
status |
query | нет | string |
form | true | Фильтр по status с точным совпадением. Этот фильтр также можно передать как filter[status], если это поддерживает Laravel query adapter. |
"waiting" |
|
physical_warehouse_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по physical_warehouse_id с точным совпадением. Этот фильтр также можно передать как filter[physical_warehouse_id], если это поддерживает Laravel query adapter. |
41 |
client_warehouse_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по client_warehouse_id с точным совпадением. Этот фильтр также можно передать как filter[client_warehouse_id], если это поддерживает Laravel query adapter. |
43 |
acceptance_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по acceptance_id с точным совпадением. Этот фильтр также можно передать как filter[acceptance_id], если это поддерживает Laravel query adapter. |
1 |
planned_arrival_at_from |
query | нет | string:date |
form | true | Нижняя включительная граница даты для planned_arrival_at. Этот фильтр также можно передать как filter[planned_arrival_at_from], если это поддерживает Laravel query adapter. |
"2026-07-14" |
|
planned_arrival_at_to |
query | нет | string:date |
form | true | Верхняя включительная граница даты для planned_arrival_at. Этот фильтр также можно передать как filter[planned_arrival_at_to], если это поддерживает Laravel query adapter. |
"2026-07-14" |
|
created_at_from |
query | нет | string:date |
form | true | Нижняя включительная граница даты для created_at. Этот фильтр также можно передать как filter[created_at_from], если это поддерживает Laravel query adapter. |
"2026-07-14" |
|
created_at_to |
query | нет | string:date |
form | true | Верхняя включительная граница даты для created_at. Этот фильтр также можно передать как filter[created_at_to], если это поддерживает Laravel query adapter. |
"2026-07-14" |
Тело запроса
Тело запроса отсутствует.
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | array<CrossDockCase> |
|
|||
data[] |
нет | CrossDockCase |
Cross-dock aggregate linking inbound supply, outbound demand, execution, exceptions, and loading. | |
||
data[].id |
да | integer:int64 |
readOnly | min: 1 | 1001 |
|
data[].created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].public_id |
да | string |
"01J2CROSSDOCKCASE000000001" |
|||
data[].external_id |
нет | string | null |
"XD-2026-001" |
|||
data[].domain_id |
да | integer:int64 |
min: 1 | 3 |
||
data[].physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
data[].client_warehouse_id |
нет | integer:int64 | null |
min: 1 | 43 |
||
data[].client_id |
нет | integer:int64 | null |
min: 1 | 15 |
||
data[].process_version |
да | string |
"direct_order_v1" |
|||
data[].status |
да | enum |
enum: draft, planned, released, in_progress, exception, completed, cancelled | "released" |
||
data[].status_before_exception |
нет | string | null |
"released" |
|||
data[].plan_hash |
нет | string | null |
minLength: 64 maxLength: 64 |
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" |
||
data[].strategy_version |
нет | string | null |
"fifo-v1" |
|||
data[].planned_arrival_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].cutoff_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].planned_departure_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].planned_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].released_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].version |
да | integer:int64 |
min: 1 | 4 |
||
data[].acceptance |
нет | object | null |
|
|||
data[].acceptance.id |
да | integer:int64 |
min: 1 | 5101 |
||
data[].acceptance.external_id |
нет | string | null |
"ASN-100245" |
|||
data[].acceptance.type_id |
да | integer:int64 |
1 |
|||
data[].acceptance.type_code |
да | string |
"crossdock" |
|||
data[].acceptance.status_id |
да | integer:int64 |
1 |
|||
links |
да | PaginationLinks |
|
|||
links.first |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=1" |
|||
links.last |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
links.prev |
да | string:uri | null |
|
|||
links.next |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
meta |
да | PaginationMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.current_page |
да | integer:int32 |
min: 1 | 1 |
||
meta.from |
да | integer:int32 | null |
min: 1 | 1 |
||
meta.last_page |
да | integer:int32 |
min: 1 | 2 |
||
meta.path |
да | string:uri |
"https://betawms.ffcdek.ru/api/v2/orders" |
|||
meta.per_page |
да | integer:int32 |
min: 1 | 50 |
||
meta.to |
да | integer:int32 | null |
min: 1 | 50 |
||
meta.total |
да | integer:int32 |
min: 0 | 73 |
Примеры ответа
success
{
"data": [
{
"id": 1001,
"public_id": "01J2CROSSDOCKCASE000000001",
"domain_id": 3,
"physical_warehouse_id": 42,
"process_version": "direct_order_v1",
"status": "released",
"version": 4
}
],
"links": {
"first": "https://betawms.ffcdek.ru/api/v2/crossdock/cases?page=1",
"last": "https://betawms.ffcdek.ru/api/v2/crossdock/cases?page=2",
"prev": null,
"next": "https://betawms.ffcdek.ru/api/v2/crossdock/cases?page=2"
},
"meta": {
"api_version": "v2",
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://betawms.ffcdek.ru/api/v2/crossdock/cases",
"per_page": 50,
"to": 50,
"total": 73
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Получить cross-dock-кейс
| operationId | crossDockGetCase |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Get cross-dock case in the isolated cross-dock execution context.
Результат ограничен tenant-областью аутентифицированного пользователя API v2. Для коллекций поддерживаются описанные фильтры, сортировка и пагинация.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Параметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
Тело запроса
Тело запроса отсутствует.
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockCase |
Cross-dock aggregate linking inbound supply, outbound demand, execution, exceptions, and loading. | |
||
data.id |
да | integer:int64 |
readOnly | min: 1 | 1001 |
|
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.public_id |
да | string |
"01J2CROSSDOCKCASE000000001" |
|||
data.external_id |
нет | string | null |
"XD-2026-001" |
|||
data.domain_id |
да | integer:int64 |
min: 1 | 3 |
||
data.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
data.client_warehouse_id |
нет | integer:int64 | null |
min: 1 | 43 |
||
data.client_id |
нет | integer:int64 | null |
min: 1 | 15 |
||
data.process_version |
да | string |
"direct_order_v1" |
|||
data.status |
да | enum |
enum: draft, planned, released, in_progress, exception, completed, cancelled | "released" |
||
data.status_before_exception |
нет | string | null |
"released" |
|||
data.plan_hash |
нет | string | null |
minLength: 64 maxLength: 64 |
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" |
||
data.strategy_version |
нет | string | null |
"fifo-v1" |
|||
data.planned_arrival_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.cutoff_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.planned_departure_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.planned_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.released_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.version |
да | integer:int64 |
min: 1 | 4 |
||
data.acceptance |
нет | object | null |
|
|||
data.acceptance.id |
да | integer:int64 |
min: 1 | 5101 |
||
data.acceptance.external_id |
нет | string | null |
"ASN-100245" |
|||
data.acceptance.type_id |
да | integer:int64 |
1 |
|||
data.acceptance.type_code |
да | string |
"crossdock" |
|||
data.acceptance.status_id |
да | integer:int64 |
1 |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 1001,
"public_id": "01J2CROSSDOCKCASE000000001",
"domain_id": 3,
"physical_warehouse_id": 42,
"process_version": "direct_order_v1",
"status": "released",
"version": 4
},
"meta": {
"api_version": "v2"
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Обновить реквизиты cross-dock-кейса
| operationId | crossDockUpdateCaseMetadata |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Update cross-dock case metadata in the isolated cross-dock execution context.
Передавайте envelope API v2 data и заголовок Idempotency-Key. Мутации идемпотентны по command_id; устаревшая version версионируемого агрегата возвращает 409.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request PATCH "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonПараметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | нет | string |
maxLength: 191 | Опциональный ключ идемпотентности для write-запросов API v2. Успешные ответы 2xx/3xx повторяются для того же ключа и идентичного payload в течение одного дня. Тот же ключ с другим payload возвращает 409. |
"ord-create-20260714-001" |
Тело запроса
CrossDockUpdateCaseRequest обязательно
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | object |
|
|||
data.command_id |
да | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
да | integer:int64 |
min: 1 | 3 |
||
data.external_id |
нет | string | null |
maxLength: 190 | "XD-2026-001" |
||
data.planned_arrival_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.cutoff_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.planned_departure_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
Примеры запроса
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 3
}
}
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockCase |
Cross-dock aggregate linking inbound supply, outbound demand, execution, exceptions, and loading. | |
||
data.id |
да | integer:int64 |
readOnly | min: 1 | 1001 |
|
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.public_id |
да | string |
"01J2CROSSDOCKCASE000000001" |
|||
data.external_id |
нет | string | null |
"XD-2026-001" |
|||
data.domain_id |
да | integer:int64 |
min: 1 | 3 |
||
data.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
data.client_warehouse_id |
нет | integer:int64 | null |
min: 1 | 43 |
||
data.client_id |
нет | integer:int64 | null |
min: 1 | 15 |
||
data.process_version |
да | string |
"direct_order_v1" |
|||
data.status |
да | enum |
enum: draft, planned, released, in_progress, exception, completed, cancelled | "released" |
||
data.status_before_exception |
нет | string | null |
"released" |
|||
data.plan_hash |
нет | string | null |
minLength: 64 maxLength: 64 |
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" |
||
data.strategy_version |
нет | string | null |
"fifo-v1" |
|||
data.planned_arrival_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.cutoff_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.planned_departure_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.planned_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.released_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.version |
да | integer:int64 |
min: 1 | 4 |
||
data.acceptance |
нет | object | null |
|
|||
data.acceptance.id |
да | integer:int64 |
min: 1 | 5101 |
||
data.acceptance.external_id |
нет | string | null |
"ASN-100245" |
|||
data.acceptance.type_id |
да | integer:int64 |
1 |
|||
data.acceptance.type_code |
да | string |
"crossdock" |
|||
data.acceptance.status_id |
да | integer:int64 |
1 |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 1001,
"public_id": "01J2CROSSDOCKCASE000000001",
"domain_id": 3,
"physical_warehouse_id": 42,
"process_version": "direct_order_v1",
"status": "released",
"version": 4
},
"meta": {
"api_version": "v2"
}
}
400 Некорректный запрос
CrossDockBadRequest
Некорректный запрос.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Конфликт
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Ошибка валидации
CrossDockValidationError
The given data was invalid.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Получить распределения cross-dock
| operationId | crossDockListAllocations |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
List cross-dock allocations in the isolated cross-dock execution context.
Результат ограничен tenant-областью аутентифицированного пользователя API v2. Для коллекций поддерживаются описанные фильтры, сортировка и пагинация.
Unknown read parameters are ignored. per_page is silently capped; use meta.per_page. Date-only boundaries follow the installation's stored calendar dates; ISO timestamps are serialized in UTC. The default general API limit is 600/minute; a user-specific override may apply. Its bucket is shared by authenticated user, not by shop/domain; Retry-After is returned on throttling.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/allocations" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Параметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
page |
query | нет | integer:int64 |
form | true | min: 1 | Номер страницы. Этот фильтр также можно передать как filter[page], если это поддерживает Laravel query adapter. |
1 |
per_page |
query | нет | integer:int64 |
form | true | min: 1 max: 500 |
Количество записей на странице. По умолчанию 100; максимум 500. Этот фильтр также можно передать как filter[per_page], если это поддерживает Laravel query adapter. |
100 |
sort |
query | нет | string |
form | false | pattern: ^-?[A-Za-z0-9_]+(,-?[A-Za-z0-9_]+)*$ | Поля сортировки через запятую. Префикс - означает сортировку по убыванию. Допустимые поля: id, created_at. По умолчанию: id. Этот фильтр также можно передать как filter[sort], если это поддерживает Laravel query adapter. |
"id" |
id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по id с точным совпадением. Этот фильтр также можно передать как filter[id], если это поддерживает Laravel query adapter. |
1001 |
state |
query | нет | string |
form | true | Фильтр по state с точным совпадением. Этот фильтр также можно передать как filter[state], если это поддерживает Laravel query adapter. |
"ready" |
|
supply_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по supply_id с точным совпадением. Этот фильтр также можно передать как filter[supply_id], если это поддерживает Laravel query adapter. |
1 |
demand_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по demand_id с точным совпадением. Этот фильтр также можно передать как filter[demand_id], если это поддерживает Laravel query adapter. |
1 |
Тело запроса
Тело запроса отсутствует.
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | array<CrossDockAllocation> |
|
|||
data[] |
нет | CrossDockAllocation |
Planner decision assigning supply to demand. | |
||
data[].id |
да | integer:int64 |
readOnly | min: 1 | 1001 |
|
data[].created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].case_id |
да | integer:int64 |
min: 1 | 4101 |
||
data[].supply_id |
да | integer:int64 |
min: 1 | 4201 |
||
data[].demand_id |
да | integer:int64 |
min: 1 | 4251 |
||
data[].base_quantity |
да | number:float |
4 |
|||
data[].released_base_quantity |
нет | number:float |
4 |
|||
data[].short_base_quantity |
нет | number:float |
0 |
|||
data[].state |
да | string |
"ready" |
|||
data[].state_before_exception |
нет | string | null |
"ready" |
|||
data[].match_score |
нет | number:float |
1 |
|||
data[].match_reason |
нет | object |
|
|||
data[].match_reason.reason_codes |
нет | array<string> |
|
|||
data[].match_reason.reason_codes[] |
нет | string |
"base_product_match" |
|||
data[].version |
да | integer:int64 |
2 |
|||
links |
да | PaginationLinks |
|
|||
links.first |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=1" |
|||
links.last |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
links.prev |
да | string:uri | null |
|
|||
links.next |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
meta |
да | PaginationMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.current_page |
да | integer:int32 |
min: 1 | 1 |
||
meta.from |
да | integer:int32 | null |
min: 1 | 1 |
||
meta.last_page |
да | integer:int32 |
min: 1 | 2 |
||
meta.path |
да | string:uri |
"https://betawms.ffcdek.ru/api/v2/orders" |
|||
meta.per_page |
да | integer:int32 |
min: 1 | 50 |
||
meta.to |
да | integer:int32 | null |
min: 1 | 50 |
||
meta.total |
да | integer:int32 |
min: 0 | 73 |
Примеры ответа
success
{
"data": [
{
"id": 1001,
"case_id": 4101,
"supply_id": 4201,
"demand_id": 4251,
"base_quantity": 4,
"released_base_quantity": 4,
"short_base_quantity": 0,
"state": "ready",
"match_score": 1,
"version": 2
}
],
"links": {
"first": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/allocations?page=1",
"last": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/allocations?page=2",
"prev": null,
"next": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/allocations?page=2"
},
"meta": {
"api_version": "v2",
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/allocations",
"per_page": 100,
"to": 100,
"total": 123
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Отменить cross-dock-кейс
| operationId | crossDockCancelCase |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Cancel cross-dock case in the isolated cross-dock execution context.
Передавайте envelope API v2 data и заголовок Idempotency-Key. Мутации идемпотентны по command_id; устаревшая version версионируемого агрегата возвращает 409.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/cancel" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonПараметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | нет | string |
maxLength: 191 | Опциональный ключ идемпотентности для write-запросов API v2. Успешные ответы 2xx/3xx повторяются для того же ключа и идентичного payload в течение одного дня. Тот же ключ с другим payload возвращает 409. |
"ord-create-20260714-001" |
Тело запроса
CrossDockCancelCaseRequest обязательно
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | object |
|
|||
data.command_id |
да | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
да | integer:int64 |
min: 1 | 3 |
||
data.reason |
да | string |
maxLength: 5000 | "Supplier cancelled shipment" |
Примеры запроса
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 3,
"reason": "Supplier cancelled shipment"
}
}
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
нет | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
нет | string | null |
"released" |
|||
data.state |
нет | string | null |
"open" |
|||
data.version |
нет | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
нет | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Некорректный запрос
CrossDockBadRequest
Некорректный запрос.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Конфликт
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Ошибка валидации
CrossDockValidationError
The given data was invalid.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Закрыть cross-dock-кейс
| operationId | crossDockCloseCase |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Close cross-dock case in the isolated cross-dock execution context.
Передавайте envelope API v2 data и заголовок Idempotency-Key. Мутации идемпотентны по command_id; устаревшая version версионируемого агрегата возвращает 409.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/close" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonПараметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | нет | string |
maxLength: 191 | Опциональный ключ идемпотентности для write-запросов API v2. Успешные ответы 2xx/3xx повторяются для того же ключа и идентичного payload в течение одного дня. Тот же ключ с другим payload возвращает 409. |
"ord-create-20260714-001" |
Тело запроса
CrossDockCloseCaseRequest обязательно
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | object |
|
|||
data.command_id |
да | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
да | integer:int64 |
min: 1 | 8 |
Примеры запроса
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 8
}
}
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
нет | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
нет | string | null |
"released" |
|||
data.state |
нет | string | null |
"open" |
|||
data.version |
нет | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
нет | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Некорректный запрос
CrossDockBadRequest
Некорректный запрос.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Конфликт
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Ошибка валидации
CrossDockValidationError
The given data was invalid.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Получить потребности cross-dock
| operationId | crossDockListDemands |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
List cross-dock demands in the isolated cross-dock execution context.
Результат ограничен tenant-областью аутентифицированного пользователя API v2. Для коллекций поддерживаются описанные фильтры, сортировка и пагинация.
Unknown read parameters are ignored. per_page is silently capped; use meta.per_page. Date-only boundaries follow the installation's stored calendar dates; ISO timestamps are serialized in UTC. The default general API limit is 600/minute; a user-specific override may apply. Its bucket is shared by authenticated user, not by shop/domain; Retry-After is returned on throttling.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/demands" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Параметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
page |
query | нет | integer:int64 |
form | true | min: 1 | Номер страницы. Этот фильтр также можно передать как filter[page], если это поддерживает Laravel query adapter. |
1 |
per_page |
query | нет | integer:int64 |
form | true | min: 1 max: 500 |
Количество записей на странице. По умолчанию 100; максимум 500. Этот фильтр также можно передать как filter[per_page], если это поддерживает Laravel query adapter. |
100 |
sort |
query | нет | string |
form | false | pattern: ^-?[A-Za-z0-9_]+(,-?[A-Za-z0-9_]+)*$ | Поля сортировки через запятую. Префикс - означает сортировку по убыванию. Допустимые поля: id, priority, cutoff_at, created_at. По умолчанию: id. Этот фильтр также можно передать как filter[sort], если это поддерживает Laravel query adapter. |
"id" |
id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по id с точным совпадением. Этот фильтр также можно передать как filter[id], если это поддерживает Laravel query adapter. |
1001 |
state |
query | нет | string |
form | true | Фильтр по state с точным совпадением. Этот фильтр также можно передать как filter[state], если это поддерживает Laravel query adapter. |
"ready" |
|
product_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по product_id с точным совпадением. Этот фильтр также можно передать как filter[product_id], если это поддерживает Laravel query adapter. |
1201 |
base_product_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по base_product_id с точным совпадением. Этот фильтр также можно передать как filter[base_product_id], если это поддерживает Laravel query adapter. |
1200 |
order_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по order_id с точным совпадением. Этот фильтр также можно передать как filter[order_id], если это поддерживает Laravel query adapter. |
1 |
target_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по target_id с точным совпадением. Этот фильтр также можно передать как filter[target_id], если это поддерживает Laravel query adapter. |
1 |
Тело запроса
Тело запроса отсутствует.
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | array<CrossDockDemand> |
|
|||
data[] |
нет | CrossDockDemand |
Outbound product demand linked to one order and target. | |
||
data[].id |
да | integer:int64 |
readOnly | min: 1 | 1001 |
|
data[].created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].case_id |
да | integer:int64 |
min: 1 | 4101 |
||
data[].order_id |
да | integer:int64 |
min: 1 | 8101 |
||
data[].order_line_id |
да | integer:int64 |
min: 1 | 8201 |
||
data[].target_id |
да | integer:int64 |
min: 1 | 4301 |
||
data[].product_id |
да | integer:int64 |
min: 1 | 1201 |
||
data[].base_product_id |
да | integer:int64 |
min: 1 | 1201 |
||
data[].quantity |
да | number:float |
4 |
|||
data[].base_quantity |
да | number:float |
4 |
|||
data[].allocated_base_quantity |
нет | number:float |
4 |
|||
data[].fulfilled_base_quantity |
нет | number:float |
2 |
|||
data[].state |
да | string |
"released" |
|||
data[].state_before_exception |
нет | string | null |
"released" |
|||
data[].priority |
нет | integer:int64 |
100 |
|||
data[].cutoff_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].ship_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].source_policy |
нет | enum | null |
enum: crossdock_only, crossdock_then_stock, stock_allowed | "crossdock_only" |
||
data[].destination_ref |
нет | string | null |
"SOF-LANE-1" |
|||
data[].carrier_ref |
нет | string | null |
"CDEK" |
|||
data[].route_ref |
нет | string | null |
"BG-SOF" |
|||
data[].version |
да | integer:int64 |
2 |
|||
links |
да | PaginationLinks |
|
|||
links.first |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=1" |
|||
links.last |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
links.prev |
да | string:uri | null |
|
|||
links.next |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
meta |
да | PaginationMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.current_page |
да | integer:int32 |
min: 1 | 1 |
||
meta.from |
да | integer:int32 | null |
min: 1 | 1 |
||
meta.last_page |
да | integer:int32 |
min: 1 | 2 |
||
meta.path |
да | string:uri |
"https://betawms.ffcdek.ru/api/v2/orders" |
|||
meta.per_page |
да | integer:int32 |
min: 1 | 50 |
||
meta.to |
да | integer:int32 | null |
min: 1 | 50 |
||
meta.total |
да | integer:int32 |
min: 0 | 73 |
Примеры ответа
success
{
"data": [
{
"id": 1001,
"case_id": 4101,
"order_id": 8101,
"order_line_id": 8201,
"target_id": 4301,
"product_id": 1201,
"base_product_id": 1201,
"quantity": 4,
"base_quantity": 4,
"allocated_base_quantity": 4,
"fulfilled_base_quantity": 2,
"state": "released",
"priority": 100,
"version": 2
}
],
"links": {
"first": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/demands?page=1",
"last": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/demands?page=2",
"prev": null,
"next": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/demands?page=2"
},
"meta": {
"api_version": "v2",
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/demands",
"per_page": 100,
"to": 100,
"total": 123
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Получить события аудита cross-dock
| operationId | crossDockListEvents |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
List cross-dock events in the isolated cross-dock execution context.
Результат ограничен tenant-областью аутентифицированного пользователя API v2. Для коллекций поддерживаются описанные фильтры, сортировка и пагинация.
Unknown read parameters are ignored. per_page is silently capped; use meta.per_page. Date-only boundaries follow the installation's stored calendar dates; ISO timestamps are serialized in UTC. The default general API limit is 600/minute; a user-specific override may apply. Its bucket is shared by authenticated user, not by shop/domain; Retry-After is returned on throttling.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/events" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Параметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
page |
query | нет | integer:int64 |
form | true | min: 1 | Номер страницы. Этот фильтр также можно передать как filter[page], если это поддерживает Laravel query adapter. |
1 |
per_page |
query | нет | integer:int64 |
form | true | min: 1 max: 500 |
Количество записей на странице. По умолчанию 100; максимум 500. Этот фильтр также можно передать как filter[per_page], если это поддерживает Laravel query adapter. |
100 |
sort |
query | нет | string |
form | false | pattern: ^-?[A-Za-z0-9_]+(,-?[A-Za-z0-9_]+)*$ | Поля сортировки через запятую. Префикс - означает сортировку по убыванию. Допустимые поля: id, occurred_at. По умолчанию: id. Этот фильтр также можно передать как filter[sort], если это поддерживает Laravel query adapter. |
"id" |
id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по id с точным совпадением. Этот фильтр также можно передать как filter[id], если это поддерживает Laravel query adapter. |
1001 |
type |
query | нет | string |
form | true | Фильтр по type с точным совпадением. Этот фильтр также можно передать как filter[type], если это поддерживает Laravel query adapter. |
"inbound" |
|
aggregate_type |
query | нет | string |
form | true | Фильтр по aggregate_type с точным совпадением. Этот фильтр также можно передать как filter[aggregate_type], если это поддерживает Laravel query adapter. |
"case" |
|
command_id |
query | нет | string |
form | true | Фильтр по command_id с точным совпадением. Этот фильтр также можно передать как filter[command_id], если это поддерживает Laravel query adapter. |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|
occurred_at_from |
query | нет | string:date |
form | true | Нижняя включительная граница даты для occurred_at. Этот фильтр также можно передать как filter[occurred_at_from], если это поддерживает Laravel query adapter. |
"2026-07-14" |
|
occurred_at_to |
query | нет | string:date |
form | true | Верхняя включительная граница даты для occurred_at. Этот фильтр также можно передать как filter[occurred_at_to], если это поддерживает Laravel query adapter. |
"2026-07-14" |
Тело запроса
Тело запроса отсутствует.
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | array<CrossDockEvent> |
|
|||
data[] |
нет | CrossDockEvent |
Append-only cross-dock audit event. | |
||
data[].id |
да | integer:int64 |
readOnly | min: 1 | 1001 |
|
data[].created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].event_id |
да | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data[].case_id |
да | integer:int64 |
min: 1 | 4101 |
||
data[].aggregate_type |
да | string |
"case" |
|||
data[].aggregate_id |
да | string |
"01J2CROSSDOCKCASE000000001" |
|||
data[].aggregate_version |
да | integer:int64 |
4 |
|||
data[].type |
да | string |
"crossdock.case.released" |
|||
data[].actor_id |
нет | integer:int64 | null |
min: 1 | 25 |
||
data[].source |
да | string |
"api" |
|||
data[].command_id |
нет | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data[].correlation_id |
нет | string:uuid | null |
"4d9d6b9b-9c6d-4d2f-8c80-8f9a4d8b4f01" |
|||
data[].payload |
нет | object |
|
|||
data[].occurred_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].recorded_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
links |
да | PaginationLinks |
|
|||
links.first |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=1" |
|||
links.last |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
links.prev |
да | string:uri | null |
|
|||
links.next |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
meta |
да | PaginationMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.current_page |
да | integer:int32 |
min: 1 | 1 |
||
meta.from |
да | integer:int32 | null |
min: 1 | 1 |
||
meta.last_page |
да | integer:int32 |
min: 1 | 2 |
||
meta.path |
да | string:uri |
"https://betawms.ffcdek.ru/api/v2/orders" |
|||
meta.per_page |
да | integer:int32 |
min: 1 | 50 |
||
meta.to |
да | integer:int32 | null |
min: 1 | 50 |
||
meta.total |
да | integer:int32 |
min: 0 | 73 |
Примеры ответа
success
{
"data": [
{
"id": 1001,
"event_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"case_id": 4101,
"aggregate_type": "case",
"aggregate_id": "01J2CROSSDOCKCASE000000001",
"aggregate_version": 4,
"type": "crossdock.case.released",
"source": "api"
}
],
"links": {
"first": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/events?page=1",
"last": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/events?page=2",
"prev": null,
"next": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/events?page=2"
},
"meta": {
"api_version": "v2",
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/events",
"per_page": 100,
"to": 100,
"total": 123
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Получить исключения cross-dock
| operationId | crossDockListExceptions |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
List cross-dock exceptions in the isolated cross-dock execution context.
Результат ограничен tenant-областью аутентифицированного пользователя API v2. Для коллекций поддерживаются описанные фильтры, сортировка и пагинация.
Unknown read parameters are ignored. per_page is silently capped; use meta.per_page. Date-only boundaries follow the installation's stored calendar dates; ISO timestamps are serialized in UTC. The default general API limit is 600/minute; a user-specific override may apply. Its bucket is shared by authenticated user, not by shop/domain; Retry-After is returned on throttling.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/exceptions" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Параметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
page |
query | нет | integer:int64 |
form | true | min: 1 | Номер страницы. Этот фильтр также можно передать как filter[page], если это поддерживает Laravel query adapter. |
1 |
per_page |
query | нет | integer:int64 |
form | true | min: 1 max: 500 |
Количество записей на странице. По умолчанию 100; максимум 500. Этот фильтр также можно передать как filter[per_page], если это поддерживает Laravel query adapter. |
100 |
sort |
query | нет | string |
form | false | pattern: ^-?[A-Za-z0-9_]+(,-?[A-Za-z0-9_]+)*$ | Поля сортировки через запятую. Префикс - означает сортировку по убыванию. Допустимые поля: id, created_at, resolved_at. По умолчанию: id. Этот фильтр также можно передать как filter[sort], если это поддерживает Laravel query adapter. |
"id" |
id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по id с точным совпадением. Этот фильтр также можно передать как filter[id], если это поддерживает Laravel query adapter. |
1001 |
type |
query | нет | string |
form | true | Фильтр по type с точным совпадением. Этот фильтр также можно передать как filter[type], если это поддерживает Laravel query adapter. |
"inbound" |
|
severity |
query | нет | string |
form | true | Фильтр по severity с точным совпадением. Этот фильтр также можно передать как filter[severity], если это поддерживает Laravel query adapter. |
"blocking" |
|
status |
query | нет | string |
form | true | Фильтр по status с точным совпадением. Этот фильтр также можно передать как filter[status], если это поддерживает Laravel query adapter. |
"waiting" |
|
task_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по task_id с точным совпадением. Этот фильтр также можно передать как filter[task_id], если это поддерживает Laravel query adapter. |
1 |
supply_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по supply_id с точным совпадением. Этот фильтр также можно передать как filter[supply_id], если это поддерживает Laravel query adapter. |
1 |
demand_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по demand_id с точным совпадением. Этот фильтр также можно передать как filter[demand_id], если это поддерживает Laravel query adapter. |
1 |
Тело запроса
Тело запроса отсутствует.
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | array<CrossDockException> |
|
|||
data[] |
нет | CrossDockException |
Operational discrepancy with explicit resolution history. | |
||
data[].id |
да | integer:int64 |
readOnly | min: 1 | 1001 |
|
data[].created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].public_id |
да | string |
"01J2CROSSDOCKEXCEPTION001" |
|||
data[].case_id |
да | integer:int64 |
min: 1 | 4101 |
||
data[].allocation_id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
data[].supply_id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
data[].demand_id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
data[].fulfillment_id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
data[].handling_unit_id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
data[].task_id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
data[].type |
да | string |
"shortage" |
|||
data[].severity |
да | enum |
enum: warning, blocking | "blocking" |
||
data[].status |
да | string |
"open" |
|||
data[].expected |
нет | object | null |
|
|||
data[].actual |
нет | object | null |
|
|||
data[].resolution_policy |
нет | string | null |
"fallback" |
|||
data[].resolution_decision |
нет | string | null |
"fallback_storage" |
|||
data[].reason |
нет | string | null |
"Two units missing" |
|||
data[].movement_group_id |
нет | string | null |
"XD-MOVE-4101-2" |
|||
data[].opened_by |
нет | integer:int64 | null |
min: 1 | 25 |
||
data[].resolved_by |
нет | integer:int64 | null |
min: 1 | 26 |
||
data[].resolved_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].version |
да | integer:int64 |
1 |
|||
links |
да | PaginationLinks |
|
|||
links.first |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=1" |
|||
links.last |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
links.prev |
да | string:uri | null |
|
|||
links.next |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
meta |
да | PaginationMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.current_page |
да | integer:int32 |
min: 1 | 1 |
||
meta.from |
да | integer:int32 | null |
min: 1 | 1 |
||
meta.last_page |
да | integer:int32 |
min: 1 | 2 |
||
meta.path |
да | string:uri |
"https://betawms.ffcdek.ru/api/v2/orders" |
|||
meta.per_page |
да | integer:int32 |
min: 1 | 50 |
||
meta.to |
да | integer:int32 | null |
min: 1 | 50 |
||
meta.total |
да | integer:int32 |
min: 0 | 73 |
Примеры ответа
success
{
"data": [
{
"id": 1001,
"public_id": "01J2CROSSDOCKEXCEPTION001",
"case_id": 4101,
"type": "shortage",
"severity": "blocking",
"status": "open",
"version": 1
}
],
"links": {
"first": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/exceptions?page=1",
"last": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/exceptions?page=2",
"prev": null,
"next": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/exceptions?page=2"
},
"meta": {
"api_version": "v2",
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/exceptions",
"per_page": 100,
"to": 100,
"total": 123
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Открыть исключение cross-dock
| operationId | crossDockOpenException |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Open cross-dock exception in the isolated cross-dock execution context.
Передавайте envelope API v2 data и заголовок Idempotency-Key. Мутации идемпотентны по command_id; устаревшая version версионируемого агрегата возвращает 409.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/exceptions" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonПараметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | нет | string |
maxLength: 191 | Опциональный ключ идемпотентности для write-запросов API v2. Успешные ответы 2xx/3xx повторяются для того же ключа и идентичного payload в течение одного дня. Тот же ключ с другим payload возвращает 409. |
"ord-create-20260714-001" |
Тело запроса
CrossDockOpenExceptionRequest обязательно
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | object |
|
|||
data.command_id |
да | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.type |
да | enum |
enum: shortage, overage, damaged, sku_mismatch, lot_mismatch, expired, unknown_hu, wrong_target, capacity, timeout, cancelled_demand, transport_delay | "shortage" |
||
data.severity |
нет | enum |
enum: warning, blocking | "blocking" |
||
data.allocation_id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
data.supply_id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
data.demand_id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
data.fulfillment_id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
data.handling_unit_id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
data.task_id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
data.expected |
нет | object | null |
|
|||
data.actual |
нет | object | null |
|
|||
data.resolution_policy |
нет | string | null |
maxLength: 50 | "fallback" |
||
data.reason |
нет | string | null |
maxLength: 5000 | "Two units missing" |
Примеры запроса
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"type": "shortage",
"severity": "blocking"
}
}
Ответы
201 Created.
Created.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
нет | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
нет | string | null |
"released" |
|||
data.state |
нет | string | null |
"open" |
|||
data.version |
нет | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
нет | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Некорректный запрос
CrossDockBadRequest
Некорректный запрос.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Конфликт
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Ошибка валидации
CrossDockValidationError
The given data was invalid.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Выполнить fallback cross-dock через alias
| operationId | crossDockExecuteFallbackByAlias |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Совместимый alias команды fallback; в новых клиентах используйте /fallbacks.
Передавайте envelope API v2 data и заголовок Idempotency-Key. Мутации идемпотентны по command_id; устаревшая version версионируемого агрегата возвращает 409.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/fallback" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonПараметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | нет | string |
maxLength: 191 | Опциональный ключ идемпотентности для write-запросов API v2. Успешные ответы 2xx/3xx повторяются для того же ключа и идентичного payload в течение одного дня. Тот же ключ с другим payload возвращает 409. |
"ord-create-20260714-001" |
Тело запроса
CrossDockFallbackRequest обязательно
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | object |
|
|||
data.command_id |
да | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.supply_id |
да | integer:int64 |
min: 1 | 4201 |
||
data.exception_id |
нет | integer:int64 | null |
min: 1 | 4951 |
||
data.product_id |
да | integer:int64 |
min: 1 | 1201 |
||
data.base_quantity |
да | number:float |
min: 0.0001 | 2 |
||
data.source_place_id |
нет | integer:int64 | null |
min: 1 | 800 |
||
data.target_place_id |
да | integer:int64 |
min: 1 | 950 |
||
data.route |
да | enum |
enum: storage, quarantine | "quarantine" |
||
data.source_barcode |
нет | string | null |
maxLength: 190 | "4601234567890" |
||
data.reason |
нет | string | null |
maxLength: 5000 | "Damaged package" |
Примеры запроса
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"supply_id": 4201,
"product_id": 1201,
"base_quantity": 2,
"target_place_id": 950,
"route": "quarantine"
}
}
Ответы
201 Created.
Created.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
нет | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
нет | string | null |
"released" |
|||
data.state |
нет | string | null |
"open" |
|||
data.version |
нет | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
нет | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Некорректный запрос
CrossDockBadRequest
Некорректный запрос.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Конфликт
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Ошибка валидации
CrossDockValidationError
The given data was invalid.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Получить компенсирующие маршруты cross-dock
| operationId | crossDockListFallbacks |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
List cross-dock fallbacks in the isolated cross-dock execution context.
Результат ограничен tenant-областью аутентифицированного пользователя API v2. Для коллекций поддерживаются описанные фильтры, сортировка и пагинация.
Unknown read parameters are ignored. per_page is silently capped; use meta.per_page. Date-only boundaries follow the installation's stored calendar dates; ISO timestamps are serialized in UTC. The default general API limit is 600/minute; a user-specific override may apply. Its bucket is shared by authenticated user, not by shop/domain; Retry-After is returned on throttling.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/fallbacks" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Параметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
page |
query | нет | integer:int64 |
form | true | min: 1 | Номер страницы. Этот фильтр также можно передать как filter[page], если это поддерживает Laravel query adapter. |
1 |
per_page |
query | нет | integer:int64 |
form | true | min: 1 max: 500 |
Количество записей на странице. По умолчанию 100; максимум 500. Этот фильтр также можно передать как filter[per_page], если это поддерживает Laravel query adapter. |
100 |
sort |
query | нет | string |
form | false | pattern: ^-?[A-Za-z0-9_]+(,-?[A-Za-z0-9_]+)*$ | Поля сортировки через запятую. Префикс - означает сортировку по убыванию. Допустимые поля: id, created_at. По умолчанию: id. Этот фильтр также можно передать как filter[sort], если это поддерживает Laravel query adapter. |
"id" |
id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по id с точным совпадением. Этот фильтр также можно передать как filter[id], если это поддерживает Laravel query adapter. |
1001 |
supply_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по supply_id с точным совпадением. Этот фильтр также можно передать как filter[supply_id], если это поддерживает Laravel query adapter. |
1 |
exception_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по exception_id с точным совпадением. Этот фильтр также можно передать как filter[exception_id], если это поддерживает Laravel query adapter. |
1 |
product_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по product_id с точным совпадением. Этот фильтр также можно передать как filter[product_id], если это поддерживает Laravel query adapter. |
1201 |
route |
query | нет | string |
form | true | Фильтр по route с точным совпадением. Этот фильтр также можно передать как filter[route], если это поддерживает Laravel query adapter. |
"quarantine" |
|
state |
query | нет | string |
form | true | Фильтр по state с точным совпадением. Этот фильтр также можно передать как filter[state], если это поддерживает Laravel query adapter. |
"ready" |
Тело запроса
Тело запроса отсутствует.
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | array<CrossDockFallback> |
|
|||
data[] |
нет | CrossDockFallback |
Compensating route from cross-dock flow to storage or quarantine. | |
||
data[].id |
да | integer:int64 |
readOnly | min: 1 | 1001 |
|
data[].created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].public_id |
да | string |
"01J2CROSSDOCKFALLBACK0001" |
|||
data[].case_id |
да | integer:int64 |
min: 1 | 4101 |
||
data[].supply_id |
да | integer:int64 |
min: 1 | 4201 |
||
data[].exception_id |
нет | integer:int64 | null |
min: 1 | 4951 |
||
data[].product_id |
да | integer:int64 |
min: 1 | 1201 |
||
data[].base_product_id |
да | integer:int64 |
min: 1 | 1201 |
||
data[].quantity |
да | number:float |
2 |
|||
data[].base_quantity |
да | number:float |
2 |
|||
data[].source_place_id |
нет | integer:int64 | null |
min: 1 | 800 |
||
data[].target_place_id |
да | integer:int64 |
min: 1 | 950 |
||
data[].route |
да | enum |
enum: storage, quarantine | "quarantine" |
||
data[].acceptance_offer_id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
data[].warehouse_item_id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
data[].state |
да | string |
"completed" |
|||
data[].reason |
нет | string | null |
"Damaged package" |
|||
data[].movement_group_id |
нет | string | null |
"XD-FALLBACK-4101-1" |
|||
data[].created_by |
нет | integer:int64 | null |
min: 1 | 25 |
||
data[].version |
да | integer:int64 |
1 |
|||
links |
да | PaginationLinks |
|
|||
links.first |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=1" |
|||
links.last |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
links.prev |
да | string:uri | null |
|
|||
links.next |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
meta |
да | PaginationMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.current_page |
да | integer:int32 |
min: 1 | 1 |
||
meta.from |
да | integer:int32 | null |
min: 1 | 1 |
||
meta.last_page |
да | integer:int32 |
min: 1 | 2 |
||
meta.path |
да | string:uri |
"https://betawms.ffcdek.ru/api/v2/orders" |
|||
meta.per_page |
да | integer:int32 |
min: 1 | 50 |
||
meta.to |
да | integer:int32 | null |
min: 1 | 50 |
||
meta.total |
да | integer:int32 |
min: 0 | 73 |
Примеры ответа
success
{
"data": [
{
"id": 1001,
"public_id": "01J2CROSSDOCKFALLBACK0001",
"case_id": 4101,
"supply_id": 4201,
"product_id": 1201,
"base_product_id": 1201,
"quantity": 2,
"base_quantity": 2,
"target_place_id": 950,
"route": "quarantine",
"state": "completed",
"version": 1
}
],
"links": {
"first": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/fallbacks?page=1",
"last": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/fallbacks?page=2",
"prev": null,
"next": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/fallbacks?page=2"
},
"meta": {
"api_version": "v2",
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/fallbacks",
"per_page": 100,
"to": 100,
"total": 123
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Выполнить fallback cross-dock
| operationId | crossDockExecuteFallback |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Перемещает выбранное количество в хранение или карантин, сохраняя lineage источника и разрешая связанное исключение.
Передавайте envelope API v2 data и заголовок Idempotency-Key. Мутации идемпотентны по command_id; устаревшая version версионируемого агрегата возвращает 409.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/fallbacks" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonПараметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | нет | string |
maxLength: 191 | Опциональный ключ идемпотентности для write-запросов API v2. Успешные ответы 2xx/3xx повторяются для того же ключа и идентичного payload в течение одного дня. Тот же ключ с другим payload возвращает 409. |
"ord-create-20260714-001" |
Тело запроса
CrossDockFallbackRequest обязательно
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | object |
|
|||
data.command_id |
да | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.supply_id |
да | integer:int64 |
min: 1 | 4201 |
||
data.exception_id |
нет | integer:int64 | null |
min: 1 | 4951 |
||
data.product_id |
да | integer:int64 |
min: 1 | 1201 |
||
data.base_quantity |
да | number:float |
min: 0.0001 | 2 |
||
data.source_place_id |
нет | integer:int64 | null |
min: 1 | 800 |
||
data.target_place_id |
да | integer:int64 |
min: 1 | 950 |
||
data.route |
да | enum |
enum: storage, quarantine | "quarantine" |
||
data.source_barcode |
нет | string | null |
maxLength: 190 | "4601234567890" |
||
data.reason |
нет | string | null |
maxLength: 5000 | "Damaged package" |
Примеры запроса
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"supply_id": 4201,
"product_id": 1201,
"base_quantity": 2,
"target_place_id": 950,
"route": "quarantine"
}
}
Ответы
201 Created.
Created.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
нет | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
нет | string | null |
"released" |
|||
data.state |
нет | string | null |
"open" |
|||
data.version |
нет | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
нет | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Некорректный запрос
CrossDockBadRequest
Некорректный запрос.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Конфликт
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Ошибка валидации
CrossDockValidationError
The given data was invalid.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Получить исполненные фрагменты cross-dock
| operationId | crossDockListFulfillments |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
List cross-dock fulfillments in the isolated cross-dock execution context.
Результат ограничен tenant-областью аутентифицированного пользователя API v2. Для коллекций поддерживаются описанные фильтры, сортировка и пагинация.
Unknown read parameters are ignored. per_page is silently capped; use meta.per_page. Date-only boundaries follow the installation's stored calendar dates; ISO timestamps are serialized in UTC. The default general API limit is 600/minute; a user-specific override may apply. Its bucket is shared by authenticated user, not by shop/domain; Retry-After is returned on throttling.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/fulfillments" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Параметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
page |
query | нет | integer:int64 |
form | true | min: 1 | Номер страницы. Этот фильтр также можно передать как filter[page], если это поддерживает Laravel query adapter. |
1 |
per_page |
query | нет | integer:int64 |
form | true | min: 1 max: 500 |
Количество записей на странице. По умолчанию 100; максимум 500. Этот фильтр также можно передать как filter[per_page], если это поддерживает Laravel query adapter. |
100 |
sort |
query | нет | string |
form | false | pattern: ^-?[A-Za-z0-9_]+(,-?[A-Za-z0-9_]+)*$ | Поля сортировки через запятую. Префикс - означает сортировку по убыванию. Допустимые поля: id, created_at. По умолчанию: id. Этот фильтр также можно передать как filter[sort], если это поддерживает Laravel query adapter. |
"id" |
id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по id с точным совпадением. Этот фильтр также можно передать как filter[id], если это поддерживает Laravel query adapter. |
1001 |
state |
query | нет | string |
form | true | Фильтр по state с точным совпадением. Этот фильтр также можно передать как filter[state], если это поддерживает Laravel query adapter. |
"ready" |
|
allocation_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по allocation_id с точным совпадением. Этот фильтр также можно передать как filter[allocation_id], если это поддерживает Laravel query adapter. |
1 |
supply_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по supply_id с точным совпадением. Этот фильтр также можно передать как filter[supply_id], если это поддерживает Laravel query adapter. |
1 |
demand_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по demand_id с точным совпадением. Этот фильтр также можно передать как filter[demand_id], если это поддерживает Laravel query adapter. |
1 |
target_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по target_id с точным совпадением. Этот фильтр также можно передать как filter[target_id], если это поддерживает Laravel query adapter. |
1 |
product_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по product_id с точным совпадением. Этот фильтр также можно передать как filter[product_id], если это поддерживает Laravel query adapter. |
1201 |
base_product_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по base_product_id с точным совпадением. Этот фильтр также можно передать как filter[base_product_id], если это поддерживает Laravel query adapter. |
1200 |
Тело запроса
Тело запроса отсутствует.
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | array<CrossDockFulfillment> |
|
|||
data[] |
нет | CrossDockFulfillment |
Physically confirmed cross-dock fragment with exact product and quant lineage. | |
||
data[].id |
да | integer:int64 |
readOnly | min: 1 | 1001 |
|
data[].created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].fragment_uuid |
да | string:uuid |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data[].case_id |
да | integer:int64 |
min: 1 | 4101 |
||
data[].allocation_id |
да | integer:int64 |
min: 1 | 4501 |
||
data[].supply_id |
да | integer:int64 |
min: 1 | 4201 |
||
data[].demand_id |
да | integer:int64 |
min: 1 | 4251 |
||
data[].target_id |
да | integer:int64 |
min: 1 | 4301 |
||
data[].handling_unit_id |
нет | integer:int64 | null |
min: 1 | 4601 |
||
data[].container_place_id |
нет | integer:int64 | null |
min: 1 | 901 |
||
data[].source_warehouse_item_id |
нет | integer:int64 | null |
min: 1 | 4701 |
||
data[].product_id |
да | integer:int64 |
min: 1 | 1201 |
||
data[].base_product_id |
да | integer:int64 |
min: 1 | 1201 |
||
data[].quantity |
да | number:float |
2 |
|||
data[].base_quantity |
да | number:float |
2 |
|||
data[].batch |
нет | string | null |
"LOT-2026" |
|||
data[].production_date |
нет | string:date | null |
"2026-07-14" |
|||
data[].expiration_date |
нет | string:date | null |
"2027-01-15" |
|||
data[].state |
да | string |
"routed" |
|||
data[].source_place_id |
нет | integer:int64 | null |
min: 1 | 800 |
||
data[].target_place_id |
нет | integer:int64 | null |
min: 1 | 900 |
||
data[].movement_group_id |
нет | string | null |
"XD-MOVE-4101-1" |
|||
data[].version |
да | integer:int64 |
1 |
|||
links |
да | PaginationLinks |
|
|||
links.first |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=1" |
|||
links.last |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
links.prev |
да | string:uri | null |
|
|||
links.next |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
meta |
да | PaginationMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.current_page |
да | integer:int32 |
min: 1 | 1 |
||
meta.from |
да | integer:int32 | null |
min: 1 | 1 |
||
meta.last_page |
да | integer:int32 |
min: 1 | 2 |
||
meta.path |
да | string:uri |
"https://betawms.ffcdek.ru/api/v2/orders" |
|||
meta.per_page |
да | integer:int32 |
min: 1 | 50 |
||
meta.to |
да | integer:int32 | null |
min: 1 | 50 |
||
meta.total |
да | integer:int32 |
min: 0 | 73 |
Примеры ответа
success
{
"data": [
{
"id": 1001,
"fragment_uuid": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4",
"case_id": 4101,
"allocation_id": 4501,
"supply_id": 4201,
"demand_id": 4251,
"target_id": 4301,
"product_id": 1201,
"base_product_id": 1201,
"quantity": 2,
"base_quantity": 2,
"state": "routed",
"version": 1
}
],
"links": {
"first": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/fulfillments?page=1",
"last": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/fulfillments?page=2",
"prev": null,
"next": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/fulfillments?page=2"
},
"meta": {
"api_version": "v2",
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/fulfillments",
"per_page": 100,
"to": 100,
"total": 123
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Получить этикетки направлений cross-dock
| operationId | crossDockListTargetLabels |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
List cross-dock target labels in the isolated cross-dock execution context.
Результат ограничен tenant-областью аутентифицированного пользователя API v2. Для коллекций поддерживаются описанные фильтры, сортировка и пагинация.
Unknown read parameters are ignored. per_page is silently capped; use meta.per_page. Date-only boundaries follow the installation's stored calendar dates; ISO timestamps are serialized in UTC. The default general API limit is 600/minute; a user-specific override may apply. Its bucket is shared by authenticated user, not by shop/domain; Retry-After is returned on throttling.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/labels" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Параметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
page |
query | нет | integer:int64 |
form | true | min: 1 | Номер страницы. Этот фильтр также можно передать как filter[page], если это поддерживает Laravel query adapter. |
1 |
per_page |
query | нет | integer:int64 |
form | true | min: 1 max: 500 |
Количество записей на странице. По умолчанию 100; максимум 500. Этот фильтр также можно передать как filter[per_page], если это поддерживает Laravel query adapter. |
100 |
sort |
query | нет | string |
form | false | pattern: ^-?[A-Za-z0-9_]+(,-?[A-Za-z0-9_]+)*$ | Поля сортировки через запятую. Префикс - означает сортировку по убыванию. Допустимые поля: id, created_at. По умолчанию: id. Этот фильтр также можно передать как filter[sort], если это поддерживает Laravel query adapter. |
"id" |
id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по id с точным совпадением. Этот фильтр также можно передать как filter[id], если это поддерживает Laravel query adapter. |
1001 |
status |
query | нет | string |
form | true | Фильтр по status с точным совпадением. Этот фильтр также можно передать как filter[status], если это поддерживает Laravel query adapter. |
"waiting" |
|
target_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по target_id с точным совпадением. Этот фильтр также можно передать как filter[target_id], если это поддерживает Laravel query adapter. |
1 |
version |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по version с точным совпадением. Этот фильтр также можно передать как filter[version], если это поддерживает Laravel query adapter. |
1 |
Тело запроса
Тело запроса отсутствует.
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | array<CrossDockTargetLabel> |
|
|||
data[] |
нет | CrossDockTargetLabel |
Versioned, signed target barcode; only the current ready label can confirm a target. | |
||
data[].id |
да | integer:int64 |
readOnly | min: 1 | 1001 |
|
data[].created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].public_id |
да | string |
"01J2CROSSDOCKLABEL0000001" |
|||
data[].target_id |
да | integer:int64 |
min: 1 | 4301 |
||
data[].version |
да | integer:int64 |
2 |
|||
data[].barcode |
да | string |
"XD1.4301.2.signature" |
|||
data[].template_version |
да | string |
"crossdock-target-v1" |
|||
data[].artifact_ref |
нет | string | null |
"crossdock/labels/4401.pdf" |
|||
data[].artifact_hash |
нет | string | null |
"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" |
|||
data[].status |
да | string |
"ready" |
|||
data[].reprint_count |
нет | integer:int64 |
0 |
|||
links |
да | PaginationLinks |
|
|||
links.first |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=1" |
|||
links.last |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
links.prev |
да | string:uri | null |
|
|||
links.next |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
meta |
да | PaginationMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.current_page |
да | integer:int32 |
min: 1 | 1 |
||
meta.from |
да | integer:int32 | null |
min: 1 | 1 |
||
meta.last_page |
да | integer:int32 |
min: 1 | 2 |
||
meta.path |
да | string:uri |
"https://betawms.ffcdek.ru/api/v2/orders" |
|||
meta.per_page |
да | integer:int32 |
min: 1 | 50 |
||
meta.to |
да | integer:int32 | null |
min: 1 | 50 |
||
meta.total |
да | integer:int32 |
min: 0 | 73 |
Примеры ответа
success
{
"data": [
{
"id": 1001,
"public_id": "01J2CROSSDOCKLABEL0000001",
"target_id": 4301,
"version": 2,
"barcode": "XD1.4301.2.signature",
"template_version": "crossdock-target-v1",
"status": "ready",
"reprint_count": 0
}
],
"links": {
"first": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/labels?page=1",
"last": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/labels?page=2",
"prev": null,
"next": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/labels?page=2"
},
"meta": {
"api_version": "v2",
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/labels",
"per_page": 100,
"to": 100,
"total": 123
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Создать задания печати cross-dock
| operationId | crossDockCreatePrintJobs |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Create cross-dock print jobs in the isolated cross-dock execution context.
Передавайте envelope API v2 data и заголовок Idempotency-Key. Мутации идемпотентны по command_id; устаревшая version версионируемого агрегата возвращает 409.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/labels/print-jobs" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonПараметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | нет | string |
maxLength: 191 | Опциональный ключ идемпотентности для write-запросов API v2. Успешные ответы 2xx/3xx повторяются для того же ключа и идентичного payload в течение одного дня. Тот же ключ с другим payload возвращает 409. |
"ord-create-20260714-001" |
Тело запроса
CrossDockCreatePrintJobsRequest обязательно
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | object |
|
|||
data.command_id |
да | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
да | integer:int64 |
min: 1 | 5 |
||
data.label_ids |
нет | array<integer:int64> |
minItems: 1 | |
||
data.label_ids[] |
нет | integer:int64 |
min: 1 | 4401 |
||
data.printer_id |
нет | integer:int64 | null |
min: 1 | 55 |
||
data.device_id |
нет | string | null |
maxLength: 190 | "gate-printer-1" |
Примеры запроса
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 5
}
}
Ответы
201 Created.
Created.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
нет | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
нет | string | null |
"released" |
|||
data.state |
нет | string | null |
"open" |
|||
data.version |
нет | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
нет | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Некорректный запрос
CrossDockBadRequest
Некорректный запрос.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Конфликт
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Ошибка валидации
CrossDockValidationError
The given data was invalid.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Получить связи кейса с визитами погрузки
| operationId | crossDockListCaseLoadingVisitAssociations |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
List case loading-visit associations in the isolated cross-dock execution context.
Результат ограничен tenant-областью аутентифицированного пользователя API v2. Для коллекций поддерживаются описанные фильтры, сортировка и пагинация.
Unknown read parameters are ignored. per_page is silently capped; use meta.per_page. Date-only boundaries follow the installation's stored calendar dates; ISO timestamps are serialized in UTC. The default general API limit is 600/minute; a user-specific override may apply. Its bucket is shared by authenticated user, not by shop/domain; Retry-After is returned on throttling.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/loading-visits" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Параметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
page |
query | нет | integer:int64 |
form | true | min: 1 | Номер страницы. Этот фильтр также можно передать как filter[page], если это поддерживает Laravel query adapter. |
1 |
per_page |
query | нет | integer:int64 |
form | true | min: 1 max: 500 |
Количество записей на странице. По умолчанию 100; максимум 500. Этот фильтр также можно передать как filter[per_page], если это поддерживает Laravel query adapter. |
100 |
sort |
query | нет | string |
form | false | pattern: ^-?[A-Za-z0-9_]+(,-?[A-Za-z0-9_]+)*$ | Поля сортировки через запятую. Префикс - означает сортировку по убыванию. Допустимые поля: id, created_at. По умолчанию: id. Этот фильтр также можно передать как filter[sort], если это поддерживает Laravel query adapter. |
"id" |
loading_visit_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по loading_visit_id с точным совпадением. Этот фильтр также можно передать как filter[loading_visit_id], если это поддерживает Laravel query adapter. |
1 |
document_type |
query | нет | string |
form | true | Фильтр по document_type с точным совпадением. Этот фильтр также можно передать как filter[document_type], если это поддерживает Laravel query adapter. |
"acceptance" |
|
document_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по document_id с точным совпадением. Этот фильтр также можно передать как filter[document_id], если это поддерживает Laravel query adapter. |
5101 |
role |
query | нет | string |
form | true | Фильтр по role с точным совпадением. Этот фильтр также можно передать как filter[role], если это поддерживает Laravel query adapter. |
"outbound" |
|
status |
query | нет | string |
form | true | Фильтр по status с точным совпадением. Этот фильтр также можно передать как filter[status], если это поддерживает Laravel query adapter. |
"waiting" |
Тело запроса
Тело запроса отсутствует.
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | array<CrossDockLoadingAssociation> |
|
|||
data[] |
нет | CrossDockLoadingAssociation |
Association between a cross-dock document and a loading visit. | |
||
data[].id |
да | integer:int64 |
readOnly | min: 1 | 1001 |
|
data[].created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].case_id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data[].loading_visit_id |
да | integer:int64 |
min: 1 | 6101 |
||
data[].document_type |
да | string |
"order" |
|||
data[].document_id |
да | integer:int64 |
min: 1 | 8101 |
||
data[].role |
да | string |
"outbound" |
|||
data[].status |
да | string |
"attached" |
|||
data[].created_by |
нет | integer:int64 | null |
min: 1 | 25 |
||
data[].detached_by |
нет | integer:int64 | null |
min: 1 | 1001 |
||
data[].detached_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].visit |
нет | object | null |
|
|||
data[].visit.id |
да | integer:int64 |
min: 1 | 6101 |
||
data[].visit.type |
да | string |
"outbound" |
|||
data[].visit.status |
да | string |
"approved" |
|||
data[].visit.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
data[].visit.gate_id |
нет | integer:int64 | null |
min: 1 | 3 |
||
data[].visit.planned_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
links |
да | PaginationLinks |
|
|||
links.first |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=1" |
|||
links.last |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
links.prev |
да | string:uri | null |
|
|||
links.next |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
meta |
да | PaginationMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.current_page |
да | integer:int32 |
min: 1 | 1 |
||
meta.from |
да | integer:int32 | null |
min: 1 | 1 |
||
meta.last_page |
да | integer:int32 |
min: 1 | 2 |
||
meta.path |
да | string:uri |
"https://betawms.ffcdek.ru/api/v2/orders" |
|||
meta.per_page |
да | integer:int32 |
min: 1 | 50 |
||
meta.to |
да | integer:int32 | null |
min: 1 | 50 |
||
meta.total |
да | integer:int32 |
min: 0 | 73 |
Примеры ответа
success
{
"data": [
{
"id": 1001,
"loading_visit_id": 6101,
"document_type": "order",
"document_id": 8101,
"role": "outbound",
"status": "attached"
}
],
"links": {
"first": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/loading-visits?page=1",
"last": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/loading-visits?page=2",
"prev": null,
"next": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/loading-visits?page=2"
},
"meta": {
"api_version": "v2",
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/loading-visits",
"per_page": 100,
"to": 100,
"total": 123
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Привязать визит погрузки к cross-dock-кейсу
| operationId | crossDockAttachLoadingVisitToCase |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Attach loading visit to cross-dock case in the isolated cross-dock execution context.
Передавайте envelope API v2 data и заголовок Idempotency-Key. Мутации идемпотентны по command_id; устаревшая version версионируемого агрегата возвращает 409.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/loading-visits/attach" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonПараметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | нет | string |
maxLength: 191 | Опциональный ключ идемпотентности для write-запросов API v2. Успешные ответы 2xx/3xx повторяются для того же ключа и идентичного payload в течение одного дня. Тот же ключ с другим payload возвращает 409. |
"ord-create-20260714-001" |
Тело запроса
CrossDockLoadingVisitLinkRequest обязательно
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | object |
|
|||
data.command_id |
да | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
да | integer:int64 |
min: 1 | 5 |
||
data.loading_visit_id |
да | integer:int64 |
min: 1 | 6101 |
Примеры запроса
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 5,
"loading_visit_id": 6101
}
}
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
нет | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
нет | string | null |
"released" |
|||
data.state |
нет | string | null |
"open" |
|||
data.version |
нет | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
нет | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Некорректный запрос
CrossDockBadRequest
Некорректный запрос.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Конфликт
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Ошибка валидации
CrossDockValidationError
The given data was invalid.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Отвязать визит погрузки от cross-dock-кейса
| operationId | crossDockDetachLoadingVisitFromCase |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Detach loading visit from cross-dock case in the isolated cross-dock execution context.
Передавайте envelope API v2 data и заголовок Idempotency-Key. Мутации идемпотентны по command_id; устаревшая version версионируемого агрегата возвращает 409.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/loading-visits/detach" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonПараметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | нет | string |
maxLength: 191 | Опциональный ключ идемпотентности для write-запросов API v2. Успешные ответы 2xx/3xx повторяются для того же ключа и идентичного payload в течение одного дня. Тот же ключ с другим payload возвращает 409. |
"ord-create-20260714-001" |
Тело запроса
CrossDockLoadingVisitLinkRequest обязательно
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | object |
|
|||
data.command_id |
да | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
да | integer:int64 |
min: 1 | 5 |
||
data.loading_visit_id |
да | integer:int64 |
min: 1 | 6101 |
Примеры запроса
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 5,
"loading_visit_id": 6101
}
}
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
нет | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
нет | string | null |
"released" |
|||
data.state |
нет | string | null |
"open" |
|||
data.version |
нет | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
нет | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Некорректный запрос
CrossDockBadRequest
Некорректный запрос.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Конфликт
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Ошибка валидации
CrossDockValidationError
The given data was invalid.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Привязать визит погрузки по ID в пути
| operationId | crossDockAttachLoadingVisitByPathId |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Attach loading visit by path ID in the isolated cross-dock execution context.
Передавайте envelope API v2 data и заголовок Idempotency-Key. Мутации идемпотентны по command_id; устаревшая version версионируемого агрегата возвращает 409.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/loading-visits/1001/attach" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonПараметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
visit |
path | да | integer:int64 |
min: 1 | ID визита погрузки. | 1001 |
||
Idempotency-Key |
header | нет | string |
maxLength: 191 | Опциональный ключ идемпотентности для write-запросов API v2. Успешные ответы 2xx/3xx повторяются для того же ключа и идентичного payload в течение одного дня. Тот же ключ с другим payload возвращает 409. |
"ord-create-20260714-001" |
Тело запроса
CrossDockLoadingVisitPathLinkRequest обязательно
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | object |
|
|||
data.command_id |
да | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
да | integer:int64 |
min: 1 | 5 |
Примеры запроса
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 5
}
}
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
нет | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
нет | string | null |
"released" |
|||
data.state |
нет | string | null |
"open" |
|||
data.version |
нет | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
нет | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Некорректный запрос
CrossDockBadRequest
Некорректный запрос.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Конфликт
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Ошибка валидации
CrossDockValidationError
The given data was invalid.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Отвязать визит погрузки по ID в пути
| operationId | crossDockDetachLoadingVisitByPathId |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Detach loading visit by path ID in the isolated cross-dock execution context.
Передавайте envelope API v2 data и заголовок Idempotency-Key. Мутации идемпотентны по command_id; устаревшая version версионируемого агрегата возвращает 409.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/loading-visits/1001/detach" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonПараметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
visit |
path | да | integer:int64 |
min: 1 | ID визита погрузки. | 1001 |
||
Idempotency-Key |
header | нет | string |
maxLength: 191 | Опциональный ключ идемпотентности для write-запросов API v2. Успешные ответы 2xx/3xx повторяются для того же ключа и идентичного payload в течение одного дня. Тот же ключ с другим payload возвращает 409. |
"ord-create-20260714-001" |
Тело запроса
CrossDockLoadingVisitPathLinkRequest обязательно
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | object |
|
|||
data.command_id |
да | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
да | integer:int64 |
min: 1 | 5 |
Примеры запроса
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 5
}
}
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
нет | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
нет | string | null |
"released" |
|||
data.state |
нет | string | null |
"open" |
|||
data.version |
нет | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
нет | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Некорректный запрос
CrossDockBadRequest
Некорректный запрос.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Конфликт
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Ошибка валидации
CrossDockValidationError
The given data was invalid.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Подтвердить погрузочный скан cross-dock
| operationId | crossDockConfirmLoadingScan |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Подтверждает погрузку актуальной этикетки направления заказа в связанную исходящую заявку.
Передавайте envelope API v2 data и заголовок Idempotency-Key. Мутации идемпотентны по command_id; устаревшая version версионируемого агрегата возвращает 409.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/loading/scans" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonПараметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | нет | string |
maxLength: 191 | Опциональный ключ идемпотентности для write-запросов API v2. Успешные ответы 2xx/3xx повторяются для того же ключа и идентичного payload в течение одного дня. Тот же ключ с другим payload возвращает 409. |
"ord-create-20260714-001" |
Тело запроса
CrossDockLoadingScanRequest обязательно
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | object |
|
|||
data.command_id |
да | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.loading_visit_id |
да | integer:int64 |
min: 1 | 6101 |
||
data.order_id |
да | integer:int64 |
min: 1 | 8101 |
||
data.label_barcode |
да | string |
maxLength: 100 | "XD1.4301.2.signature" |
||
data.device_id |
нет | string | null |
maxLength: 190 | "gate-tsd-01" |
Примеры запроса
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"loading_visit_id": 6101,
"order_id": 8101,
"label_barcode": "XD1.4301.2.signature"
}
}
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
нет | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
нет | string | null |
"released" |
|||
data.state |
нет | string | null |
"open" |
|||
data.version |
нет | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
нет | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Некорректный запрос
CrossDockBadRequest
Некорректный запрос.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Конфликт
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Ошибка валидации
CrossDockValidationError
The given data was invalid.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Заменить манифест грузовых единиц cross-dock
| operationId | crossDockReplaceHandlingUnitManifest |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Атомарно заменяет объявленный манифест SSCC/квантов и проверяет принадлежность штрихкодов и состав.
Передавайте envelope API v2 data и заголовок Idempotency-Key. Мутации идемпотентны по command_id; устаревшая version версионируемого агрегата возвращает 409.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request PUT "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/manifest" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonПараметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | нет | string |
maxLength: 191 | Опциональный ключ идемпотентности для write-запросов API v2. Успешные ответы 2xx/3xx повторяются для того же ключа и идентичного payload в течение одного дня. Тот же ключ с другим payload возвращает 409. |
"ord-create-20260714-001" |
Тело запроса
CrossDockReplaceManifestRequest обязательно
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | object |
|
|||
data.command_id |
да | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
да | integer:int64 |
min: 1 | 3 |
||
data.handling_units |
да | array<object> |
|
|||
data.handling_units[] |
нет | object |
|
|||
data.handling_units[].barcode_kind |
да | enum |
enum: sscc, quant | "sscc" |
||
data.handling_units[].barcode |
да | string |
maxLength: 190 | "046012345678901234" |
||
data.handling_units[].hu_type |
нет | enum | null |
enum: box, pallet, tote | "box" |
||
data.handling_units[].contents |
да | array<object> |
minItems: 1 | |
||
data.handling_units[].contents[] |
нет | object |
|
|||
data.handling_units[].contents[].product_id |
да | integer:int64 |
min: 1 | 1201 |
||
data.handling_units[].contents[].quantity |
да | number:float |
min: 0.0001 | 4 |
||
data.handling_units[].contents[].batch |
нет | string | null |
maxLength: 100 | "LOT-2026" |
||
data.handling_units[].contents[].production_date |
нет | string:date | null |
"2026-07-14" |
|||
data.handling_units[].contents[].expiration_date |
нет | string:date | null |
"2027-01-15" |
Примеры запроса
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 3,
"handling_units": [
{
"barcode_kind": "sscc",
"barcode": "046012345678901234",
"contents": [
{
"product_id": 1201,
"quantity": 4
}
]
}
]
}
}
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
нет | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
нет | string | null |
"released" |
|||
data.state |
нет | string | null |
"open" |
|||
data.version |
нет | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
нет | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Некорректный запрос
CrossDockBadRequest
Некорректный запрос.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Конфликт
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Ошибка валидации
CrossDockValidationError
The given data was invalid.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Получить заказы cross-dock-кейса
| operationId | crossDockListOrders |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
List cross-dock orders in the isolated cross-dock execution context.
Результат ограничен tenant-областью аутентифицированного пользователя API v2. Для коллекций поддерживаются описанные фильтры, сортировка и пагинация.
Unknown read parameters are ignored. per_page is silently capped; use meta.per_page. Date-only boundaries follow the installation's stored calendar dates; ISO timestamps are serialized in UTC. The default general API limit is 600/minute; a user-specific override may apply. Its bucket is shared by authenticated user, not by shop/domain; Retry-After is returned on throttling.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/orders" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Параметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
page |
query | нет | integer:int64 |
form | true | min: 1 | Номер страницы. Этот фильтр также можно передать как filter[page], если это поддерживает Laravel query adapter. |
1 |
per_page |
query | нет | integer:int64 |
form | true | min: 1 max: 250 |
Количество записей на странице. По умолчанию 50; максимум 250. Этот фильтр также можно передать как filter[per_page], если это поддерживает Laravel query adapter. |
50 |
sort |
query | нет | string |
form | false | pattern: ^-?[A-Za-z0-9_]+(,-?[A-Za-z0-9_]+)*$ | Поля сортировки через запятую. Префикс - означает сортировку по убыванию. Допустимые поля: id, send_date, created_at. По умолчанию: id. Этот фильтр также можно передать как filter[sort], если это поддерживает Laravel query adapter. |
"id" |
id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по id с точным совпадением. Этот фильтр также можно передать как filter[id], если это поддерживает Laravel query adapter. |
1001 |
status_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по status_id с точным совпадением. Этот фильтр также можно передать как filter[status_id], если это поддерживает Laravel query adapter. |
1 |
Тело запроса
Тело запроса отсутствует.
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | array<Order> |
|
|||
data[] |
нет | Order |
Исходящий складской заказ. Опциональные связанные поля присутствуют, когда контроллер их загрузил или они запрошены через include. |
|
||
data[].id |
да | integer:int64 |
readOnly | min: 1 | 1001 |
|
data[].created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].external_id |
нет | string | null |
"ORD-100245" |
|||
data[].domain_id |
нет | integer:int64 | null |
min: 1 | 3 |
||
data[].type_id |
нет | integer:int64 | null |
1 |
|||
data[].shop_id |
нет | integer:int64 | null |
min: 1 | 12 |
||
data[].warehouse_id |
нет | integer:int64 | null |
min: 1 | 42 |
||
data[].status_id |
нет | integer:int64 | null |
ID статуса заказа. Текущий backend хранит статусы в базе данных; значения не моделируются как закрытый enum в публичном контракте. | 20 |
||
data[].status |
нет | object | null |
|
|||
data[].status.id |
да | integer:int64 |
20 |
|||
data[].status.name |
да | string |
"Created" |
|||
data[].status.color |
нет | string | null |
"#2457c5" |
|||
data[].status.background_color |
нет | string | null |
"#eaf0ff" |
|||
data[].order_date |
нет | string:date | null |
"2026-07-14" |
|||
data[].send_date |
нет | string | null |
Stored order send date, potentially supplied by import, manual input or integration processing. It may be a date or date-time string; it is not a universal physical carrier-handover timestamp. | "2026-07-15 20:25:08" |
||
data[].source_id |
нет | integer:int64 | null |
min: 1 | 1 |
||
data[].customer_type |
нет | integer:int64 | null |
1 |
|||
data[].is_cod |
нет | boolean |
true |
|||
data[].amounts |
нет | OrderAmounts |
|
|||
data[].amounts.shipping_price |
нет | number:float | null |
8.6 |
|||
data[].amounts.shipping_cost |
нет | number:float | null |
0 |
|||
data[].amounts.sum |
нет | number:float | null |
39.98 |
|||
data[].amounts.cod_sum |
нет | number:float | null |
48.58 |
|||
data[].company_id |
нет | integer:int64 | null |
min: 1 | 7 |
||
data[].marking |
да | OrderMarking |
Marking data expected for products in the order. | |
||
data[].marking.required |
да | boolean |
Whether the order contains products that require marking data after picking. | true |
||
data[].marking.types |
да | array<string> |
Marking types required by products in the order. Currently chestny_znak; the list may gain values such as jewel_uin and imei. |
|
||
data[].marking.types[] |
нет | string |
"chestny_znak" |
|||
data[].contact |
нет | object | null |
|
|||
data[].contact.first_name |
нет | string | null |
"Ivan" |
|||
data[].contact.middle_name |
нет | string | null |
"Ivanovich" |
|||
data[].contact.last_name |
нет | string | null |
"Petrov" |
|||
data[].contact.phone |
нет | string | null |
"+359888123456" |
|||
data[].contact.email |
нет | string:email | null |
"customer@example.com" |
|||
data[].contact.country_id |
нет | integer:int64 | null |
min: 1 | 100 |
||
data[].contact.city_id |
нет | integer:int64 | null |
min: 1 | 200 |
||
data[].contact.postcode |
нет | string | null |
"1000" |
|||
data[].contact.latitude |
нет | number:float | null |
min: -90 max: 90 |
42.6977 |
||
data[].contact.longitude |
нет | number:float | null |
min: -180 max: 180 |
23.3219 |
||
data[].contact.full_address |
нет | string | null |
"1 Vitosha Boulevard, Sofia" |
|||
data[].delivery |
нет | object | null |
|
|||
data[].delivery.service_id |
нет | integer:int64 | null |
min: 1 | 1 |
||
data[].delivery.delivery_type |
да | enum | null |
enum: door, pickup_point | Normalized delivery channel derived from the configured delivery service. Null when the service type is unknown. | "door" |
|
data[].delivery.is_courier |
да | boolean |
True for door delivery; false for pickup-point delivery or an unknown service type. | true |
||
data[].delivery.status |
нет | string | null |
"created" |
|||
data[].delivery.track_number |
нет | string | null |
"CDEK-123456789" |
|||
data[].delivery.pickup_point_id |
нет | string | null |
"SOFIA-01" |
|||
data[].delivery.source_id |
нет | string | null |
"cdek-15" |
|||
data[].delivery.tariff_code |
нет | integer:int64 | null |
136 |
|||
data[].delivery.additional_services |
нет | object |
Values of additional CDEK services configured for the selected integration. Boolean true enables a code-only service; other values are sent as the CDEK parameter. |
{"TRYING_ON":true,"PART_DELIV":false,"PACKAGE_1":2} |
||
data[].delivery.label |
нет | string:uri | null |
"https://betawms.ffcdek.ru/labels/CDEK-123456789.pdf" |
|||
data[].delivery.delivery_date |
нет | string:date | null |
"2026-07-16" |
|||
data[].delivery.delivery_time_start |
нет | string:time | null |
"09:00:00Z" |
|||
data[].delivery.delivery_time_end |
нет | string:time | null |
"18:00:00Z" |
|||
data[].comments |
нет | object | null |
|
|||
data[].comments.delivery_service_text |
нет | string | null |
"Call before delivery" |
|||
data[].comments.inner_text |
нет | string | null |
"VIP customer" |
|||
data[].offers |
нет | array<OrderLineEmbedded> |
|
|||
data[].offers[] |
нет | OrderLineEmbedded |
Scalar lot fields use the actual lot only when the full line is picked from one lot; partial/multiple actual lots leave scalars null. Before picking they retain the requested lot. Requested constraints are always available in requested_lot. | |
||
data[].offers[].id |
да | integer:int64 |
readOnly | min: 1 | 7001 |
|
data[].offers[].product_id |
нет | integer:int64 | null |
min: 1 | 1201 |
||
data[].offers[].quantity |
нет | number:float | null |
min: 0 | 2 |
||
data[].offers[].estimated_price |
нет | number:float | null |
19.5 |
|||
data[].offers[].price |
нет | number:float | null |
19.99 |
|||
data[].offers[].expiration_date |
нет | string:date | null |
"2027-01-15" |
|||
data[].offers[].batch |
нет | string | null |
maxLength: 15 | "LOT-2026" |
||
data[].offers[].operation_user_id |
нет | integer:int64 | null |
min: 1 | 9 |
||
data[].offers[].product |
нет | object | null |
|
|||
data[].offers[].product.id |
да | integer:int64 |
readOnly | min: 1 | 1201 |
|
data[].offers[].product.name |
да | string |
"Coffee 250g" |
|||
data[].offers[].product.external_id |
нет | string | null |
"EXT-10045" |
|||
data[].offers[].reservation |
нет | OrderReservationLine |
Reservation totals for one order line. | |
||
data[].offers[].reservation.required_qty |
да | number:float |
3 |
|||
data[].offers[].reservation.reserved_qty |
да | number:float |
1 |
|||
data[].offers[].reservation.unreserved_qty |
да | number:float |
2 |
|||
data[].offers[].reservation.missing_qty |
да | number:float |
2 |
|||
data[].offers[].reservation.status |
да | enum |
enum: not_required, missing, partial, reserved | Reservation state calculated from the quantity required by the order and the quantity actually reserved. | "partial" |
|
data[].offers[].reservation_items |
нет | array<OrderReservationItem> |
|
|||
data[].offers[].reservation_items[] |
нет | OrderReservationItem |
Physical product or expanded component used to explain a reservation shortage. | |
||
data[].offers[].reservation_items[].offer_id |
да | integer:int64 |
min: 1 | 1201 |
||
data[].offers[].reservation_items[].offer_name |
нет | string | null |
"Coffee 250g" |
|||
data[].offers[].reservation_items[].offer_article |
нет | string | null |
"ART-001245" |
|||
data[].offers[].reservation_items[].offer_sku |
нет | string | null |
"SKU-001245" |
|||
data[].offers[].reservation_items[].required_qty |
да | number:float |
3 |
|||
data[].offers[].reservation_items[].reserved_qty |
да | number:float |
1 |
|||
data[].offers[].reservation_items[].unreserved_qty |
да | number:float |
2 |
|||
data[].offers[].reservation_items[].missing_qty |
да | number:float |
2 |
|||
data[].offers[].reservation_items[].status |
да | enum |
enum: not_required, missing, partial, reserved | Reservation state calculated from the quantity required by the order and the quantity actually reserved. | "partial" |
|
data[].offers[].reservation_items[].source_order_offer_ids |
да | array<integer:int64> |
|
|||
data[].offers[].reservation_items[].source_order_offer_ids[] |
нет | integer:int64 |
min: 1 | 7001 |
||
data[].offers[].reservation_items[].source |
да | enum |
enum: order_offer, component, quant, composite_quant | "order_offer" |
||
data[].offers[].reservation_items[].expanded_from_composite |
да | boolean |
false |
|||
data[].offers[].reservation_items[].expanded_from_quant |
да | boolean |
false |
|||
data[].offers[].reservation_items[].quant_base_offer_id |
нет | integer:int64 | null |
min: 1 | 1201 |
||
data[].offers[].reservation_items[].quant_base_multiplicity |
нет | number:float | null |
6 |
|||
data[].offers[].created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].offers[].updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].offers[].production_date |
нет | string:date | null |
"2026-01-15" |
|||
data[].offers[].requested_lot |
нет | WarehouseLot |
|
|||
data[].offers[].requested_lot.batch |
да | string | null |
"LOT-2026" |
|||
data[].offers[].requested_lot.production_date |
да | string:date | null |
"2026-01-15" |
|||
data[].offers[].requested_lot.expiration_date |
да | string:date | null |
"2027-01-15" |
|||
data[].offers[].picked_quantity |
нет | number:float |
min: 0 | 2 |
||
data[].offers[].fulfillment_lots |
нет | array<OrderFulfillmentLot> |
Current active placed warehouse rows for this exact order line and product. Existing orders are included where these rows survive. This is a current picking snapshot, not a historical shipment event. | |
||
data[].offers[].fulfillment_lots[] |
нет | OrderFulfillmentLot |
|
|||
data[].offers[].fulfillment_lots[].batch |
да | string | null |
"LOT-2026" |
|||
data[].offers[].fulfillment_lots[].production_date |
да | string:date | null |
"2026-01-15" |
|||
data[].offers[].fulfillment_lots[].expiration_date |
да | string:date | null |
"2027-01-15" |
|||
data[].offers[].fulfillment_lots[].warehouse_id |
да | integer:int64 |
min: 1 | 734 |
||
data[].offers[].fulfillment_lots[].product_id |
да | integer:int64 |
min: 1 | 1201 |
||
data[].offers[].fulfillment_lots[].quantity |
да | number:float |
min: 0 | 2 |
||
data[].reservation |
нет | OrderReservation |
Reservation readiness and shortages calculated for the order. | |
||
data[].reservation.ready |
да | boolean |
false |
|||
data[].reservation.reason |
да | string | null |
"Not all order products are reserved." |
|||
data[].reservation.expected_total |
да | number:float |
3 |
|||
data[].reservation.reserved_total |
да | number:float |
1 |
|||
data[].reservation.unreserved_total |
да | number:float |
2 |
|||
data[].reservation.missing_total |
да | number:float |
2 |
|||
data[].reservation.missing_items |
да | array<OrderReservationItem> |
|
|||
data[].reservation.missing_items[] |
нет | OrderReservationItem |
Physical product or expanded component used to explain a reservation shortage. | |
||
data[].reservation.missing_items[].offer_id |
да | integer:int64 |
min: 1 | 1201 |
||
data[].reservation.missing_items[].offer_name |
нет | string | null |
"Coffee 250g" |
|||
data[].reservation.missing_items[].offer_article |
нет | string | null |
"ART-001245" |
|||
data[].reservation.missing_items[].offer_sku |
нет | string | null |
"SKU-001245" |
|||
data[].reservation.missing_items[].required_qty |
да | number:float |
3 |
|||
data[].reservation.missing_items[].reserved_qty |
да | number:float |
1 |
|||
data[].reservation.missing_items[].unreserved_qty |
да | number:float |
2 |
|||
data[].reservation.missing_items[].missing_qty |
да | number:float |
2 |
|||
data[].reservation.missing_items[].status |
да | enum |
enum: not_required, missing, partial, reserved | Reservation state calculated from the quantity required by the order and the quantity actually reserved. | "partial" |
|
data[].reservation.missing_items[].source_order_offer_ids |
да | array<integer:int64> |
|
|||
data[].reservation.missing_items[].source_order_offer_ids[] |
нет | integer:int64 |
min: 1 | 7001 |
||
data[].reservation.missing_items[].source |
да | enum |
enum: order_offer, component, quant, composite_quant | "order_offer" |
||
data[].reservation.missing_items[].expanded_from_composite |
да | boolean |
false |
|||
data[].reservation.missing_items[].expanded_from_quant |
да | boolean |
false |
|||
data[].reservation.missing_items[].quant_base_offer_id |
нет | integer:int64 | null |
min: 1 | 1201 |
||
data[].reservation.missing_items[].quant_base_multiplicity |
нет | number:float | null |
6 |
|||
data[].reservation.error |
да | boolean |
false |
|||
data[].consumables |
нет | array<OrderConsumable> |
|
|||
data[].consumables[] |
нет | OrderConsumable |
Current consumable line, not an append-only consumption event. Unplaced usage creates a commitment but does not decrease physical stockTotal; do not treat that stockTotal as remaining packaging inventory. | |
||
data[].consumables[].id |
да | integer:int64 |
min: 1 | 301 |
||
data[].consumables[].order_id |
да | integer:int64 |
min: 1 | 8101 |
||
data[].consumables[].product_id |
да | integer:int64 |
min: 1 | 1202 |
||
data[].consumables[].warehouse_id |
да | integer:int64 | null |
min: 1 | 734 |
||
data[].consumables[].place_id |
да | integer:int64 | null |
min: 1 | 501 |
||
data[].consumables[].quantity |
да | number:float |
1 |
|||
data[].consumables[].stock_location_mode |
да | enum |
enum: placed, unplaced | "unplaced" |
||
data[].consumables[].created_at |
да | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].consumables[].updated_at |
да | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].status_history |
нет | array<OrderStatusHistoryEvent> |
Present only on GET list/detail with include=status_history. Ordered chronologically, retains repeat status cycles and combines surviving audit and action-log entries. Missing history returns an empty array. | |
||
data[].status_history[] |
нет | OrderStatusHistoryEvent |
Recorded WMS status transition or explicitly inferred initial status. It does not independently confirm physical carrier handover. | |
||
data[].status_history[].status_id |
да | integer:int64 |
130 |
|||
data[].status_history[].previous_status_id |
да | integer:int64 | null |
110 |
|||
data[].status_history[].changed_at |
да | string:date-time |
Time of the WMS status transition in ISO 8601 with an explicit timezone offset. | "2026-07-14T12:00:00+03:00" |
||
data[].status_history[].source |
да | enum |
enum: audit, action_log, inferred | "action_log" |
||
data[].status_history[].inferred |
да | boolean |
True only for a reconstructed initial status at order creation; this is not a separately recorded transition. | false |
||
data[].status_history_meta |
нет | OrderStatusHistoryMeta |
|
|||
data[].status_history_meta.available |
да | boolean |
At least one event is available. This does not guarantee complete historical coverage. | true |
||
data[].status_history_meta.current_status_matches_history |
да | boolean |
The last available event has the current order status. False also when history is empty. | true |
||
links |
да | PaginationLinks |
|
|||
links.first |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=1" |
|||
links.last |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
links.prev |
да | string:uri | null |
|
|||
links.next |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
meta |
да | PaginationMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.current_page |
да | integer:int32 |
min: 1 | 1 |
||
meta.from |
да | integer:int32 | null |
min: 1 | 1 |
||
meta.last_page |
да | integer:int32 |
min: 1 | 2 |
||
meta.path |
да | string:uri |
"https://betawms.ffcdek.ru/api/v2/orders" |
|||
meta.per_page |
да | integer:int32 |
min: 1 | 50 |
||
meta.to |
да | integer:int32 | null |
min: 1 | 50 |
||
meta.total |
да | integer:int32 |
min: 0 | 73 |
Примеры ответа
success
{
"data": [
{
"id": 8101,
"external_id": "ORD-100245",
"domain_id": 3,
"type_id": 1,
"shop_id": 12,
"warehouse_id": 42,
"status_id": 20,
"status": {
"id": 20,
"name": "Created",
"color": "#2457c5",
"background_color": "#eaf0ff"
},
"order_date": "2026-07-14",
"send_date": "2026-07-15",
"source_id": 1,
"customer_type": 1,
"is_cod": true,
"amounts": {
"shipping_price": 8.6,
"shipping_cost": 0,
"sum": 39.98,
"cod_sum": 48.58
},
"company_id": 7,
"marking": {
"required": true,
"types": [
"chestny_znak"
]
},
"contact": {
"first_name": "Ivan",
"middle_name": null,
"last_name": "Petrov",
"phone": "+359888123456",
"email": "customer@example.com",
"country_id": 100,
"city_id": 200,
"postcode": "1000",
"latitude": 42.6977,
"longitude": 23.3219,
"full_address": "1 Vitosha Boulevard, Sofia"
},
"delivery": {
"service_id": 1,
"delivery_type": "door",
"is_courier": true,
"status": "created",
"track_number": "CDEK-123456789",
"source_id": "cdek-15",
"tariff_code": 136,
"label": "https://betawms.ffcdek.ru/labels/CDEK-123456789.pdf",
"delivery_date": "2026-07-16",
"delivery_time_start": "09:00:00Z",
"delivery_time_end": "18:00:00Z"
},
"comments": {
"delivery_service_text": "Call before delivery",
"inner_text": "VIP customer"
},
"offers": [
{
"id": 7001,
"product_id": 1201,
"quantity": 2,
"estimated_price": 19.5,
"price": 19.99,
"expiration_date": "2027-01-15",
"batch": "LOT-2026",
"operation_user_id": 9,
"product": {
"id": 1201,
"name": "Coffee 250g",
"external_id": "EXT-10045"
},
"created_at": "2026-07-14T09:00:00Z",
"updated_at": "2026-07-14T09:30:00Z"
}
],
"created_at": "2026-07-14T09:00:00Z",
"updated_at": "2026-07-14T09:30:00Z"
}
],
"links": {
"first": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/orders?page=1",
"last": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/orders?page=2",
"prev": null,
"next": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/orders?page=2"
},
"meta": {
"api_version": "v2",
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/orders",
"per_page": 50,
"to": 50,
"total": 73
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Создать cross-dock-заказ и направление
| operationId | crossDockCreateOrderAndTarget |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Создаёт исходящий заказ в неизменяемом режиме исполнения cross-dock вместе с направлением и строками потребности.
Передавайте envelope API v2 data и заголовок Idempotency-Key. Мутации идемпотентны по command_id; устаревшая version версионируемого агрегата возвращает 409.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/orders" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonПараметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | нет | string |
maxLength: 191 | Опциональный ключ идемпотентности для write-запросов API v2. Успешные ответы 2xx/3xx повторяются для того же ключа и идентичного payload в течение одного дня. Тот же ключ с другим payload возвращает 409. |
"ord-create-20260714-001" |
Тело запроса
CrossDockCreateOrderRequest обязательно
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | object |
|
|||
data.command_id |
да | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.external_id |
нет | string | null |
maxLength: 50 | "ORD-XD-001" |
||
data.type_id |
да | integer:int64 |
min: 1 | 1 |
||
data.group_id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
data.shop_id |
нет | integer:int64 | null |
min: 1 | 12 |
||
data.warehouse_id |
нет | integer:int64 | null |
min: 1 | 43 |
||
data.send_date |
нет | string:date | null |
"2026-07-14" |
|||
data.source_id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
data.customer_type |
нет | integer:int64 | null |
|
|||
data.company_id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
data.is_cod |
нет | boolean |
false |
|||
data.shipping_price |
нет | number:float | null |
7.5 |
|||
data.shipping_cost |
нет | number:float | null |
5.0 |
|||
data.crossdock_target |
нет | object |
|
|||
data.crossdock_target.type |
нет | enum | null |
enum: order, route, staging_lane, dispatch | "order" |
||
data.crossdock_target.name |
нет | string | null |
maxLength: 190 | "Lane 7" |
||
data.crossdock_target.destination_ref |
нет | string | null |
maxLength: 190 | "SOF" |
||
data.crossdock_target.carrier_ref |
нет | string | null |
maxLength: 190 | "CDEK" |
||
data.crossdock_target.route_code |
нет | string | null |
maxLength: 190 | "BG-SOF" |
||
data.crossdock_target.place_id |
нет | integer:int64 | null |
min: 1 | 900 |
||
data.crossdock_target.priority |
нет | integer:int64 | null |
100 |
|||
data.crossdock_target.cutoff_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.lines |
да | array<object> |
minItems: 1 | |
||
data.lines[] |
нет | object |
|
|||
data.lines[].product_id |
нет | integer:int64 | null |
min: 1 | 1201 |
||
data.lines[].product_external_id |
нет | string | null |
maxLength: 190 | "EXT-10045" |
||
data.lines[].quantity |
да | number:float |
min: 0.0001 | 4 |
||
data.lines[].estimated_price |
нет | number:float | null |
min: 0 | 19.99 |
||
data.lines[].price |
нет | number:float | null |
min: 0 | 19.99 |
||
data.lines[].production_date |
нет | string:date | null |
"2026-07-14" |
|||
data.lines[].expiration_date |
нет | string:date | null |
"2027-01-15" |
|||
data.lines[].batch |
нет | string | null |
maxLength: 15 | "LOT-2026" |
||
data.lines[].source_policy |
нет | enum | null |
enum: crossdock_only, crossdock_then_stock, stock_allowed | "crossdock_only" |
||
data.lines[].external_line_id |
нет | string | null |
maxLength: 190 | "LINE-1" |
Примеры запроса
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"type_id": 1,
"is_cod": false,
"lines": [
{
"quantity": 4
}
]
}
}
Ответы
201 Created.
Created.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
нет | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
нет | string | null |
"released" |
|||
data.state |
нет | string | null |
"open" |
|||
data.version |
нет | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
нет | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Некорректный запрос
CrossDockBadRequest
Некорректный запрос.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Конфликт
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Ошибка валидации
CrossDockValidationError
The given data was invalid.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Рассчитать распределение cross-dock
| operationId | crossDockPlanAllocation |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Рассчитывает прямое распределение доступного supply по заказам с учётом FIFO срока годности, приоритета и версии стратегии.
Передавайте envelope API v2 data и заголовок Idempotency-Key. Мутации идемпотентны по command_id; устаревшая version версионируемого агрегата возвращает 409.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/plan" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonПараметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | нет | string |
maxLength: 191 | Опциональный ключ идемпотентности для write-запросов API v2. Успешные ответы 2xx/3xx повторяются для того же ключа и идентичного payload в течение одного дня. Тот же ключ с другим payload возвращает 409. |
"ord-create-20260714-001" |
Тело запроса
CrossDockPlanRequest обязательно
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | object |
|
|||
data.command_id |
да | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
да | integer:int64 |
min: 1 | 3 |
||
data.strategy_version |
да | string |
maxLength: 50 | "fifo-v1" |
||
data.expected_plan_hash |
нет | string | null |
minLength: 64 maxLength: 64 |
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" |
Примеры запроса
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 3,
"strategy_version": "fifo-v1"
}
}
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
нет | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
нет | string | null |
"released" |
|||
data.state |
нет | string | null |
"open" |
|||
data.version |
нет | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
нет | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Некорректный запрос
CrossDockBadRequest
Некорректный запрос.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Конфликт
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Ошибка валидации
CrossDockValidationError
The given data was invalid.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Получить задания печати cross-dock
| operationId | crossDockListPrintJobs |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
List cross-dock print jobs in the isolated cross-dock execution context.
Результат ограничен tenant-областью аутентифицированного пользователя API v2. Для коллекций поддерживаются описанные фильтры, сортировка и пагинация.
Unknown read parameters are ignored. per_page is silently capped; use meta.per_page. Date-only boundaries follow the installation's stored calendar dates; ISO timestamps are serialized in UTC. The default general API limit is 600/minute; a user-specific override may apply. Its bucket is shared by authenticated user, not by shop/domain; Retry-After is returned on throttling.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/print-jobs" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Параметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
page |
query | нет | integer:int64 |
form | true | min: 1 | Номер страницы. Этот фильтр также можно передать как filter[page], если это поддерживает Laravel query adapter. |
1 |
per_page |
query | нет | integer:int64 |
form | true | min: 1 max: 500 |
Количество записей на странице. По умолчанию 100; максимум 500. Этот фильтр также можно передать как filter[per_page], если это поддерживает Laravel query adapter. |
100 |
sort |
query | нет | string |
form | false | pattern: ^-?[A-Za-z0-9_]+(,-?[A-Za-z0-9_]+)*$ | Поля сортировки через запятую. Префикс - означает сортировку по убыванию. Допустимые поля: id, created_at, dispatched_at. По умолчанию: id. Этот фильтр также можно передать как filter[sort], если это поддерживает Laravel query adapter. |
"id" |
id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по id с точным совпадением. Этот фильтр также можно передать как filter[id], если это поддерживает Laravel query adapter. |
1001 |
label_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по label_id с точным совпадением. Этот фильтр также можно передать как filter[label_id], если это поддерживает Laravel query adapter. |
1 |
target_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по target_id с точным совпадением. Этот фильтр также можно передать как filter[target_id], если это поддерживает Laravel query adapter. |
1 |
status |
query | нет | string |
form | true | Фильтр по status с точным совпадением. Этот фильтр также можно передать как filter[status], если это поддерживает Laravel query adapter. |
"waiting" |
|
printer_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по printer_id с точным совпадением. Этот фильтр также можно передать как filter[printer_id], если это поддерживает Laravel query adapter. |
1 |
Тело запроса
Тело запроса отсутствует.
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | array<CrossDockPrintJob> |
|
|||
data[] |
нет | CrossDockPrintJob |
Versioned target-label print job with dispatch and device acknowledgement. | |
||
data[].id |
да | integer:int64 |
readOnly | min: 1 | 1001 |
|
data[].created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].public_id |
да | string |
"01J2CROSSDOCKPRINTJOB001" |
|||
data[].case_id |
да | integer:int64 |
min: 1 | 4101 |
||
data[].target_id |
да | integer:int64 |
min: 1 | 4301 |
||
data[].label_id |
да | integer:int64 |
min: 1 | 4401 |
||
data[].status |
да | string |
"ready" |
|||
data[].attempts |
да | integer:int64 |
0 |
|||
data[].printer_id |
нет | integer:int64 | null |
min: 1 | 55 |
||
data[].device_id |
нет | string | null |
"gate-printer-1" |
|||
data[].artifact_ref |
нет | string | null |
"crossdock/labels/4401.pdf" |
|||
data[].artifact_hash |
нет | string | null |
"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" |
|||
data[].last_error |
нет | string | null |
"printer_offline" |
|||
data[].dispatched_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].acknowledged_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].version |
да | integer:int64 |
1 |
|||
links |
да | PaginationLinks |
|
|||
links.first |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=1" |
|||
links.last |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
links.prev |
да | string:uri | null |
|
|||
links.next |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
meta |
да | PaginationMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.current_page |
да | integer:int32 |
min: 1 | 1 |
||
meta.from |
да | integer:int32 | null |
min: 1 | 1 |
||
meta.last_page |
да | integer:int32 |
min: 1 | 2 |
||
meta.path |
да | string:uri |
"https://betawms.ffcdek.ru/api/v2/orders" |
|||
meta.per_page |
да | integer:int32 |
min: 1 | 50 |
||
meta.to |
да | integer:int32 | null |
min: 1 | 50 |
||
meta.total |
да | integer:int32 |
min: 0 | 73 |
Примеры ответа
success
{
"data": [
{
"id": 1001,
"public_id": "01J2CROSSDOCKPRINTJOB001",
"case_id": 4101,
"target_id": 4301,
"label_id": 4401,
"status": "ready",
"attempts": 0,
"version": 1
}
],
"links": {
"first": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/print-jobs?page=1",
"last": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/print-jobs?page=2",
"prev": null,
"next": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/print-jobs?page=2"
},
"meta": {
"api_version": "v2",
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/print-jobs",
"per_page": 100,
"to": 100,
"total": 123
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Get crossdock
| operationId | listCrossdockCasesReadiness |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Get crossdock in the isolated cross-dock execution context.
Результат ограничен tenant-областью аутентифицированного пользователя API v2. Для коллекций поддерживаются описанные фильтры, сортировка и пагинация.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/readiness" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Параметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
Тело запроса
Тело запроса отсутствует.
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
нет | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
нет | string | null |
"released" |
|||
data.state |
нет | string | null |
"open" |
|||
data.version |
нет | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
нет | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Выпустить план cross-dock в работу
| operationId | crossDockReleasePlan |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Фиксирует hash плана, активирует allocations и targets, создаёт исполняемые задания и актуальные этикетки.
Передавайте envelope API v2 data и заголовок Idempotency-Key. Мутации идемпотентны по command_id; устаревшая version версионируемого агрегата возвращает 409.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/release" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonПараметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | нет | string |
maxLength: 191 | Опциональный ключ идемпотентности для write-запросов API v2. Успешные ответы 2xx/3xx повторяются для того же ключа и идентичного payload в течение одного дня. Тот же ключ с другим payload возвращает 409. |
"ord-create-20260714-001" |
Тело запроса
CrossDockReleaseRequest обязательно
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | object |
|
|||
data.command_id |
да | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
да | integer:int64 |
min: 1 | 4 |
||
data.plan_hash |
да | string |
minLength: 64 maxLength: 64 |
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" |
Примеры запроса
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 4,
"plan_hash": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
}
}
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
нет | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
нет | string | null |
"released" |
|||
data.state |
нет | string | null |
"open" |
|||
data.version |
нет | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
нет | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Некорректный запрос
CrossDockBadRequest
Некорректный запрос.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Конфликт
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Ошибка валидации
CrossDockValidationError
The given data was invalid.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Run crossdock action
| operationId | createCrossdockCasesReturnToDraft |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Run crossdock action in the isolated cross-dock execution context.
Передавайте envelope API v2 data и заголовок Idempotency-Key. Мутации идемпотентны по command_id; устаревшая version версионируемого агрегата возвращает 409.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/return-to-draft" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonПараметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | нет | string |
maxLength: 191 | Опциональный ключ идемпотентности для write-запросов API v2. Успешные ответы 2xx/3xx повторяются для того же ключа и идентичного payload в течение одного дня. Тот же ключ с другим payload возвращает 409. |
"ord-create-20260714-001" |
Тело запроса
CrossDockCommandRequest обязательно
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | object |
Operation-specific payload. Mutating commands require command_id; versioned aggregates also require the current version. |
|
||
data.command_id |
нет | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
нет | integer:int64 | null |
min: 1 | 3 |
||
data.barcode |
нет | string | null |
"4601234567890" |
|||
data.quantity |
нет | number:float | null |
min: 0 | 5 |
||
data.reason |
нет | string | null |
"Supervisor-approved operational action" |
Примеры запроса
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4"
}
}
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
нет | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
нет | string | null |
"released" |
|||
data.state |
нет | string | null |
"open" |
|||
data.version |
нет | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
нет | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Некорректный запрос
CrossDockBadRequest
Некорректный запрос.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Конфликт
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Ошибка валидации
CrossDockValidationError
The given data was invalid.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Get crossdock
| operationId | listCrossdockCasesScanSessions |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Get crossdock in the isolated cross-dock execution context.
Результат ограничен tenant-областью аутентифицированного пользователя API v2. Для коллекций поддерживаются описанные фильтры, сортировка и пагинация.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/scan-sessions" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Параметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
Тело запроса
Тело запроса отсутствует.
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
нет | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
нет | string | null |
"released" |
|||
data.state |
нет | string | null |
"open" |
|||
data.version |
нет | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
нет | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Отсканировать источник cross-dock
| operationId | crossDockScanSource |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Распознаёт товар, квант или SSCC в исходном месте и открывает версионируемую сессию устройства с временным hold остатка.
Передавайте envelope API v2 data и заголовок Idempotency-Key. Мутации идемпотентны по command_id; устаревшая version версионируемого агрегата возвращает 409.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/scans/source" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonПараметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | нет | string |
maxLength: 191 | Опциональный ключ идемпотентности для write-запросов API v2. Успешные ответы 2xx/3xx повторяются для того же ключа и идентичного payload в течение одного дня. Тот же ключ с другим payload возвращает 409. |
"ord-create-20260714-001" |
Тело запроса
CrossDockSourceScanRequest обязательно
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | object |
|
|||
data.command_id |
да | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.barcode |
да | string |
maxLength: 190 | "4601234567890" |
||
data.device_id |
да | string |
maxLength: 190 | "tsd-01" |
||
data.source_place_id |
да | integer:int64 |
min: 1 | 800 |
Примеры запроса
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"barcode": "4601234567890",
"device_id": "tsd-01",
"source_place_id": 800
}
}
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
нет | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
нет | string | null |
"released" |
|||
data.state |
нет | string | null |
"open" |
|||
data.version |
нет | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
нет | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Некорректный запрос
CrossDockBadRequest
Некорректный запрос.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Конфликт
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Ошибка валидации
CrossDockValidationError
The given data was invalid.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Подтвердить скан направления cross-dock
| operationId | crossDockConfirmTargetScan |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Проверяет актуальную этикетку направления, фиксирует fulfillment и движения, погашает hold и продвигает связанный заказ.
Передавайте envelope API v2 data и заголовок Idempotency-Key. Мутации идемпотентны по command_id; устаревшая version версионируемого агрегата возвращает 409.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/scans/target" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonПараметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | нет | string |
maxLength: 191 | Опциональный ключ идемпотентности для write-запросов API v2. Успешные ответы 2xx/3xx повторяются для того же ключа и идентичного payload в течение одного дня. Тот же ключ с другим payload возвращает 409. |
"ord-create-20260714-001" |
Тело запроса
CrossDockTargetScanRequest обязательно
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | object |
|
|||
data.command_id |
да | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.scan_session_id |
да | string |
maxLength: 190 | "01J2CROSSDOCKSESSION000001" |
||
data.version |
да | integer:int64 |
min: 1 | 2 |
||
data.target_barcode |
да | string |
maxLength: 255 | "XD1.4301.2.signature" |
||
data.device_id |
да | string |
maxLength: 190 | "tsd-01" |
Примеры запроса
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"scan_session_id": "01J2CROSSDOCKSESSION000001",
"version": 2,
"target_barcode": "XD1.4301.2.signature",
"device_id": "tsd-01"
}
}
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
нет | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
нет | string | null |
"released" |
|||
data.state |
нет | string | null |
"open" |
|||
data.version |
нет | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
нет | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Некорректный запрос
CrossDockBadRequest
Некорректный запрос.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Конфликт
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Ошибка валидации
CrossDockValidationError
The given data was invalid.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Run crossdock action
| operationId | createCrossdockCasesSubmit |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Run crossdock action in the isolated cross-dock execution context.
Передавайте envelope API v2 data и заголовок Idempotency-Key. Мутации идемпотентны по command_id; устаревшая version версионируемого агрегата возвращает 409.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/submit" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonПараметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | нет | string |
maxLength: 191 | Опциональный ключ идемпотентности для write-запросов API v2. Успешные ответы 2xx/3xx повторяются для того же ключа и идентичного payload в течение одного дня. Тот же ключ с другим payload возвращает 409. |
"ord-create-20260714-001" |
Тело запроса
CrossDockCommandRequest обязательно
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | object |
Operation-specific payload. Mutating commands require command_id; versioned aggregates also require the current version. |
|
||
data.command_id |
нет | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
нет | integer:int64 | null |
min: 1 | 3 |
||
data.barcode |
нет | string | null |
"4601234567890" |
|||
data.quantity |
нет | number:float | null |
min: 0 | 5 |
||
data.reason |
нет | string | null |
"Supervisor-approved operational action" |
Примеры запроса
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4"
}
}
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
нет | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
нет | string | null |
"released" |
|||
data.state |
нет | string | null |
"open" |
|||
data.version |
нет | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
нет | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Некорректный запрос
CrossDockBadRequest
Некорректный запрос.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Конфликт
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Ошибка валидации
CrossDockValidationError
The given data was invalid.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Получить входящие количества cross-dock
| operationId | crossDockListSupplies |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
List cross-dock supplies in the isolated cross-dock execution context.
Результат ограничен tenant-областью аутентифицированного пользователя API v2. Для коллекций поддерживаются описанные фильтры, сортировка и пагинация.
Unknown read parameters are ignored. per_page is silently capped; use meta.per_page. Date-only boundaries follow the installation's stored calendar dates; ISO timestamps are serialized in UTC. The default general API limit is 600/minute; a user-specific override may apply. Its bucket is shared by authenticated user, not by shop/domain; Retry-After is returned on throttling.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/supplies" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Параметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
page |
query | нет | integer:int64 |
form | true | min: 1 | Номер страницы. Этот фильтр также можно передать как filter[page], если это поддерживает Laravel query adapter. |
1 |
per_page |
query | нет | integer:int64 |
form | true | min: 1 max: 500 |
Количество записей на странице. По умолчанию 100; максимум 500. Этот фильтр также можно передать как filter[per_page], если это поддерживает Laravel query adapter. |
100 |
sort |
query | нет | string |
form | false | pattern: ^-?[A-Za-z0-9_]+(,-?[A-Za-z0-9_]+)*$ | Поля сортировки через запятую. Префикс - означает сортировку по убыванию. Допустимые поля: id, product_id, created_at. По умолчанию: id. Этот фильтр также можно передать как filter[sort], если это поддерживает Laravel query adapter. |
"id" |
id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по id с точным совпадением. Этот фильтр также можно передать как filter[id], если это поддерживает Laravel query adapter. |
1001 |
product_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по product_id с точным совпадением. Этот фильтр также можно передать как filter[product_id], если это поддерживает Laravel query adapter. |
1201 |
base_product_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по base_product_id с точным совпадением. Этот фильтр также можно передать как filter[base_product_id], если это поддерживает Laravel query adapter. |
1200 |
acceptance_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по acceptance_id с точным совпадением. Этот фильтр также можно передать как filter[acceptance_id], если это поддерживает Laravel query adapter. |
1 |
Тело запроса
Тело запроса отсутствует.
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | array<CrossDockSupply> |
|
|||
data[] |
нет | CrossDockSupply |
Inbound quantity available to the cross-dock planner. | |
||
data[].id |
да | integer:int64 |
readOnly | min: 1 | 1001 |
|
data[].created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].case_id |
да | integer:int64 |
min: 1 | 4101 |
||
data[].acceptance_id |
да | integer:int64 |
min: 1 | 5101 |
||
data[].acceptance_line_id |
да | integer:int64 |
min: 1 | 5201 |
||
data[].lineage_id |
да | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data[].parent_supply_id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
data[].product_id |
да | integer:int64 |
min: 1 | 1201 |
||
data[].base_product_id |
да | integer:int64 |
min: 1 | 1201 |
||
data[].quantity |
да | number:float |
10 |
|||
data[].base_quantity |
да | number:float |
10 |
|||
data[].received_quantity |
нет | number:float |
10 |
|||
data[].received_base_quantity |
нет | number:float |
10 |
|||
data[].eligible_base_quantity |
нет | number:float |
10 |
|||
data[].allocated_base_quantity |
нет | number:float |
8 |
|||
data[].executed_base_quantity |
нет | number:float |
5 |
|||
data[].batch |
нет | string | null |
"LOT-2026" |
|||
data[].production_date |
нет | string:date | null |
"2026-07-14" |
|||
data[].expiration_date |
нет | string:date | null |
"2027-01-15" |
|||
data[].quality_state |
нет | string |
"accepted" |
|||
data[].external_line_id |
нет | string | null |
"ASN-LINE-1" |
|||
data[].version |
да | integer:int64 |
2 |
|||
links |
да | PaginationLinks |
|
|||
links.first |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=1" |
|||
links.last |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
links.prev |
да | string:uri | null |
|
|||
links.next |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
meta |
да | PaginationMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.current_page |
да | integer:int32 |
min: 1 | 1 |
||
meta.from |
да | integer:int32 | null |
min: 1 | 1 |
||
meta.last_page |
да | integer:int32 |
min: 1 | 2 |
||
meta.path |
да | string:uri |
"https://betawms.ffcdek.ru/api/v2/orders" |
|||
meta.per_page |
да | integer:int32 |
min: 1 | 50 |
||
meta.to |
да | integer:int32 | null |
min: 1 | 50 |
||
meta.total |
да | integer:int32 |
min: 0 | 73 |
Примеры ответа
success
{
"data": [
{
"id": 1001,
"case_id": 4101,
"acceptance_id": 5101,
"acceptance_line_id": 5201,
"lineage_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"product_id": 1201,
"base_product_id": 1201,
"quantity": 10,
"base_quantity": 10,
"received_quantity": 10,
"received_base_quantity": 10,
"eligible_base_quantity": 10,
"allocated_base_quantity": 8,
"executed_base_quantity": 5,
"quality_state": "accepted",
"version": 2
}
],
"links": {
"first": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/supplies?page=1",
"last": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/supplies?page=2",
"prev": null,
"next": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/supplies?page=2"
},
"meta": {
"api_version": "v2",
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/supplies",
"per_page": 100,
"to": 100,
"total": 123
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Получить направления cross-dock
| operationId | crossDockListTargets |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
List cross-dock targets in the isolated cross-dock execution context.
Результат ограничен tenant-областью аутентифицированного пользователя API v2. Для коллекций поддерживаются описанные фильтры, сортировка и пагинация.
Unknown read parameters are ignored. per_page is silently capped; use meta.per_page. Date-only boundaries follow the installation's stored calendar dates; ISO timestamps are serialized in UTC. The default general API limit is 600/minute; a user-specific override may apply. Its bucket is shared by authenticated user, not by shop/domain; Retry-After is returned on throttling.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/targets" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Параметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
page |
query | нет | integer:int64 |
form | true | min: 1 | Номер страницы. Этот фильтр также можно передать как filter[page], если это поддерживает Laravel query adapter. |
1 |
per_page |
query | нет | integer:int64 |
form | true | min: 1 max: 500 |
Количество записей на странице. По умолчанию 100; максимум 500. Этот фильтр также можно передать как filter[per_page], если это поддерживает Laravel query adapter. |
100 |
sort |
query | нет | string |
form | false | pattern: ^-?[A-Za-z0-9_]+(,-?[A-Za-z0-9_]+)*$ | Поля сортировки через запятую. Префикс - означает сортировку по убыванию. Допустимые поля: id, short_number, created_at. По умолчанию: short_number. Этот фильтр также можно передать как filter[sort], если это поддерживает Laravel query adapter. |
"short_number" |
id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по id с точным совпадением. Этот фильтр также можно передать как filter[id], если это поддерживает Laravel query adapter. |
1001 |
status |
query | нет | string |
form | true | Фильтр по status с точным совпадением. Этот фильтр также можно передать как filter[status], если это поддерживает Laravel query adapter. |
"waiting" |
|
order_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по order_id с точным совпадением. Этот фильтр также можно передать как filter[order_id], если это поддерживает Laravel query adapter. |
1 |
Тело запроса
Тело запроса отсутствует.
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | array<CrossDockTarget> |
|
|||
data[] |
нет | CrossDockTarget |
Physical sorting or dispatch destination for a cross-dock order. | |
||
data[].id |
да | integer:int64 |
readOnly | min: 1 | 1001 |
|
data[].created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].public_id |
да | string |
"01J2CROSSDOCKTARGET000001" |
|||
data[].case_id |
да | integer:int64 |
min: 1 | 4101 |
||
data[].order_id |
нет | integer:int64 | null |
min: 1 | 8101 |
||
data[].type |
да | enum |
enum: order, route, staging_lane, dispatch | "order" |
||
data[].short_number |
да | integer:int64 |
7 |
|||
data[].name |
нет | string | null |
"Lane 7" |
|||
data[].destination_ref |
нет | string | null |
"SOF" |
|||
data[].carrier_ref |
нет | string | null |
"CDEK" |
|||
data[].route_ref |
нет | string | null |
"BG-SOF" |
|||
data[].place_id |
нет | integer:int64 | null |
min: 1 | 900 |
||
data[].barcode_token_version |
нет | integer:int64 |
2 |
|||
data[].current_label_id |
нет | integer:int64 | null |
min: 1 | 4401 |
||
data[].status |
да | string |
"ready" |
|||
data[].version |
да | integer:int64 |
3 |
|||
links |
да | PaginationLinks |
|
|||
links.first |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=1" |
|||
links.last |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
links.prev |
да | string:uri | null |
|
|||
links.next |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
meta |
да | PaginationMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.current_page |
да | integer:int32 |
min: 1 | 1 |
||
meta.from |
да | integer:int32 | null |
min: 1 | 1 |
||
meta.last_page |
да | integer:int32 |
min: 1 | 2 |
||
meta.path |
да | string:uri |
"https://betawms.ffcdek.ru/api/v2/orders" |
|||
meta.per_page |
да | integer:int32 |
min: 1 | 50 |
||
meta.to |
да | integer:int32 | null |
min: 1 | 50 |
||
meta.total |
да | integer:int32 |
min: 0 | 73 |
Примеры ответа
success
{
"data": [
{
"id": 1001,
"public_id": "01J2CROSSDOCKTARGET000001",
"case_id": 4101,
"type": "order",
"short_number": 7,
"barcode_token_version": 2,
"status": "ready",
"version": 3
}
],
"links": {
"first": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/targets?page=1",
"last": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/targets?page=2",
"prev": null,
"next": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/targets?page=2"
},
"meta": {
"api_version": "v2",
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/targets",
"per_page": 100,
"to": 100,
"total": 123
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Назначить места направлениям cross-dock
| operationId | crossDockAssignTargetPlaces |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Assign cross-dock target places in the isolated cross-dock execution context.
Передавайте envelope API v2 data и заголовок Idempotency-Key. Мутации идемпотентны по command_id; устаревшая version версионируемого агрегата возвращает 409.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request PUT "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/targets/places" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonПараметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | нет | string |
maxLength: 191 | Опциональный ключ идемпотентности для write-запросов API v2. Успешные ответы 2xx/3xx повторяются для того же ключа и идентичного payload в течение одного дня. Тот же ключ с другим payload возвращает 409. |
"ord-create-20260714-001" |
Тело запроса
CrossDockAssignTargetPlacesRequest обязательно
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | object |
|
|||
data.command_id |
да | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
да | integer:int64 |
min: 1 | 3 |
||
data.targets |
да | array<object> |
minItems: 1 maxItems: 500 |
|
||
data.targets[] |
нет | object |
|
|||
data.targets[].target_id |
да | integer:int64 |
min: 1 | 4301 |
||
data.targets[].target_version |
да | integer:int64 |
min: 1 | 2 |
||
data.targets[].target_place_id |
да | integer:int64 |
min: 1 | 900 |
Примеры запроса
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 3,
"targets": [
{
"target_id": 4301,
"target_version": 2,
"target_place_id": 900
}
]
}
}
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
нет | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
нет | string | null |
"released" |
|||
data.state |
нет | string | null |
"open" |
|||
data.version |
нет | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
нет | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Некорректный запрос
CrossDockBadRequest
Некорректный запрос.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Конфликт
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Ошибка валидации
CrossDockValidationError
The given data was invalid.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Получить задания cross-dock
| operationId | crossDockListTasks |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
List cross-dock tasks in the isolated cross-dock execution context.
Результат ограничен tenant-областью аутентифицированного пользователя API v2. Для коллекций поддерживаются описанные фильтры, сортировка и пагинация.
Unknown read parameters are ignored. per_page is silently capped; use meta.per_page. Date-only boundaries follow the installation's stored calendar dates; ISO timestamps are serialized in UTC. The default general API limit is 600/minute; a user-specific override may apply. Its bucket is shared by authenticated user, not by shop/domain; Retry-After is returned on throttling.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/tasks" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Параметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
case |
path | да | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
page |
query | нет | integer:int64 |
form | true | min: 1 | Номер страницы. Этот фильтр также можно передать как filter[page], если это поддерживает Laravel query adapter. |
1 |
per_page |
query | нет | integer:int64 |
form | true | min: 1 max: 500 |
Количество записей на странице. По умолчанию 100; максимум 500. Этот фильтр также можно передать как filter[per_page], если это поддерживает Laravel query adapter. |
100 |
sort |
query | нет | string |
form | false | pattern: ^-?[A-Za-z0-9_]+(,-?[A-Za-z0-9_]+)*$ | Поля сортировки через запятую. Префикс - означает сортировку по убыванию. Допустимые поля: id, created_at. По умолчанию: id. Этот фильтр также можно передать как filter[sort], если это поддерживает Laravel query adapter. |
"id" |
id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по id с точным совпадением. Этот фильтр также можно передать как filter[id], если это поддерживает Laravel query adapter. |
1001 |
status |
query | нет | string |
form | true | Фильтр по status с точным совпадением. Этот фильтр также можно передать как filter[status], если это поддерживает Laravel query adapter. |
"waiting" |
|
type |
query | нет | string |
form | true | Фильтр по type с точным совпадением. Этот фильтр также можно передать как filter[type], если это поддерживает Laravel query adapter. |
"inbound" |
|
target_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по target_id с точным совпадением. Этот фильтр также можно передать как filter[target_id], если это поддерживает Laravel query adapter. |
1 |
Тело запроса
Тело запроса отсутствует.
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | array<CrossDockTask> |
|
|||
data[] |
нет | CrossDockTask |
Executable cross-dock warehouse task. | |
||
data[].id |
да | integer:int64 |
readOnly | min: 1 | 1001 |
|
data[].created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].public_id |
да | string |
"01J2CROSSDOCKTASK0000001" |
|||
data[].case_id |
да | integer:int64 |
min: 1 | 4101 |
||
data[].allocation_id |
нет | integer:int64 | null |
min: 1 | 4501 |
||
data[].fulfillment_id |
нет | integer:int64 | null |
min: 1 | 4801 |
||
data[].target_id |
нет | integer:int64 | null |
min: 1 | 4301 |
||
data[].type |
да | string |
"move" |
|||
data[].source_place_id |
нет | integer:int64 | null |
min: 1 | 800 |
||
data[].target_place_id |
нет | integer:int64 | null |
min: 1 | 900 |
||
data[].product_id |
нет | integer:int64 | null |
min: 1 | 1201 |
||
data[].base_product_id |
нет | integer:int64 | null |
min: 1 | 1201 |
||
data[].base_quantity |
нет | number:float | null |
4 |
|||
data[].status |
да | string |
"ready" |
|||
data[].lease_owner_id |
нет | integer:int64 | null |
min: 1 | 25 |
||
data[].lease_until |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].active_scan_session_id |
нет | integer:int64 | null |
min: 1 | 4901 |
||
data[].version |
да | integer:int64 |
1 |
|||
data[].completed_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
links |
да | PaginationLinks |
|
|||
links.first |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=1" |
|||
links.last |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
links.prev |
да | string:uri | null |
|
|||
links.next |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
meta |
да | PaginationMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.current_page |
да | integer:int32 |
min: 1 | 1 |
||
meta.from |
да | integer:int32 | null |
min: 1 | 1 |
||
meta.last_page |
да | integer:int32 |
min: 1 | 2 |
||
meta.path |
да | string:uri |
"https://betawms.ffcdek.ru/api/v2/orders" |
|||
meta.per_page |
да | integer:int32 |
min: 1 | 50 |
||
meta.to |
да | integer:int32 | null |
min: 1 | 50 |
||
meta.total |
да | integer:int32 |
min: 0 | 73 |
Примеры ответа
success
{
"data": [
{
"id": 1001,
"public_id": "01J2CROSSDOCKTASK0000001",
"case_id": 4101,
"type": "move",
"status": "ready",
"version": 1
}
],
"links": {
"first": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/tasks?page=1",
"last": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/tasks?page=2",
"prev": null,
"next": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/tasks?page=2"
},
"meta": {
"api_version": "v2",
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/tasks",
"per_page": 100,
"to": 100,
"total": 123
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Получить статус команды cross-dock
| operationId | crossDockGetCommandStatus |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Возвращает сохранённое состояние идемпотентной команды и исходный результат для восстановления после таймаута.
Результат ограничен tenant-областью аутентифицированного пользователя API v2. Для коллекций поддерживаются описанные фильтры, сортировка и пагинация.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/commands/4fe557e8-70f7-4b36-a124-d3afad4041d4" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Параметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
commandId |
path | да | string:uuid |
Idempotent cross-dock command UUID. | "4fe557e8-70f7-4b36-a124-d3afad4041d4" |
Тело запроса
Тело запроса отсутствует.
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
нет | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
нет | string | null |
"released" |
|||
data.state |
нет | string | null |
"open" |
|||
data.version |
нет | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
нет | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Разрешить исключение cross-dock
| operationId | crossDockResolveException |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Resolve cross-dock exception in the isolated cross-dock execution context.
Передавайте envelope API v2 data и заголовок Idempotency-Key. Мутации идемпотентны по command_id; устаревшая version версионируемого агрегата возвращает 409.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/exceptions/1001/resolve" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonПараметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
exception |
path | да | integer:int64 |
min: 1 | Cross-dock exception ID. | 1001 |
||
Idempotency-Key |
header | нет | string |
maxLength: 191 | Опциональный ключ идемпотентности для write-запросов API v2. Успешные ответы 2xx/3xx повторяются для того же ключа и идентичного payload в течение одного дня. Тот же ключ с другим payload возвращает 409. |
"ord-create-20260714-001" |
Тело запроса
CrossDockResolveExceptionRequest обязательно
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | object |
|
|||
data.command_id |
да | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
да | integer:int64 |
min: 1 | 1 |
||
data.decision |
да | enum |
enum: resume, fallback_completed, manual_accept | "resume" |
||
data.reason |
нет | string | null |
maxLength: 5000 | "Supervisor approved" |
Примеры запроса
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 1,
"decision": "resume"
}
}
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
нет | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
нет | string | null |
"released" |
|||
data.state |
нет | string | null |
"open" |
|||
data.version |
нет | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
нет | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Некорректный запрос
CrossDockBadRequest
Некорректный запрос.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Конфликт
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Ошибка валидации
CrossDockValidationError
The given data was invalid.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Получить cross-dock-документы визита погрузки
| operationId | crossDockListDocumentsForLoadingVisit |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
List cross-dock documents for loading visit in the isolated cross-dock execution context.
Результат ограничен tenant-областью аутентифицированного пользователя API v2. Для коллекций поддерживаются описанные фильтры, сортировка и пагинация.
Unknown read parameters are ignored. per_page is silently capped; use meta.per_page. Date-only boundaries follow the installation's stored calendar dates; ISO timestamps are serialized in UTC. The default general API limit is 600/minute; a user-specific override may apply. Its bucket is shared by authenticated user, not by shop/domain; Retry-After is returned on throttling.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/loading-visits/1001/documents" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Параметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
visit |
path | да | integer:int64 |
min: 1 | ID визита погрузки. | 1001 |
||
page |
query | нет | integer:int64 |
form | true | min: 1 | Номер страницы. Этот фильтр также можно передать как filter[page], если это поддерживает Laravel query adapter. |
1 |
per_page |
query | нет | integer:int64 |
form | true | min: 1 max: 500 |
Количество записей на странице. По умолчанию 100; максимум 500. Этот фильтр также можно передать как filter[per_page], если это поддерживает Laravel query adapter. |
100 |
sort |
query | нет | string |
form | false | pattern: ^-?[A-Za-z0-9_]+(,-?[A-Za-z0-9_]+)*$ | Поля сортировки через запятую. Префикс - означает сортировку по убыванию. Допустимые поля: id. По умолчанию: id. Этот фильтр также можно передать как filter[sort], если это поддерживает Laravel query adapter. |
"id" |
document_type |
query | нет | string |
form | true | Фильтр по document_type с точным совпадением. Этот фильтр также можно передать как filter[document_type], если это поддерживает Laravel query adapter. |
"acceptance" |
|
document_id |
query | нет | integer:int64 |
form | true | min: 1 | Фильтр по document_id с точным совпадением. Этот фильтр также можно передать как filter[document_id], если это поддерживает Laravel query adapter. |
5101 |
role |
query | нет | string |
form | true | Фильтр по role с точным совпадением. Этот фильтр также можно передать как filter[role], если это поддерживает Laravel query adapter. |
"outbound" |
|
status |
query | нет | string |
form | true | Фильтр по status с точным совпадением. Этот фильтр также можно передать как filter[status], если это поддерживает Laravel query adapter. |
"waiting" |
Тело запроса
Тело запроса отсутствует.
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | array<CrossDockLoadingAssociation> |
|
|||
data[] |
нет | CrossDockLoadingAssociation |
Association between a cross-dock document and a loading visit. | |
||
data[].id |
да | integer:int64 |
readOnly | min: 1 | 1001 |
|
data[].created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].case_id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data[].loading_visit_id |
да | integer:int64 |
min: 1 | 6101 |
||
data[].document_type |
да | string |
"order" |
|||
data[].document_id |
да | integer:int64 |
min: 1 | 8101 |
||
data[].role |
да | string |
"outbound" |
|||
data[].status |
да | string |
"attached" |
|||
data[].created_by |
нет | integer:int64 | null |
min: 1 | 25 |
||
data[].detached_by |
нет | integer:int64 | null |
min: 1 | 1001 |
||
data[].detached_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].visit |
нет | object | null |
|
|||
data[].visit.id |
да | integer:int64 |
min: 1 | 6101 |
||
data[].visit.type |
да | string |
"outbound" |
|||
data[].visit.status |
да | string |
"approved" |
|||
data[].visit.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
data[].visit.gate_id |
нет | integer:int64 | null |
min: 1 | 3 |
||
data[].visit.planned_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
links |
да | PaginationLinks |
|
|||
links.first |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=1" |
|||
links.last |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
links.prev |
да | string:uri | null |
|
|||
links.next |
да | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
meta |
да | PaginationMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.current_page |
да | integer:int32 |
min: 1 | 1 |
||
meta.from |
да | integer:int32 | null |
min: 1 | 1 |
||
meta.last_page |
да | integer:int32 |
min: 1 | 2 |
||
meta.path |
да | string:uri |
"https://betawms.ffcdek.ru/api/v2/orders" |
|||
meta.per_page |
да | integer:int32 |
min: 1 | 50 |
||
meta.to |
да | integer:int32 | null |
min: 1 | 50 |
||
meta.total |
да | integer:int32 |
min: 0 | 73 |
Примеры ответа
success
{
"data": [
{
"id": 1001,
"loading_visit_id": 6101,
"document_type": "order",
"document_id": 8101,
"role": "outbound",
"status": "attached"
}
],
"links": {
"first": "https://betawms.ffcdek.ru/api/v2/crossdock/loading-visits/6101/documents?page=1",
"last": "https://betawms.ffcdek.ru/api/v2/crossdock/loading-visits/6101/documents?page=2",
"prev": null,
"next": "https://betawms.ffcdek.ru/api/v2/crossdock/loading-visits/6101/documents?page=2"
},
"meta": {
"api_version": "v2",
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://betawms.ffcdek.ru/api/v2/crossdock/loading-visits/6101/documents",
"per_page": 100,
"to": 100,
"total": 123
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Подтвердить результат печати cross-dock
| operationId | crossDockAcknowledgePrintJob |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Acknowledge cross-dock print job in the isolated cross-dock execution context.
Передавайте envelope API v2 data и заголовок Idempotency-Key. Мутации идемпотентны по command_id; устаревшая version версионируемого агрегата возвращает 409.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/print-jobs/1001/acknowledge" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonПараметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
job |
path | да | integer:int64 |
min: 1 | Cross-dock print job ID. | 1001 |
||
Idempotency-Key |
header | нет | string |
maxLength: 191 | Опциональный ключ идемпотентности для write-запросов API v2. Успешные ответы 2xx/3xx повторяются для того же ключа и идентичного payload в течение одного дня. Тот же ключ с другим payload возвращает 409. |
"ord-create-20260714-001" |
Тело запроса
CrossDockAcknowledgePrintJobRequest обязательно
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | object |
|
|||
data.command_id |
да | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
да | integer:int64 |
min: 1 | 2 |
||
data.success |
да | boolean |
true |
|||
data.artifact_hash |
нет | string | null |
minLength: 64 maxLength: 64 |
"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" |
||
data.error |
нет | string | null |
maxLength: 5000 | "printer_offline" |
Примеры запроса
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 2,
"success": true
}
}
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
нет | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
нет | string | null |
"released" |
|||
data.state |
нет | string | null |
"open" |
|||
data.version |
нет | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
нет | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Некорректный запрос
CrossDockBadRequest
Некорректный запрос.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Конфликт
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Ошибка валидации
CrossDockValidationError
The given data was invalid.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Передать задание cross-dock на принтер
| operationId | crossDockDispatchPrintJob |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Dispatch cross-dock print job in the isolated cross-dock execution context.
Передавайте envelope API v2 data и заголовок Idempotency-Key. Мутации идемпотентны по command_id; устаревшая version версионируемого агрегата возвращает 409.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/print-jobs/1001/dispatch" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonПараметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
job |
path | да | integer:int64 |
min: 1 | Cross-dock print job ID. | 1001 |
||
Idempotency-Key |
header | нет | string |
maxLength: 191 | Опциональный ключ идемпотентности для write-запросов API v2. Успешные ответы 2xx/3xx повторяются для того же ключа и идентичного payload в течение одного дня. Тот же ключ с другим payload возвращает 409. |
"ord-create-20260714-001" |
Тело запроса
CrossDockDispatchPrintJobRequest обязательно
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | object |
|
|||
data.command_id |
да | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
да | integer:int64 |
min: 1 | 1 |
||
data.printer_id |
нет | integer:int64 | null |
min: 1 | 55 |
||
data.device_id |
нет | string | null |
maxLength: 190 | "gate-printer-1" |
Примеры запроса
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 1
}
}
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
нет | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
нет | string | null |
"released" |
|||
data.state |
нет | string | null |
"open" |
|||
data.version |
нет | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
нет | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Некорректный запрос
CrossDockBadRequest
Некорректный запрос.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Конфликт
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Ошибка валидации
CrossDockValidationError
The given data was invalid.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Получить сессию сканирования cross-dock
| operationId | crossDockGetScanSession |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Get cross-dock scan session in the isolated cross-dock execution context.
Результат ограничен tenant-областью аутентифицированного пользователя API v2. Для коллекций поддерживаются описанные фильтры, сортировка и пагинация.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/scan-sessions/01J2CROSSDOCKSESSION000001" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Параметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
session |
path | да | string |
Cross-dock scan session numeric ID or public ULID. | "01J2CROSSDOCKSESSION000001" |
Тело запроса
Тело запроса отсутствует.
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockScanSession |
Device-bound source scan session waiting for quantity or target confirmation. | |
||
data.id |
да | integer:int64 |
readOnly | min: 1 | 1001 |
|
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.public_id |
да | string |
"01J2CROSSDOCKSESSION000001" |
|||
data.case_id |
да | integer:int64 |
min: 1 | 4101 |
||
data.task_id |
да | integer:int64 |
min: 1 | 4551 |
||
data.allocation_id |
да | integer:int64 |
min: 1 | 4501 |
||
data.target_id |
да | integer:int64 |
min: 1 | 4301 |
||
data.device_id |
да | string |
"tsd-01" |
|||
data.source_place_id |
да | integer:int64 |
min: 1 | 800 |
||
data.recognized_type |
да | enum |
enum: product, quant, sscc | "product" |
||
data.handling_unit_id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
data.product_id |
да | integer:int64 |
min: 1 | 1201 |
||
data.base_product_id |
да | integer:int64 |
min: 1 | 1201 |
||
data.quantity_mode |
нет | string |
"manual" |
|||
data.scanned_base_quantity |
нет | number:float |
1 |
|||
data.confirmed_base_quantity |
нет | number:float |
4 |
|||
data.status |
да | string |
"awaiting_target" |
|||
data.version |
да | integer:int64 |
2 |
|||
data.expires_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.committed_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.cancelled_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.next_action |
нет | string | null |
"scan_target" |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 1001,
"public_id": "01J2CROSSDOCKSESSION000001",
"case_id": 4101,
"task_id": 4551,
"allocation_id": 4501,
"target_id": 4301,
"device_id": "tsd-01",
"source_place_id": 800,
"recognized_type": "product",
"product_id": 1201,
"base_product_id": 1201,
"quantity_mode": "manual",
"scanned_base_quantity": 1,
"confirmed_base_quantity": 4,
"status": "awaiting_target",
"version": 2
},
"meta": {
"api_version": "v2"
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Отменить сессию сканирования cross-dock
| operationId | crossDockCancelScanSession |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Cancel cross-dock scan session in the isolated cross-dock execution context.
Передавайте envelope API v2 data и заголовок Idempotency-Key. Мутации идемпотентны по command_id; устаревшая version версионируемого агрегата возвращает 409.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/scan-sessions/01J2CROSSDOCKSESSION000001/cancel" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonПараметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
session |
path | да | string |
Cross-dock scan session numeric ID or public ULID. | "01J2CROSSDOCKSESSION000001" |
|||
Idempotency-Key |
header | нет | string |
maxLength: 191 | Опциональный ключ идемпотентности для write-запросов API v2. Успешные ответы 2xx/3xx повторяются для того же ключа и идентичного payload в течение одного дня. Тот же ключ с другим payload возвращает 409. |
"ord-create-20260714-001" |
Тело запроса
CrossDockCancelScanSessionRequest обязательно
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | object |
|
|||
data.command_id |
да | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
да | integer:int64 |
min: 1 | 1 |
||
data.device_id |
да | string |
maxLength: 190 | "tsd-01" |
Примеры запроса
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 1,
"device_id": "tsd-01"
}
}
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
нет | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
нет | string | null |
"released" |
|||
data.state |
нет | string | null |
"open" |
|||
data.version |
нет | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
нет | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Некорректный запрос
CrossDockBadRequest
Некорректный запрос.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Конфликт
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Ошибка валидации
CrossDockValidationError
The given data was invalid.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Задать количество сессии cross-dock
| operationId | crossDockSetScanQuantity |
|---|---|
| Раздел | Кросс-докинг |
| Безопасность | bearerAuth |
Set cross-dock scan quantity in the isolated cross-dock execution context.
Передавайте envelope API v2 data и заголовок Idempotency-Key. Мутации идемпотентны по command_id; устаревшая version версионируемого агрегата возвращает 409.
Пример HTTP-запроса (cURL)
Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/scan-sessions/01J2CROSSDOCKSESSION000001/quantity" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonПараметры
| Имя | Где | Обязательное | Тип | Style | Explode | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|---|---|
session |
path | да | string |
Cross-dock scan session numeric ID or public ULID. | "01J2CROSSDOCKSESSION000001" |
|||
Idempotency-Key |
header | нет | string |
maxLength: 191 | Опциональный ключ идемпотентности для write-запросов API v2. Успешные ответы 2xx/3xx повторяются для того же ключа и идентичного payload в течение одного дня. Тот же ключ с другим payload возвращает 409. |
"ord-create-20260714-001" |
Тело запроса
CrossDockSetScanQuantityRequest обязательно
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | object |
|
|||
data.command_id |
да | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
да | integer:int64 |
min: 1 | 1 |
||
data.device_id |
да | string |
maxLength: 190 | "tsd-01" |
||
data.quantity |
да | integer:int64 |
min: 1 | 4 |
Примеры запроса
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 1,
"device_id": "tsd-01",
"quantity": 4
}
}
Ответы
200 Successful response.
Successful response.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
data |
да | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
нет | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
нет | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
нет | string | null |
"released" |
|||
data.state |
нет | string | null |
"open" |
|||
data.version |
нет | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
нет | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
нет | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
да | ResponseMeta |
|
|||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.deleted |
нет | boolean |
true |
|||
meta.id |
нет | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
нет | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
нет | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
да | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
да | boolean |
true |
|||
meta.crossdock_configuration.process_version |
да | string |
"direct_order_v1" |
Примеры ответа
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Некорректный запрос
CrossDockBadRequest
Некорректный запрос.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Требуется аутентификация
CrossDockUnauthorized
Требуется аутентификация.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Доступ запрещен
CrossDockForbidden
Аутентифицированному аккаунту запрещено выполнять это действие.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Не найдено
CrossDockNotFound
Запрошенный ресурс не найден или находится вне области доступа аккаунта.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Конфликт
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Ошибка валидации
CrossDockValidationError
The given data was invalid.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Превышен лимит запросов
CrossDockTooManyRequests
Превышен лимит запросов.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Внутренняя ошибка сервера
CrossDockInternalServerError
Произошла непредвиденная ошибка сервера.
| Поле | Обязательное | Тип | Флаги | Ограничения | Описание | Пример |
|---|---|---|---|---|---|---|
message |
да | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
да | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
да | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
да | enum |
enum: v2 | "v2" |
||
meta.error_code |
да | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
нет | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
нет | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Примеры ответа
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}