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

Deprecated

Метод доступен для модели DBS.

Если вы используете API-Key-токен, для вызова метода необходим один из доступов в списке

Какой метод использовать вместо устаревшего

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

Количество грузовых мест нужно обязательно передавать Маркету, если оно не равно 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 Количество единиц товара в грузовом месте.
⚙️ Лимит: 100 000 запросов в час

Request

PUT

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

Path parameters

Name

Description

campaignId

Type: integer

Идентификатор кампании (магазина) — технический идентификатор, который представляет ваш магазин в системе Яндекс Маркета при работе через API. Он однозначно связывается с вашим магазином, но предназначен только для автоматизированного взаимодействия.

Его можно узнать с помощью запроса GET v2/campaigns или найти в кабинете продавца на Маркете. Нажмите на иконку вашего аккаунта → Настройки и в меню слева выберите API и модули:

  • блок Идентификатор кампании;
  • вкладка Лог запросов → выпадающий список в блоке Показывать логи.

⚠️ Не путайте его с:

  • идентификатором магазина, который отображается в личном кабинете продавца;
  • рекламными кампаниями.

Min value: 1

orderId

Type: integer

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

shipmentId

Type: integer

Передайте любое число, чтобы получился корректный URL.

Идентификатор грузового места.

Body

application/json
{
  "boxes": [
    {
      "fulfilmentId": "example"
    }
  ]
}

Type: ParcelRequestDTO

ParcelBoxRequestDTO

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

Name

Description

fulfilmentId

Type: string

Не используйте этот параметр.

Pattern: ^[[a-zA-Z0-9]- ]*$

Example: example

Example
{
  "fulfilmentId": "example"
}

ParcelRequestDTO

Информация о грузовых местах в заказе.

Name

Description

boxes

Type: ParcelBoxRequestDTO[]

Список грузовых мест. По его длине Маркет определяет количество мест.

Min items: 1

Example
[
  {
    "fulfilmentId": "example"
  }
]
Example
{
  "boxes": [
    {
      "fulfilmentId": "example"
    }
  ]
}

Responses

200 OK

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

Body

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

Type: object

All of 2 types
  • Type: ApiResponse

    Стандартная обертка для ответов сервера.

    Example
    {
      "status": "OK"
    }
    
  • Type: object

    result

    Type: ShipmentBoxesDTO

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

    Example
    {
      "boxes": [
        {
          "id": 0,
          "fulfilmentId": "example"
        }
      ]
    }
    
    Example
    {
      "result": {
        "boxes": [
          {
            "id": 0,
            "fulfilmentId": "example"
          }
        ]
      }
    }
    

ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Type: string

Enum: OK, ERROR

ApiResponse

Стандартная обертка для ответов сервера.

Name

Description

status

Type: ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Enum: OK, ERROR

Example
{
  "status": "OK"
}

ParcelBoxDTO

Параметр отображает одно грузовое место.

Name

Description

fulfilmentId

Type: string

Не используйте этот параметр.

Pattern: ^[[a-zA-Z0-9]- ]*$

Example: example

id

Type: integer

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

Example
{
  "id": 0,
  "fulfilmentId": "example"
}

ShipmentBoxesDTO

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

Name

Description

boxes

Type: ParcelBoxDTO[]

Список грузовых мест. По его длине Маркет определил количество мест.

Example
[
  {
    "id": 0,
    "fulfilmentId": "example"
  }
]
Example
{
  "boxes": [
    {
      "id": 0,
      "fulfilmentId": "example"
    }
  ]
}

400 Bad Request

Запрос содержит неправильные данные. Подробнее об ошибке

Body

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

Type: object

All of 1 type
  • Type: ApiErrorResponse

    Стандартная обертка для ошибок сервера.

    Example
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    

ApiErrorDTO

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

Name

Description

code

Type: string

Код ошибки.

Example: example

message

Type: string

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

Example: example

Example
{
  "code": "example",
  "message": "example"
}

ApiErrorResponse

Стандартная обертка для ошибок сервера.

Type: object

All of 2 types
  • Type: ApiResponse

    Стандартная обертка для ответов сервера.

    Example
    {
      "status": "OK"
    }
    
  • Type: object

    errors

    Type: ApiErrorDTO[] | null

    Список ошибок.

    Min items: 1

    Example
    [
      {
        "code": "example",
        "message": "example"
      }
    ]
    
    Example
    {
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    
Example
{
  "status": "OK",
  "errors": [
    {
      "code": "example",
      "message": "example"
    }
  ]
}

401 Unauthorized

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

Body

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

Type: object

All of 1 type
  • Type: ApiErrorResponse

    Стандартная обертка для ошибок сервера.

    Example
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    

403 Forbidden

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

Body

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

Type: object

All of 1 type
  • Type: ApiErrorResponse

    Стандартная обертка для ошибок сервера.

    Example
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    

404 Not Found

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

Body

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

Type: object

All of 1 type
  • Type: ApiErrorResponse

    Стандартная обертка для ошибок сервера.

    Example
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    

420 Method Failure

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

Body

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

Type: object

All of 1 type
  • Type: ApiErrorResponse

    Стандартная обертка для ошибок сервера.

    Example
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    

500 Internal Server Error

Внутренняя ошибка Маркета. Подробнее об ошибке

Body

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

Type: object

All of 1 type
  • Type: ApiErrorResponse

    Стандартная обертка для ошибок сервера.

    Example
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    

No longer supported, please use an alternative and newer version.