Передача количества грузовых мест в заказе (DBS)

Этот запрос только для DBS

Если вы работаете по модели FBS, пользуйтесь PUT campaigns/{campaignId}/orders/{orderId}/boxes.

Отгружаемый Маркету заказ может не влезть в одну коробку или упаковку — в этом случае получается, что он занимает несколько грузовых мест.

Количество грузовых мест нужно обязательно передавать Маркету, если оно не равно 1. Это делается перед переводом его в статус Готов к отгрузке. Подробно о том, что в какой момент нужно передавать, рассказано в пошаговой инструкции.

Метод устроен немного нестандартно: количество задается длиной массива пустых объектов.

Раньше метод требовал передачи большего количества данных. Запросы, оформленные по старому образцу, работают, но лучше делать по-новому.

Как было раньше

Структура тела PUT-запроса:

{
  "boxes":
  [
    {
      "fulfilmentId": "{string}",
      "weight": {int64},
      "width": {int64},
      "height": {int64},
      "depth": {int64},
      "items":
      [
        {
          "id": {int64},
          "count": {int32}
        },
        ...
      ]
    },
    ...
  ]
}
Параметр Тип Значение
boxes Список грузовых мест.

Параметры, вложенные в boxes

Параметр Тип Значение
fulfilmentId String Идентификатор грузового места в информационной системе магазина. Сформируйте идентификатор по шаблону: номер заказа на Маркете-номер грузового места. Например, 7206821‑1, 7206821‑2 и т. д.
weight Int64 Масса брутто грузового места (суммарная масса упаковки и содержимого) в граммах.
width Int64 Ширина грузового места в сантиметрах.
height Int64 Высота грузового места в сантиметрах.
depth Int64 Глубина грузового места в сантиметрах.
items Int64 Список товаров в грузовом месте.

Параметры, вложенные в items

Параметр Тип Значение
id Int64 Идентификатор товара в рамках заказа.
count Int32 Количество единиц товара в грузовом месте.
⚙️ Лимит: 1 000 000 запросов в час

Request

PUT

https://api.partner.market.yandex.ru/campaigns/{campaignId}/orders/{orderId}/delivery/shipments/{shipmentId}/boxes

Path parameters

Name

Type

Description

campaignId*

integer<int64>

Идентификатор кампании в API и магазина в кабинете. Каждая кампания в API соответствует магазину в кабинете.

Чтобы узнать идентификаторы своих магазинов, воспользуйтесь запросом GET campaigns.

ℹ️ Что такое кабинет и магазин на Маркете

orderId*

integer<int64>

Идентификатор заказа.

shipmentId*

integer<int64>

Параметр больше не используется. Вставьте любое число — просто чтобы получился корректный URL.

Body

application/json
{
    "boxes": [
        {
            "id": 0,
            "fulfilmentId": "string"
        }
    ]
}

Name

Type

Description

boxes*

ParcelBoxDTO[]

Список грузовых мест. Маркет определяет количество мест по длине этого списка.
Элемент отображает одно грузовое место. Вложенные поля больше не используются, передавайте элемент пустым в запросах и не обращайте внимание на содержимое в ответах.

ParcelBoxDTO

Элемент отображает одно грузовое место. Вложенные поля больше не используются, передавайте элемент пустым в запросах и не обращайте внимание на содержимое в ответах.

Name

Type

Description

id

integer<int64>

Поле больше не используется. Не передавайте его в запросах и не обращайте на него внимания в ответах.

fulfilmentId

string

Поле больше не используется. Не передавайте его в запросах и не обращайте на него внимания в ответах.

Responses

200 OK

Имеет значение только тип ответа. Если вы получили ОК, количество грузомест записано.

Body

application/json
{
    "status": "OK",
    "result": {
        "boxes": [
            {
                "id": 0,
                "fulfilmentId": "string"
            }
        ]
    }
}

Name

Type

Description

status

ApiResponseStatusType

Тип ответа.
Enum: OK, ERROR

result

ShipmentBoxesDTO

В ответе Маркет возвращает переданный вами список грузовых мест. Не обращайте на это поле внимания.

ApiResponseStatusType

Тип ответа.

Type

Description

ApiResponseStatusType

Enum: OK, ERROR

ShipmentBoxesDTO

В ответе Маркет возвращает переданный вами список грузовых мест. Не обращайте на это поле внимания.

Name

Type

Description

boxes

ParcelBoxDTO[]

Список грузовых мест. Маркет определил количество мест по длине этого списка.
Элемент отображает одно грузовое место. Вложенные поля больше не используются, передавайте элемент пустым в запросах и не обращайте внимание на содержимое в ответах.

400 Bad Request

Для указанного заказа сейчас нельзя задать количество грузомест. Либо заказ в неподходящем статусе, либо вы ошиблись с его id.

Body

application/json
{
    "status": "OK",
    "errors": [
        {
            "code": "string",
            "message": "string"
        }
    ]
}

Name

Type

Description

status

ApiResponseStatusType

Тип ответа.
Enum: OK, ERROR

errors

ApiErrorDTO[]

Список ошибок.
Общий формат ошибки.

ApiErrorDTO

Общий формат ошибки.

Name

Type

Description

code*

string

Код ошибки.

message

string

Описание ошибки.

401 Unauthorized

В запросе не указаны данные для авторизации.

Body

application/json
{
    "status": "OK",
    "errors": [
        {
            "code": "string",
            "message": "string"
        }
    ]
}

Name

Type

Description

status

ApiResponseStatusType

Тип ответа.
Enum: OK, ERROR

errors

ApiErrorDTO[]

Список ошибок.
Общий формат ошибки.

403 Forbidden

Данные для авторизации неверны или доступ к ресурсу запрещен.

Body

application/json
{
    "status": "OK",
    "errors": [
        {
            "code": "string",
            "message": "string"
        }
    ]
}

Name

Type

Description

status

ApiResponseStatusType

Тип ответа.
Enum: OK, ERROR

errors

ApiErrorDTO[]

Список ошибок.
Общий формат ошибки.

404 Not Found

Запрашиваемый ресурс не найден.

Body

application/json
{
    "status": "OK",
    "errors": [
        {
            "code": "string",
            "message": "string"
        }
    ]
}

Name

Type

Description

status

ApiResponseStatusType

Тип ответа.
Enum: OK, ERROR

errors

ApiErrorDTO[]

Список ошибок.
Общий формат ошибки.

420 Method Failure

Превышено ограничение на доступ к ресурсу.

Body

application/json
{
    "status": "OK",
    "errors": [
        {
            "code": "string",
            "message": "string"
        }
    ]
}

Name

Type

Description

status

ApiResponseStatusType

Тип ответа.
Enum: OK, ERROR

errors

ApiErrorDTO[]

Список ошибок.
Общий формат ошибки.

500 Internal Server Error

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

Body

application/json
{
    "status": "OK",
    "errors": [
        {
            "code": "string",
            "message": "string"
        }
    ]
}

Name

Type

Description

status

ApiResponseStatusType

Тип ответа.
Enum: OK, ERROR

errors

ApiErrorDTO[]

Список ошибок.
Общий формат ошибки.