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

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"
}

Type: object

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"
}

Type: object

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"
}

401 Unauthorized

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

Body

application/json
{
  "status": "OK"
}

Type: object

403 Forbidden

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

Body

application/json
{
  "status": "OK"
}

Type: object

404 Not Found

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

Body

application/json
{
  "status": "OK"
}

Type: object

420 Method Failure

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

Body

application/json
{
  "status": "OK"
}

Type: object

500 Internal Server Error

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

Body

application/json
{
  "status": "OK"
}

Type: object

pathParams:
  - description: "Идентификатор кампании (магазина) — технический идентификатор, который представляет ваш магазин в системе Яндекс Маркета при работе через API. Он однозначно связывается с вашим магазином, но предназначен только для автоматизированного взаимодействия.\n\nЕго можно узнать с помощью запроса [GET\_v2/campaigns](../../reference/campaigns/getCampaigns.md) или найти в кабинете продавца на Маркете. Нажмите на иконку вашего аккаунта → **Настройки** и в меню слева выберите **API и модули**:\n\n* блок **Идентификатор кампании**;\n* вкладка **Лог запросов** → выпадающий список в блоке **Показывать логи**.\n\n⚠️ Не путайте его с:\n- идентификатором магазина, который отображается в личном кабинете продавца;\n- рекламными кампаниями.\n"
    name: campaignId
    in: path
    required: true
    schema:
      type: integer
      format: int64
      minimum: 1
  - description: Идентификатор заказа.
    name: orderId
    in: path
    required: true
    schema:
      type: integer
      format: int64
  - description: |
      { % note warning "Параметр больше не используется" % }

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

      { % endnote % }

      Идентификатор грузового места.
    name: shipmentId
    in: path
    required: true
    schema:
      type: integer
      format: int64
searchParams: []
headers: []
body: |-
  {
    "boxes": [
      {
        "fulfilmentId": "example"
      }
    ]
  }
schema:
  type: object
  allOf:
    - description: Информация о грузовых местах в заказе.
      type: object
      required:
        - boxes
      properties:
        boxes:
          description: >-
            Список грузовых мест. По его длине Маркет определяет количество
            мест.
          type: array
          items:
            description: >-
              Параметр отображает одно грузовое место. Вложенные поля больше не
              используются, передавайте параметр пустым.
            type: object
            properties:
              fulfilmentId:
                description: "{% note warning \"Не используйте этот параметр.\" %}\n\n\_\n\n{% endnote %}\n"
                type: string
                pattern: ^[[a-zA-Z0-9]- ]*$
                deprecated: true
          minItems: 1
bodyType: application/json
method: put
security:
  - type: apiKey
    name: Api-Key
    in: header
  - type: oauth2
    x-inline: true
    flows:
      implicit:
        authorizationUrl: https://oauth.yandex.ru/authorize
        scopes:
          market:partner-api: API Яндекс.Маркета / Поиска по товарам для партнеров
path: >-
  v2/campaigns/{campaignId}/orders/{orderId}/delivery/shipments/{shipmentId}/boxes
host: https://api.partner.market.yandex.ru

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