Кросс-докинг

Каждая операция ниже сгенерирована из OpenAPI v2 и содержит параметры, поля запроса, поля ответа, ошибки и примеры.

Точка входа находится в приёмках
Cross-dock-кейс не создаётся отдельным endpoint. Передайте type_id=3 в POST /api/v2/acceptances. Успешная команда атомарно создаёт приёмку, draft-кейс, supply, запись команды и первое событие аудита.

Обязательный командный контракт

АутентификацияAuthorization: Bearer …, Accept: application/json; область данных ограничена tenant/data scope пользователя.
EnvelopeWrite-операции принимают {"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. PlanPOST /cases/{case}/plan; затем прочитайте supplies, demands и allocations. Нехватка должна быть видна до release.
5. ReleasePOST /cases/{case}/release фиксирует план, создаёт задания и актуальные target labels. Перед исполнением получите tasks и labels.
6. Source scanPOST /cases/{case}/scans/source распознаёт товар, квант или SSCC и возвращает scan session с инструкцией. Для товара можно повторять сканы либо задать итог через POST /scan-sessions/{session}/quantity.
7. Target scanPOST /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
    }
  }
}

Кросс-докинг

GET /api/v2/crossdock/cases

Получить список cross-dock-кейсов

operationIdcrossDockListCases
РазделКросс-докинг
Безопасность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": {
    }
  }
}
GET /api/v2/crossdock/cases/{case}

Получить cross-dock-кейс

operationIdcrossDockGetCase
РазделКросс-докинг
Безопасность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": {
    }
  }
}
PATCH /api/v2/crossdock/cases/{case}

Обновить реквизиты cross-dock-кейса

operationIdcrossDockUpdateCaseMetadata
РазделКросс-докинг
Безопасность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": {
    }
  }
}
GET /api/v2/crossdock/cases/{case}/allocations

Получить распределения cross-dock

operationIdcrossDockListAllocations
РазделКросс-докинг
Безопасность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": {
    }
  }
}
POST /api/v2/crossdock/cases/{case}/cancel

Отменить cross-dock-кейс

operationIdcrossDockCancelCase
РазделКросс-докинг
Безопасность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": {
    }
  }
}
POST /api/v2/crossdock/cases/{case}/close

Закрыть cross-dock-кейс

operationIdcrossDockCloseCase
РазделКросс-докинг
Безопасность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": {
    }
  }
}
GET /api/v2/crossdock/cases/{case}/demands

Получить потребности cross-dock

operationIdcrossDockListDemands
РазделКросс-докинг
Безопасность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": {
    }
  }
}
GET /api/v2/crossdock/cases/{case}/events

Получить события аудита cross-dock

operationIdcrossDockListEvents
РазделКросс-докинг
Безопасность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": {
    }
  }
}
GET /api/v2/crossdock/cases/{case}/exceptions

Получить исключения cross-dock

operationIdcrossDockListExceptions
РазделКросс-докинг
Безопасность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": {
    }
  }
}
POST /api/v2/crossdock/cases/{case}/exceptions

Открыть исключение cross-dock

operationIdcrossDockOpenException
РазделКросс-докинг
Безопасность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": {
    }
  }
}
POST /api/v2/crossdock/cases/{case}/fallback

Выполнить fallback cross-dock через alias

operationIdcrossDockExecuteFallbackByAlias
РазделКросс-докинг
Безопасность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": {
    }
  }
}
GET /api/v2/crossdock/cases/{case}/fallbacks

Получить компенсирующие маршруты cross-dock

operationIdcrossDockListFallbacks
РазделКросс-докинг
Безопасность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": {
    }
  }
}
POST /api/v2/crossdock/cases/{case}/fallbacks

Выполнить fallback cross-dock

operationIdcrossDockExecuteFallback
РазделКросс-докинг
Безопасность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": {
    }
  }
}
GET /api/v2/crossdock/cases/{case}/fulfillments

Получить исполненные фрагменты cross-dock

operationIdcrossDockListFulfillments
РазделКросс-докинг
Безопасность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": {
    }
  }
}
GET /api/v2/crossdock/cases/{case}/labels

Получить этикетки направлений cross-dock

operationIdcrossDockListTargetLabels
РазделКросс-докинг
Безопасность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": {
    }
  }
}
POST /api/v2/crossdock/cases/{case}/labels/print-jobs

Создать задания печати cross-dock

operationIdcrossDockCreatePrintJobs
РазделКросс-докинг
Безопасность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": {
    }
  }
}
GET /api/v2/crossdock/cases/{case}/loading-visits

Получить связи кейса с визитами погрузки

operationIdcrossDockListCaseLoadingVisitAssociations
РазделКросс-докинг
Безопасность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": {
    }
  }
}
POST /api/v2/crossdock/cases/{case}/loading-visits/attach

Привязать визит погрузки к cross-dock-кейсу

operationIdcrossDockAttachLoadingVisitToCase
РазделКросс-докинг
Безопасность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": {
    }
  }
}
POST /api/v2/crossdock/cases/{case}/loading-visits/detach

Отвязать визит погрузки от cross-dock-кейса

operationIdcrossDockDetachLoadingVisitFromCase
РазделКросс-докинг
Безопасность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": {
    }
  }
}
POST /api/v2/crossdock/cases/{case}/loading-visits/{visit}/attach

Привязать визит погрузки по ID в пути

operationIdcrossDockAttachLoadingVisitByPathId
РазделКросс-докинг
Безопасность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": {
    }
  }
}
POST /api/v2/crossdock/cases/{case}/loading-visits/{visit}/detach

Отвязать визит погрузки по ID в пути

operationIdcrossDockDetachLoadingVisitByPathId
РазделКросс-докинг
Безопасность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": {
    }
  }
}
POST /api/v2/crossdock/cases/{case}/loading/scans

Подтвердить погрузочный скан cross-dock

operationIdcrossDockConfirmLoadingScan
РазделКросс-докинг
Безопасность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": {
    }
  }
}
PUT /api/v2/crossdock/cases/{case}/manifest

Заменить манифест грузовых единиц cross-dock

operationIdcrossDockReplaceHandlingUnitManifest
РазделКросс-докинг
Безопасность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": {
    }
  }
}
GET /api/v2/crossdock/cases/{case}/orders

Получить заказы cross-dock-кейса

operationIdcrossDockListOrders
РазделКросс-докинг
Безопасность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": {
    }
  }
}
POST /api/v2/crossdock/cases/{case}/orders

Создать cross-dock-заказ и направление

operationIdcrossDockCreateOrderAndTarget
РазделКросс-докинг
Безопасность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": {
    }
  }
}
POST /api/v2/crossdock/cases/{case}/plan

Рассчитать распределение cross-dock

operationIdcrossDockPlanAllocation
РазделКросс-докинг
Безопасность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": {
    }
  }
}
GET /api/v2/crossdock/cases/{case}/print-jobs

Получить задания печати cross-dock

operationIdcrossDockListPrintJobs
РазделКросс-докинг
Безопасность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 /api/v2/crossdock/cases/{case}/readiness

Get crossdock

operationIdlistCrossdockCasesReadiness
РазделКросс-докинг
Безопасность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": {
    }
  }
}
POST /api/v2/crossdock/cases/{case}/release

Выпустить план cross-dock в работу

operationIdcrossDockReleasePlan
РазделКросс-докинг
Безопасность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": {
    }
  }
}
POST /api/v2/crossdock/cases/{case}/return-to-draft

Run crossdock action

operationIdcreateCrossdockCasesReturnToDraft
РазделКросс-докинг
Безопасность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 /api/v2/crossdock/cases/{case}/scan-sessions

Get crossdock

operationIdlistCrossdockCasesScanSessions
РазделКросс-докинг
Безопасность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": {
    }
  }
}
POST /api/v2/crossdock/cases/{case}/scans/source

Отсканировать источник cross-dock

operationIdcrossDockScanSource
РазделКросс-докинг
Безопасность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": {
    }
  }
}
POST /api/v2/crossdock/cases/{case}/scans/target

Подтвердить скан направления cross-dock

operationIdcrossDockConfirmTargetScan
РазделКросс-докинг
Безопасность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": {
    }
  }
}
POST /api/v2/crossdock/cases/{case}/submit

Run crossdock action

operationIdcreateCrossdockCasesSubmit
РазделКросс-докинг
Безопасность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": {
    }
  }
}
GET /api/v2/crossdock/cases/{case}/supplies

Получить входящие количества cross-dock

operationIdcrossDockListSupplies
РазделКросс-докинг
Безопасность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": {
    }
  }
}
GET /api/v2/crossdock/cases/{case}/targets

Получить направления cross-dock

operationIdcrossDockListTargets
РазделКросс-докинг
Безопасность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": {
    }
  }
}
PUT /api/v2/crossdock/cases/{case}/targets/places

Назначить места направлениям cross-dock

operationIdcrossDockAssignTargetPlaces
РазделКросс-докинг
Безопасность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": {
    }
  }
}
GET /api/v2/crossdock/cases/{case}/tasks

Получить задания cross-dock

operationIdcrossDockListTasks
РазделКросс-докинг
Безопасность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": {
    }
  }
}
GET /api/v2/crossdock/commands/{commandId}

Получить статус команды cross-dock

operationIdcrossDockGetCommandStatus
РазделКросс-докинг
Безопасность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": {
    }
  }
}
POST /api/v2/crossdock/exceptions/{exception}/resolve

Разрешить исключение cross-dock

operationIdcrossDockResolveException
РазделКросс-докинг
Безопасность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": {
    }
  }
}
GET /api/v2/crossdock/loading-visits/{visit}/documents

Получить cross-dock-документы визита погрузки

operationIdcrossDockListDocumentsForLoadingVisit
РазделКросс-докинг
Безопасность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": {
    }
  }
}
POST /api/v2/crossdock/print-jobs/{job}/acknowledge

Подтвердить результат печати cross-dock

operationIdcrossDockAcknowledgePrintJob
РазделКросс-докинг
Безопасность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": {
    }
  }
}
POST /api/v2/crossdock/print-jobs/{job}/dispatch

Передать задание cross-dock на принтер

operationIdcrossDockDispatchPrintJob
РазделКросс-докинг
Безопасность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": {
    }
  }
}
GET /api/v2/crossdock/scan-sessions/{session}

Получить сессию сканирования cross-dock

operationIdcrossDockGetScanSession
РазделКросс-докинг
Безопасность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": {
    }
  }
}
POST /api/v2/crossdock/scan-sessions/{session}/cancel

Отменить сессию сканирования cross-dock

operationIdcrossDockCancelScanSession
РазделКросс-докинг
Безопасность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": {
    }
  }
}
POST /api/v2/crossdock/scan-sessions/{session}/quantity

Задать количество сессии cross-dock

operationIdcrossDockSetScanQuantity
РазделКросс-докинг
Безопасность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": {
    }
  }
}