Визиты погрузки

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

Визиты погрузки

GET /api/v2/loading/visits

Получить список визитов погрузки

operationIdlistLoadingVisits
РазделВизиты погрузки
БезопасностьbearerAuth

Возвращает визиты погрузки, видимые аутентифицированному аккаунту. Используйте описанные query parameters для фильтрации, сортировки и пагинации.
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.
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.
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.
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.
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.
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/loading/visits" \
  --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_at, registered_at, queue_number, created_at, updated_at. По умолчанию: -id. Этот фильтр также можно передать как filter[sort], если это поддерживает Laravel query adapter. "-id"
id query нет integer:int64 form true min: 1 Фильтр по id с точным совпадением. Этот фильтр также можно передать как filter[id], если это поддерживает Laravel query adapter. 1001
warehouse_id query нет integer:int64 form true min: 1 Фильтр по warehouse_id с точным совпадением. Этот фильтр также можно передать как filter[warehouse_id], если это поддерживает Laravel query adapter. 42
client_warehouse_id query нет integer:int64 form true min: 1 Фильтр по client_warehouse_id с точным совпадением. Этот фильтр также можно передать как filter[client_warehouse_id], если это поддерживает Laravel query adapter. 43
shop_id query нет integer:int64 form true min: 1 Фильтр по shop_id с точным совпадением. Этот фильтр также можно передать как filter[shop_id], если это поддерживает Laravel query adapter. 12
type query нет LoadingVisitType form true Фильтр по type с точным совпадением. Этот фильтр также можно передать как filter[type], если это поддерживает Laravel query adapter.
status query нет LoadingVisitStatus form true Фильтр по status с точным совпадением. Этот фильтр также можно передать как filter[status], если это поддерживает Laravel query adapter.
document_type query нет LoadingVisitDocumentType form true Фильтр по document_type с точным совпадением. Этот фильтр также можно передать как filter[document_type], если это поддерживает Laravel query adapter.
document_id query нет integer:int64 form true min: 1 Фильтр по document_id с точным совпадением. Этот фильтр также можно передать как filter[document_id], если это поддерживает Laravel query adapter. 5101
driver_phone query нет string form true Фильтр по driver_phone с частичным текстовым совпадением. Этот фильтр также можно передать как filter[driver_phone], если это поддерживает Laravel query adapter. "+359888123456"
driver_name query нет string form true Фильтр по driver_name с частичным текстовым совпадением. Этот фильтр также можно передать как filter[driver_name], если это поддерживает Laravel query adapter. "Ivan Petrov"
vehicle_number query нет string form true Фильтр по vehicle_number с частичным текстовым совпадением. Этот фильтр также можно передать как filter[vehicle_number], если это поддерживает Laravel query adapter. "CB1234AB"
planned_at_from query нет string:date form true Нижняя включительная граница даты для planned_at. Этот фильтр также можно передать как filter[planned_at_from], если это поддерживает Laravel query adapter. "2026-07-14"
planned_at_to query нет string:date form true Верхняя включительная граница даты для planned_at. Этот фильтр также можно передать как filter[planned_at_to], если это поддерживает Laravel query adapter. "2026-07-14"
registered_at_from query нет string:date form true Нижняя включительная граница даты для registered_at. Этот фильтр также можно передать как filter[registered_at_from], если это поддерживает Laravel query adapter. "2026-07-14"
registered_at_to query нет string:date form true Верхняя включительная граница даты для registered_at. Этот фильтр также можно передать как filter[registered_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<LoadingVisit>
data[] нет LoadingVisit Запланированный визит погрузки или разгрузки.
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[].domain_id нет integer:int64 | null min: 1 3
data[].warehouse_id нет integer:int64 | null min: 1 42
data[].client_warehouse_id нет integer:int64 | null min: 1 43
data[].shop_id нет integer:int64 | null min: 1 12
data[].user_id нет integer:int64 | null min: 1 9
data[].type да LoadingVisitType enum: inbound, outbound "inbound"
data[].status да LoadingVisitStatus enum: draft, approved, waiting, called, in_progress, finished, cancelled, no_show Статус жизненного цикла визита погрузки, хранящийся в rwLoadingVisit. "waiting"
data[].queue_number нет integer:int64 | null 17
data[].driver да LoadingVisitDriver
data[].driver.phone нет string | null "+359888123456"
data[].driver.name нет string | null "Ivan Petrov"
data[].driver.vehicle_number нет string | null "CB1234AB"
data[].document да LoadingVisitDocument
data[].document.type нет enum | null enum: acceptance, order, send_document "acceptance"
data[].document.id нет integer:int64 | null min: 1 5101
data[].document.acceptance_id нет integer:int64 | null min: 1 5101
data[].document.order_id нет integer:int64 | null min: 1 8101
data[].document.send_document_id нет integer:int64 | null min: 1 9101
data[].planned_at нет string:date-time | null "2026-07-14T10:00:00Z"
data[].registered_at нет string:date-time | null "2026-07-14T09:55:00Z"
data[].called_at нет string:date-time | null "2026-07-14T10:30:00Z"
data[].started_at нет string:date-time | null "2026-07-14T10:30:00Z"
data[].finished_at нет string:date-time | null "2026-07-14T10:30:00Z"
data[].gate_id нет integer:int64 | null min: 1 3
data[].comment нет string | null "ASN-100245"
data[].warehouse_comment нет string | null "Gate 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": 9101,
      "domain_id": 3,
      "warehouse_id": 42,
      "client_warehouse_id": 43,
      "shop_id": 12,
      "user_id": 15,
      "type": "inbound",
      "status": "waiting",
      "queue_number": 17,
      "driver": {
        "phone": "+359888123456",
        "name": "Ivan Petrov",
        "vehicle_number": "CB1234AB"
      },
      "document": {
        "type": "acceptance",
        "id": 5101,
        "acceptance_id": 5101,
        "order_id": null,
        "send_document_id": null
      },
      "planned_at": "2026-07-14T10:00:00Z",
      "registered_at": "2026-07-14T09:55:00Z",
      "called_at": null,
      "started_at": null,
      "finished_at": null,
      "gate_id": 3,
      "comment": "ASN-100245",
      "warehouse_comment": "Gate 2",
      "created_at": "2026-07-14T09:00:00Z",
      "updated_at": "2026-07-14T09:30:00Z"
    }
  ],
  "links": {
    "first": "https://betawms.ffcdek.ru/api/v2/loading/visits?page=1",
    "last": "https://betawms.ffcdek.ru/api/v2/loading/visits?page=2",
    "prev": null,
    "next": "https://betawms.ffcdek.ru/api/v2/loading/visits?page=2"
  },
  "meta": {
    "api_version": "v2",
    "current_page": 1,
    "from": 1,
    "last_page": 2,
    "path": "https://betawms.ffcdek.ru/api/v2/loading/visits",
    "per_page": 50,
    "to": 50,
    "total": 73
  }
}

401 Требуется аутентификация

Unauthorized

Требуется аутентификация.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The request could not be processed."
error да string "BAD_REQUEST"

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

AUTH_REQUIRED

{
  "message": "Authentication is required.",
  "error": "AUTH_REQUIRED"
}

403 Доступ запрещен

Forbidden

Аутентифицированному аккаунту запрещено выполнять это действие.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The request could not be processed."
error да string "BAD_REQUEST"

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

FORBIDDEN

{
  "message": "The authenticated account is not allowed to perform this action.",
  "error": "FORBIDDEN"
}

429 Превышен лимит запросов

TooManyRequests

Превышен лимит запросов.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "Too Many Attempts."
error да string "RATE_LIMITED"

500 Внутренняя ошибка сервера

InternalServerError

Произошла непредвиденная ошибка сервера.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The request could not be processed."
error да string "BAD_REQUEST"

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

INTERNAL_SERVER_ERROR

{
  "message": "An unexpected server error occurred.",
  "error": "INTERNAL_SERVER_ERROR"
}
POST /api/v2/loading/visits

Создать визит погрузки

operationIdcreateLoadingVisits
РазделВизиты погрузки
БезопасностьbearerAuth

Creates a loading or unloading visit for a warehouse slot. Driver, document link, planned time, and gate fields are validated against the user visible scope.

Пример HTTP-запроса (cURL)

Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.

curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/loading/visits" \
  --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 Ограничения Описание Пример
Idempotency-Key header нет string maxLength: 191 Опциональный ключ идемпотентности для write-запросов API v2. Успешные ответы 2xx/3xx повторяются для того же ключа и идентичного payload в течение одного дня. Тот же ключ с другим payload возвращает 409. "ord-create-20260714-001"

Тело запроса

CreateLoadingVisitRequest обязательно

Поле Обязательное Тип Флаги Ограничения Описание Пример
data да CreateLoadingVisitPayload
data.warehouse_id нет integer:int64 | null min: 1 42
data.client_warehouse_id нет integer:int64 | null min: 1 43
data.shop_id нет integer:int64 | null min: 1 12
data.type да LoadingVisitType enum: inbound, outbound "inbound"
data.planned_at нет string:date-time | null "2026-07-14T10:00:00Z"
data.gate_id нет integer:int64 | null min: 1 3
data.comment нет string | null "ASN-100245"
data.driver нет object | null
data.driver.phone нет string | null "+359888123456"
data.driver.name нет string | null "Ivan Petrov"
data.driver.vehicle_number нет string | null "CB1234AB"
data.document нет object | null
data.document.type нет enum | null enum: acceptance, order, send_document "acceptance"
data.document.id нет integer:int64 | null min: 1 5101
data.document.acceptance_id нет integer:int64 | null min: 1 5101
data.document.order_id нет integer:int64 | null min: 1 8101
data.document.send_document_id нет integer:int64 | null min: 1 9101

Примеры запроса

default

{
  "data": {
    "type": "inbound",
    "warehouse_id": 42,
    "planned_at": "2026-07-14T10:00:00Z",
    "driver": {
      "phone": "+359888123456",
      "name": "Ivan Petrov",
      "vehicle_number": "CB1234AB"
    }
  }
}

Ответы

201 Created.

Created.

Поле Обязательное Тип Флаги Ограничения Описание Пример
data да LoadingVisit Запланированный визит погрузки или разгрузки.
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.domain_id нет integer:int64 | null min: 1 3
data.warehouse_id нет integer:int64 | null min: 1 42
data.client_warehouse_id нет integer:int64 | null min: 1 43
data.shop_id нет integer:int64 | null min: 1 12
data.user_id нет integer:int64 | null min: 1 9
data.type да LoadingVisitType enum: inbound, outbound "inbound"
data.status да LoadingVisitStatus enum: draft, approved, waiting, called, in_progress, finished, cancelled, no_show Статус жизненного цикла визита погрузки, хранящийся в rwLoadingVisit. "waiting"
data.queue_number нет integer:int64 | null 17
data.driver да LoadingVisitDriver
data.driver.phone нет string | null "+359888123456"
data.driver.name нет string | null "Ivan Petrov"
data.driver.vehicle_number нет string | null "CB1234AB"
data.document да LoadingVisitDocument
data.document.type нет enum | null enum: acceptance, order, send_document "acceptance"
data.document.id нет integer:int64 | null min: 1 5101
data.document.acceptance_id нет integer:int64 | null min: 1 5101
data.document.order_id нет integer:int64 | null min: 1 8101
data.document.send_document_id нет integer:int64 | null min: 1 9101
data.planned_at нет string:date-time | null "2026-07-14T10:00:00Z"
data.registered_at нет string:date-time | null "2026-07-14T09:55:00Z"
data.called_at нет string:date-time | null "2026-07-14T10:30:00Z"
data.started_at нет string:date-time | null "2026-07-14T10:30:00Z"
data.finished_at нет string:date-time | null "2026-07-14T10:30:00Z"
data.gate_id нет integer:int64 | null min: 1 3
data.comment нет string | null "ASN-100245"
data.warehouse_comment нет string | null "Gate 2"
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": 9101,
    "domain_id": 3,
    "warehouse_id": 42,
    "client_warehouse_id": 43,
    "shop_id": 12,
    "user_id": 15,
    "type": "inbound",
    "status": "waiting",
    "queue_number": 17,
    "driver": {
      "phone": "+359888123456",
      "name": "Ivan Petrov",
      "vehicle_number": "CB1234AB"
    },
    "document": {
      "type": "acceptance",
      "id": 5101,
      "acceptance_id": 5101,
      "order_id": null,
      "send_document_id": null
    },
    "planned_at": "2026-07-14T10:00:00Z",
    "registered_at": "2026-07-14T09:55:00Z",
    "called_at": null,
    "started_at": null,
    "finished_at": null,
    "gate_id": 3,
    "comment": "ASN-100245",
    "warehouse_comment": "Gate 2",
    "created_at": "2026-07-14T09:00:00Z",
    "updated_at": "2026-07-14T09:30:00Z"
  },
  "meta": {
    "api_version": "v2"
  }
}

400 Некорректный запрос

BadRequest

Некорректный запрос.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The request could not be processed."
error да string "BAD_REQUEST"

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

BAD_REQUEST

{
  "message": "Bad request.",
  "error": "BAD_REQUEST"
}

401 Требуется аутентификация

Unauthorized

Требуется аутентификация.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The request could not be processed."
error да string "BAD_REQUEST"

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

AUTH_REQUIRED

{
  "message": "Authentication is required.",
  "error": "AUTH_REQUIRED"
}

403 Доступ запрещен

Forbidden

Аутентифицированному аккаунту запрещено выполнять это действие.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The request could not be processed."
error да string "BAD_REQUEST"

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

FORBIDDEN

{
  "message": "The authenticated account is not allowed to perform this action.",
  "error": "FORBIDDEN"
}

409 Конфликт

Conflict

Запрос конфликтует с текущим состоянием ресурса или ключа идемпотентности.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The request could not be processed."
error да string "BAD_REQUEST"

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

idempotencyConflict

{
  "message": "The idempotency key is already used with a different payload.",
  "error": "IDEMPOTENCY_KEY_CONFLICT"
}

422 Ошибка валидации

ValidationError

Ошибка валидации.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The given data was invalid."
error нет string "VALIDATION_ERROR"
errors да object {"warehouse_id":["The selected warehouse is invalid."]}

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

validationError

{
  "message": "The given data was invalid.",
  "error": "VALIDATION_ERROR",
  "errors": {
    "warehouse_id": [
      "The selected warehouse is invalid."
    ]
  }
}

429 Превышен лимит запросов

TooManyRequests

Превышен лимит запросов.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "Too Many Attempts."
error да string "RATE_LIMITED"

500 Внутренняя ошибка сервера

InternalServerError

Произошла непредвиденная ошибка сервера.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The request could not be processed."
error да string "BAD_REQUEST"

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

INTERNAL_SERVER_ERROR

{
  "message": "An unexpected server error occurred.",
  "error": "INTERNAL_SERVER_ERROR"
}
GET /api/v2/loading/visits/{id}

Получить визит погрузки

operationIdgetLoadingVisits
РазделВизиты погрузки
БезопасностьbearerAuth

Возвращает один ресурс: визит погрузки, если он существует и видим аутентифицированному аккаунту.

Пример HTTP-запроса (cURL)

Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.

curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/loading/visits/1001" \
  --header "Accept: application/json" \
  --header "Authorization: Bearer ${NWMS_TOKEN}"

Параметры

Имя Где Обязательное Тип Style Explode Ограничения Описание Пример
id path да integer:int64 min: 1 ID визита погрузки. 1001

Тело запроса

Тело запроса отсутствует.

Ответы

200 Successful response.

Successful response.

Поле Обязательное Тип Флаги Ограничения Описание Пример
data да LoadingVisit Запланированный визит погрузки или разгрузки.
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.domain_id нет integer:int64 | null min: 1 3
data.warehouse_id нет integer:int64 | null min: 1 42
data.client_warehouse_id нет integer:int64 | null min: 1 43
data.shop_id нет integer:int64 | null min: 1 12
data.user_id нет integer:int64 | null min: 1 9
data.type да LoadingVisitType enum: inbound, outbound "inbound"
data.status да LoadingVisitStatus enum: draft, approved, waiting, called, in_progress, finished, cancelled, no_show Статус жизненного цикла визита погрузки, хранящийся в rwLoadingVisit. "waiting"
data.queue_number нет integer:int64 | null 17
data.driver да LoadingVisitDriver
data.driver.phone нет string | null "+359888123456"
data.driver.name нет string | null "Ivan Petrov"
data.driver.vehicle_number нет string | null "CB1234AB"
data.document да LoadingVisitDocument
data.document.type нет enum | null enum: acceptance, order, send_document "acceptance"
data.document.id нет integer:int64 | null min: 1 5101
data.document.acceptance_id нет integer:int64 | null min: 1 5101
data.document.order_id нет integer:int64 | null min: 1 8101
data.document.send_document_id нет integer:int64 | null min: 1 9101
data.planned_at нет string:date-time | null "2026-07-14T10:00:00Z"
data.registered_at нет string:date-time | null "2026-07-14T09:55:00Z"
data.called_at нет string:date-time | null "2026-07-14T10:30:00Z"
data.started_at нет string:date-time | null "2026-07-14T10:30:00Z"
data.finished_at нет string:date-time | null "2026-07-14T10:30:00Z"
data.gate_id нет integer:int64 | null min: 1 3
data.comment нет string | null "ASN-100245"
data.warehouse_comment нет string | null "Gate 2"
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": 9101,
    "domain_id": 3,
    "warehouse_id": 42,
    "client_warehouse_id": 43,
    "shop_id": 12,
    "user_id": 15,
    "type": "inbound",
    "status": "waiting",
    "queue_number": 17,
    "driver": {
      "phone": "+359888123456",
      "name": "Ivan Petrov",
      "vehicle_number": "CB1234AB"
    },
    "document": {
      "type": "acceptance",
      "id": 5101,
      "acceptance_id": 5101,
      "order_id": null,
      "send_document_id": null
    },
    "planned_at": "2026-07-14T10:00:00Z",
    "registered_at": "2026-07-14T09:55:00Z",
    "called_at": null,
    "started_at": null,
    "finished_at": null,
    "gate_id": 3,
    "comment": "ASN-100245",
    "warehouse_comment": "Gate 2",
    "created_at": "2026-07-14T09:00:00Z",
    "updated_at": "2026-07-14T09:30:00Z"
  },
  "meta": {
    "api_version": "v2"
  }
}

401 Требуется аутентификация

Unauthorized

Требуется аутентификация.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The request could not be processed."
error да string "BAD_REQUEST"

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

AUTH_REQUIRED

{
  "message": "Authentication is required.",
  "error": "AUTH_REQUIRED"
}

403 Доступ запрещен

Forbidden

Аутентифицированному аккаунту запрещено выполнять это действие.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The request could not be processed."
error да string "BAD_REQUEST"

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

FORBIDDEN

{
  "message": "The authenticated account is not allowed to perform this action.",
  "error": "FORBIDDEN"
}

404 Не найдено

NotFound

Запрошенный ресурс не найден или находится вне области доступа аккаунта.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The request could not be processed."
error да string "BAD_REQUEST"

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

NOT_FOUND

{
  "message": "The requested resource was not found or is outside the authenticated account scope.",
  "error": "NOT_FOUND"
}

429 Превышен лимит запросов

TooManyRequests

Превышен лимит запросов.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "Too Many Attempts."
error да string "RATE_LIMITED"

500 Внутренняя ошибка сервера

InternalServerError

Произошла непредвиденная ошибка сервера.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The request could not be processed."
error да string "BAD_REQUEST"

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

INTERNAL_SERVER_ERROR

{
  "message": "An unexpected server error occurred.",
  "error": "INTERNAL_SERVER_ERROR"
}
PUT /api/v2/loading/visits/{id}

Обновить визит погрузки

operationIdreplaceLoadingVisits
РазделВизиты погрузки
БезопасностьbearerAuth

Update loading visit. Запрос использует описанную payload-схему, проверяет видимость tenant и возвращает нормализованный API envelope.
Текущее поведение backend является legacy-семантикой частичного обновления: пропущенные поля не изменяются.

Пример HTTP-запроса (cURL)

Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.

curl --globoff --request PUT "${NWMS_BASE_URL}/api/v2/loading/visits/1001" \
  --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 Ограничения Описание Пример
id 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"

Тело запроса

ReplaceLoadingVisitRequest обязательно

Поле Обязательное Тип Флаги Ограничения Описание Пример
data да LoadingVisitWritePayload
data.warehouse_id нет integer:int64 | null min: 1 42
data.client_warehouse_id нет integer:int64 | null min: 1 43
data.shop_id нет integer:int64 | null min: 1 12
data.type нет enum | null enum: inbound, outbound "inbound"
data.planned_at нет string:date-time | null "2026-07-14T10:00:00Z"
data.gate_id нет integer:int64 | null min: 1 3
data.comment нет string | null "ASN-100245"
data.driver нет object | null
data.driver.phone нет string | null "+359888123456"
data.driver.name нет string | null "Ivan Petrov"
data.driver.vehicle_number нет string | null "CB1234AB"
data.document нет object | null
data.document.type нет enum | null enum: acceptance, order, send_document "acceptance"
data.document.id нет integer:int64 | null min: 1 5101
data.document.acceptance_id нет integer:int64 | null min: 1 5101
data.document.order_id нет integer:int64 | null min: 1 8101
data.document.send_document_id нет integer:int64 | null min: 1 9101

Примеры запроса

default

{
  "data": {
    "planned_at": "2026-07-14T11:00:00Z",
    "gate_id": 3
  }
}

Ответы

200 Successful response.

Successful response.

Поле Обязательное Тип Флаги Ограничения Описание Пример
data да LoadingVisit Запланированный визит погрузки или разгрузки.
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.domain_id нет integer:int64 | null min: 1 3
data.warehouse_id нет integer:int64 | null min: 1 42
data.client_warehouse_id нет integer:int64 | null min: 1 43
data.shop_id нет integer:int64 | null min: 1 12
data.user_id нет integer:int64 | null min: 1 9
data.type да LoadingVisitType enum: inbound, outbound "inbound"
data.status да LoadingVisitStatus enum: draft, approved, waiting, called, in_progress, finished, cancelled, no_show Статус жизненного цикла визита погрузки, хранящийся в rwLoadingVisit. "waiting"
data.queue_number нет integer:int64 | null 17
data.driver да LoadingVisitDriver
data.driver.phone нет string | null "+359888123456"
data.driver.name нет string | null "Ivan Petrov"
data.driver.vehicle_number нет string | null "CB1234AB"
data.document да LoadingVisitDocument
data.document.type нет enum | null enum: acceptance, order, send_document "acceptance"
data.document.id нет integer:int64 | null min: 1 5101
data.document.acceptance_id нет integer:int64 | null min: 1 5101
data.document.order_id нет integer:int64 | null min: 1 8101
data.document.send_document_id нет integer:int64 | null min: 1 9101
data.planned_at нет string:date-time | null "2026-07-14T10:00:00Z"
data.registered_at нет string:date-time | null "2026-07-14T09:55:00Z"
data.called_at нет string:date-time | null "2026-07-14T10:30:00Z"
data.started_at нет string:date-time | null "2026-07-14T10:30:00Z"
data.finished_at нет string:date-time | null "2026-07-14T10:30:00Z"
data.gate_id нет integer:int64 | null min: 1 3
data.comment нет string | null "ASN-100245"
data.warehouse_comment нет string | null "Gate 2"
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": 9101,
    "domain_id": 3,
    "warehouse_id": 42,
    "client_warehouse_id": 43,
    "shop_id": 12,
    "user_id": 15,
    "type": "inbound",
    "status": "waiting",
    "queue_number": 17,
    "driver": {
      "phone": "+359888123456",
      "name": "Ivan Petrov",
      "vehicle_number": "CB1234AB"
    },
    "document": {
      "type": "acceptance",
      "id": 5101,
      "acceptance_id": 5101,
      "order_id": null,
      "send_document_id": null
    },
    "planned_at": "2026-07-14T10:00:00Z",
    "registered_at": "2026-07-14T09:55:00Z",
    "called_at": null,
    "started_at": null,
    "finished_at": null,
    "gate_id": 3,
    "comment": "ASN-100245",
    "warehouse_comment": "Gate 2",
    "created_at": "2026-07-14T09:00:00Z",
    "updated_at": "2026-07-14T09:30:00Z"
  },
  "meta": {
    "api_version": "v2"
  }
}

400 Некорректный запрос

BadRequest

Некорректный запрос.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The request could not be processed."
error да string "BAD_REQUEST"

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

BAD_REQUEST

{
  "message": "Bad request.",
  "error": "BAD_REQUEST"
}

401 Требуется аутентификация

Unauthorized

Требуется аутентификация.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The request could not be processed."
error да string "BAD_REQUEST"

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

AUTH_REQUIRED

{
  "message": "Authentication is required.",
  "error": "AUTH_REQUIRED"
}

403 Доступ запрещен

Forbidden

Аутентифицированному аккаунту запрещено выполнять это действие.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The request could not be processed."
error да string "BAD_REQUEST"

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

FORBIDDEN

{
  "message": "The authenticated account is not allowed to perform this action.",
  "error": "FORBIDDEN"
}

404 Не найдено

NotFound

Запрошенный ресурс не найден или находится вне области доступа аккаунта.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The request could not be processed."
error да string "BAD_REQUEST"

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

NOT_FOUND

{
  "message": "The requested resource was not found or is outside the authenticated account scope.",
  "error": "NOT_FOUND"
}

409 Конфликт

Conflict

Запрос конфликтует с текущим состоянием ресурса или ключа идемпотентности.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The request could not be processed."
error да string "BAD_REQUEST"

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

idempotencyConflict

{
  "message": "The idempotency key is already used with a different payload.",
  "error": "IDEMPOTENCY_KEY_CONFLICT"
}

422 Ошибка валидации

ValidationError

Ошибка валидации.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The given data was invalid."
error нет string "VALIDATION_ERROR"
errors да object {"warehouse_id":["The selected warehouse is invalid."]}

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

validationError

{
  "message": "The given data was invalid.",
  "error": "VALIDATION_ERROR",
  "errors": {
    "warehouse_id": [
      "The selected warehouse is invalid."
    ]
  }
}

429 Превышен лимит запросов

TooManyRequests

Превышен лимит запросов.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "Too Many Attempts."
error да string "RATE_LIMITED"

500 Внутренняя ошибка сервера

InternalServerError

Произошла непредвиденная ошибка сервера.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The request could not be processed."
error да string "BAD_REQUEST"

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

INTERNAL_SERVER_ERROR

{
  "message": "An unexpected server error occurred.",
  "error": "INTERNAL_SERVER_ERROR"
}
PATCH /api/v2/loading/visits/{id}

Обновить визит погрузки

operationIdpatchLoadingVisits
РазделВизиты погрузки
БезопасностьbearerAuth

Update loading visit. Запрос использует описанную payload-схему, проверяет видимость tenant и возвращает нормализованный API envelope.
Текущее поведение backend является legacy-семантикой частичного обновления: пропущенные поля не изменяются.

Пример HTTP-запроса (cURL)

Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.

curl --globoff --request PATCH "${NWMS_BASE_URL}/api/v2/loading/visits/1001" \
  --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 Ограничения Описание Пример
id 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"

Тело запроса

PatchLoadingVisitRequest обязательно

Поле Обязательное Тип Флаги Ограничения Описание Пример
data да LoadingVisitWritePayload
data.warehouse_id нет integer:int64 | null min: 1 42
data.client_warehouse_id нет integer:int64 | null min: 1 43
data.shop_id нет integer:int64 | null min: 1 12
data.type нет enum | null enum: inbound, outbound "inbound"
data.planned_at нет string:date-time | null "2026-07-14T10:00:00Z"
data.gate_id нет integer:int64 | null min: 1 3
data.comment нет string | null "ASN-100245"
data.driver нет object | null
data.driver.phone нет string | null "+359888123456"
data.driver.name нет string | null "Ivan Petrov"
data.driver.vehicle_number нет string | null "CB1234AB"
data.document нет object | null
data.document.type нет enum | null enum: acceptance, order, send_document "acceptance"
data.document.id нет integer:int64 | null min: 1 5101
data.document.acceptance_id нет integer:int64 | null min: 1 5101
data.document.order_id нет integer:int64 | null min: 1 8101
data.document.send_document_id нет integer:int64 | null min: 1 9101

Примеры запроса

default

{
  "data": {
    "gate_id": 3
  }
}

Ответы

200 Successful response.

Successful response.

Поле Обязательное Тип Флаги Ограничения Описание Пример
data да LoadingVisit Запланированный визит погрузки или разгрузки.
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.domain_id нет integer:int64 | null min: 1 3
data.warehouse_id нет integer:int64 | null min: 1 42
data.client_warehouse_id нет integer:int64 | null min: 1 43
data.shop_id нет integer:int64 | null min: 1 12
data.user_id нет integer:int64 | null min: 1 9
data.type да LoadingVisitType enum: inbound, outbound "inbound"
data.status да LoadingVisitStatus enum: draft, approved, waiting, called, in_progress, finished, cancelled, no_show Статус жизненного цикла визита погрузки, хранящийся в rwLoadingVisit. "waiting"
data.queue_number нет integer:int64 | null 17
data.driver да LoadingVisitDriver
data.driver.phone нет string | null "+359888123456"
data.driver.name нет string | null "Ivan Petrov"
data.driver.vehicle_number нет string | null "CB1234AB"
data.document да LoadingVisitDocument
data.document.type нет enum | null enum: acceptance, order, send_document "acceptance"
data.document.id нет integer:int64 | null min: 1 5101
data.document.acceptance_id нет integer:int64 | null min: 1 5101
data.document.order_id нет integer:int64 | null min: 1 8101
data.document.send_document_id нет integer:int64 | null min: 1 9101
data.planned_at нет string:date-time | null "2026-07-14T10:00:00Z"
data.registered_at нет string:date-time | null "2026-07-14T09:55:00Z"
data.called_at нет string:date-time | null "2026-07-14T10:30:00Z"
data.started_at нет string:date-time | null "2026-07-14T10:30:00Z"
data.finished_at нет string:date-time | null "2026-07-14T10:30:00Z"
data.gate_id нет integer:int64 | null min: 1 3
data.comment нет string | null "ASN-100245"
data.warehouse_comment нет string | null "Gate 2"
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": 9101,
    "domain_id": 3,
    "warehouse_id": 42,
    "client_warehouse_id": 43,
    "shop_id": 12,
    "user_id": 15,
    "type": "inbound",
    "status": "waiting",
    "queue_number": 17,
    "driver": {
      "phone": "+359888123456",
      "name": "Ivan Petrov",
      "vehicle_number": "CB1234AB"
    },
    "document": {
      "type": "acceptance",
      "id": 5101,
      "acceptance_id": 5101,
      "order_id": null,
      "send_document_id": null
    },
    "planned_at": "2026-07-14T10:00:00Z",
    "registered_at": "2026-07-14T09:55:00Z",
    "called_at": null,
    "started_at": null,
    "finished_at": null,
    "gate_id": 3,
    "comment": "ASN-100245",
    "warehouse_comment": "Gate 2",
    "created_at": "2026-07-14T09:00:00Z",
    "updated_at": "2026-07-14T09:30:00Z"
  },
  "meta": {
    "api_version": "v2"
  }
}

400 Некорректный запрос

BadRequest

Некорректный запрос.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The request could not be processed."
error да string "BAD_REQUEST"

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

BAD_REQUEST

{
  "message": "Bad request.",
  "error": "BAD_REQUEST"
}

401 Требуется аутентификация

Unauthorized

Требуется аутентификация.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The request could not be processed."
error да string "BAD_REQUEST"

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

AUTH_REQUIRED

{
  "message": "Authentication is required.",
  "error": "AUTH_REQUIRED"
}

403 Доступ запрещен

Forbidden

Аутентифицированному аккаунту запрещено выполнять это действие.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The request could not be processed."
error да string "BAD_REQUEST"

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

FORBIDDEN

{
  "message": "The authenticated account is not allowed to perform this action.",
  "error": "FORBIDDEN"
}

404 Не найдено

NotFound

Запрошенный ресурс не найден или находится вне области доступа аккаунта.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The request could not be processed."
error да string "BAD_REQUEST"

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

NOT_FOUND

{
  "message": "The requested resource was not found or is outside the authenticated account scope.",
  "error": "NOT_FOUND"
}

409 Конфликт

Conflict

Запрос конфликтует с текущим состоянием ресурса или ключа идемпотентности.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The request could not be processed."
error да string "BAD_REQUEST"

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

idempotencyConflict

{
  "message": "The idempotency key is already used with a different payload.",
  "error": "IDEMPOTENCY_KEY_CONFLICT"
}

422 Ошибка валидации

ValidationError

Ошибка валидации.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The given data was invalid."
error нет string "VALIDATION_ERROR"
errors да object {"warehouse_id":["The selected warehouse is invalid."]}

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

validationError

{
  "message": "The given data was invalid.",
  "error": "VALIDATION_ERROR",
  "errors": {
    "warehouse_id": [
      "The selected warehouse is invalid."
    ]
  }
}

429 Превышен лимит запросов

TooManyRequests

Превышен лимит запросов.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "Too Many Attempts."
error да string "RATE_LIMITED"

500 Внутренняя ошибка сервера

InternalServerError

Произошла непредвиденная ошибка сервера.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The request could not be processed."
error да string "BAD_REQUEST"

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

INTERNAL_SERVER_ERROR

{
  "message": "An unexpected server error occurred.",
  "error": "INTERNAL_SERVER_ERROR"
}
POST /api/v2/loading/visits/{id}/cancel

Отменить визит погрузки

operationIdcancelLoadingVisitByPath
РазделВизиты погрузки
БезопасностьbearerAuth

Cancel loading visit. Запрос использует описанную payload-схему, проверяет видимость tenant и возвращает нормализованный API envelope.

Пример HTTP-запроса (cURL)

Подставьте свой сервер и токен. ID из примера замените реальными доступными ID. Для тела запроса сохраните подходящий JSON из раздела ниже в request.json; перед отправкой замените демонстрационные значения. Заголовок Idempotency-Key использует ключ одной логической операции.

curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/loading/visits/1001/cancel" \
  --header "Accept: application/json" \
  --header "Authorization: Bearer ${NWMS_TOKEN}" \
  --header "Idempotency-Key: ${NWMS_REQUEST_KEY}"

Параметры

Имя Где Обязательное Тип Style Explode Ограничения Описание Пример
id 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"

Тело запроса

Тело запроса отсутствует.

Ответы

200 Successful response.

Successful response.

Поле Обязательное Тип Флаги Ограничения Описание Пример
data да LoadingVisit Запланированный визит погрузки или разгрузки.
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.domain_id нет integer:int64 | null min: 1 3
data.warehouse_id нет integer:int64 | null min: 1 42
data.client_warehouse_id нет integer:int64 | null min: 1 43
data.shop_id нет integer:int64 | null min: 1 12
data.user_id нет integer:int64 | null min: 1 9
data.type да LoadingVisitType enum: inbound, outbound "inbound"
data.status да LoadingVisitStatus enum: draft, approved, waiting, called, in_progress, finished, cancelled, no_show Статус жизненного цикла визита погрузки, хранящийся в rwLoadingVisit. "waiting"
data.queue_number нет integer:int64 | null 17
data.driver да LoadingVisitDriver
data.driver.phone нет string | null "+359888123456"
data.driver.name нет string | null "Ivan Petrov"
data.driver.vehicle_number нет string | null "CB1234AB"
data.document да LoadingVisitDocument
data.document.type нет enum | null enum: acceptance, order, send_document "acceptance"
data.document.id нет integer:int64 | null min: 1 5101
data.document.acceptance_id нет integer:int64 | null min: 1 5101
data.document.order_id нет integer:int64 | null min: 1 8101
data.document.send_document_id нет integer:int64 | null min: 1 9101
data.planned_at нет string:date-time | null "2026-07-14T10:00:00Z"
data.registered_at нет string:date-time | null "2026-07-14T09:55:00Z"
data.called_at нет string:date-time | null "2026-07-14T10:30:00Z"
data.started_at нет string:date-time | null "2026-07-14T10:30:00Z"
data.finished_at нет string:date-time | null "2026-07-14T10:30:00Z"
data.gate_id нет integer:int64 | null min: 1 3
data.comment нет string | null "ASN-100245"
data.warehouse_comment нет string | null "Gate 2"
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": 9101,
    "domain_id": 3,
    "warehouse_id": 42,
    "client_warehouse_id": 43,
    "shop_id": 12,
    "user_id": 15,
    "type": "inbound",
    "status": "waiting",
    "queue_number": 17,
    "driver": {
      "phone": "+359888123456",
      "name": "Ivan Petrov",
      "vehicle_number": "CB1234AB"
    },
    "document": {
      "type": "acceptance",
      "id": 5101,
      "acceptance_id": 5101,
      "order_id": null,
      "send_document_id": null
    },
    "planned_at": "2026-07-14T10:00:00Z",
    "registered_at": "2026-07-14T09:55:00Z",
    "called_at": null,
    "started_at": null,
    "finished_at": null,
    "gate_id": 3,
    "comment": "ASN-100245",
    "warehouse_comment": "Gate 2",
    "created_at": "2026-07-14T09:00:00Z",
    "updated_at": "2026-07-14T09:30:00Z"
  },
  "meta": {
    "api_version": "v2"
  }
}

400 Некорректный запрос

BadRequest

Некорректный запрос.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The request could not be processed."
error да string "BAD_REQUEST"

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

BAD_REQUEST

{
  "message": "Bad request.",
  "error": "BAD_REQUEST"
}

401 Требуется аутентификация

Unauthorized

Требуется аутентификация.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The request could not be processed."
error да string "BAD_REQUEST"

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

AUTH_REQUIRED

{
  "message": "Authentication is required.",
  "error": "AUTH_REQUIRED"
}

403 Доступ запрещен

Forbidden

Аутентифицированному аккаунту запрещено выполнять это действие.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The request could not be processed."
error да string "BAD_REQUEST"

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

FORBIDDEN

{
  "message": "The authenticated account is not allowed to perform this action.",
  "error": "FORBIDDEN"
}

404 Не найдено

NotFound

Запрошенный ресурс не найден или находится вне области доступа аккаунта.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The request could not be processed."
error да string "BAD_REQUEST"

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

NOT_FOUND

{
  "message": "The requested resource was not found or is outside the authenticated account scope.",
  "error": "NOT_FOUND"
}

409 Конфликт

Conflict

Запрос конфликтует с текущим состоянием ресурса или ключа идемпотентности.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The request could not be processed."
error да string "BAD_REQUEST"

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

idempotencyConflict

{
  "message": "The idempotency key is already used with a different payload.",
  "error": "IDEMPOTENCY_KEY_CONFLICT"
}

422 Ошибка валидации

ValidationError

Ошибка валидации.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The given data was invalid."
error нет string "VALIDATION_ERROR"
errors да object {"warehouse_id":["The selected warehouse is invalid."]}

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

validationError

{
  "message": "The given data was invalid.",
  "error": "VALIDATION_ERROR",
  "errors": {
    "warehouse_id": [
      "The selected warehouse is invalid."
    ]
  }
}

429 Превышен лимит запросов

TooManyRequests

Превышен лимит запросов.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "Too Many Attempts."
error да string "RATE_LIMITED"

500 Внутренняя ошибка сервера

InternalServerError

Произошла непредвиденная ошибка сервера.

Поле Обязательное Тип Флаги Ограничения Описание Пример
message да string "The request could not be processed."
error да string "BAD_REQUEST"

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

INTERNAL_SERVER_ERROR

{
  "message": "An unexpected server error occurred.",
  "error": "INTERNAL_SERVER_ERROR"
}