Подготовка заказа
PUT/v2/campaigns/:campaignId/orders/:orderId/boxes
{% note tip "Подходит и для DBS" %}
Запрос предназначен для работы с FBS-заказами, но вы можете использовать его для обработки DBS-заказов, если это удобно.
{% endnote %}
Позволяет выполнить три операции:
- передать Маркету информацию о распределении товаров по коробкам;
- передать Маркету коды маркировки для товаров;
- удалить товар из заказа, если его не оказалось на складе.
Если нужно что-то поправить в переданных данных, просто повторите запрос — это можно делать сколько угодно раз до перевода заказа в статус Готов к отгрузке. ⚠️ Если вы меняете раскладку уже после печати и расклейки ярлыков, не забудьте перепечатать их и наклеить заново.
{% cut "Как передать информацию о распределении товаров" %}
В этом запросе вам нужно передать Маркету список коробок и указать, какие именно товары лежат в каждой из них. Коробки могут быть двух типов:
-
Содержащие товары целиком. Такая коробка может содержать сколько угодно единиц любых товаров.
-
Содержащие часть товара. Такие коробки содержат по одной части одного товара. Например, одна содержит внешний блок кондиционера, а другая — внутренний блок.
⚠️ Одна коробка не может содержать и товары целиком, и части товаров.
{% endcut %}
{% cut "Как передавать коды маркировки и получать статус их проверки" %}
{% note info "Маркировка товаров в системе «Честный ЗНАК» необязательна для заказов от физических лиц" %}
Для заказов от бизнеса все еще нужно передавать коды маркировки.
{% endnote %}
Если в заказе есть товары, подлежащие маркировке, в запросе нужно передать соответствующие уникальные коды. Что такое маркировка
Принимаются коды следующих типов:
- Коды в системе «Честный ЗНАК» или «ASL BELGISI» (для продавцов Market Yandex Go).
- УИН для ювелирных изделий.
- РНПТ и ГТД для импортных прослеживаемых товаров.
Для каждой позиции в заказе, требующей маркировки, нужно передать список кодов — по одному для каждой единицы товара. Например, если в заказе две пары тапочек и одна пара туфель, получится список из двух кодов для первой позиции и список из одного кода для второй.
Если товар едет в нескольких коробках, код маркировки нужно передать для каждой из них.
{% note warning "Если вы работаете по модели FBS, EXPRESS" %}
Для заказов, в которых есть ювелирные изделия или товары с маркировкой в системе
READY_TO_SHIP становится доступен, только когда:
- Вы передадите Маркету УИНыпо каждому ювелирному изделию в заказе и коды в системе«Честный ЗНАК»по всем товарам в заказе, для которых обязательна эта маркировка.
- Все коды маркировки успешно пройдут проверку. Как получить статусы проверки
{% endnote %}
{% endcut %}
{% cut "Как удалить товар из заказа" %}
Чтобы удалить товар из заказа:
- Добавьте в запрос
allowRemove: true. - Передайте распределение по коробкам без товара, который нужно удалить.
{% note warning "Удаление нельзя отменить" %}
Эта операция необратима: покупатель сразу получит уведомление, а состав заказа изменится.
{% endnote %}
Чтобы удалить позицию целиком, не передавайте соответствующий OrderBoxLayoutItemDTO. Чтобы уменьшить количество товара, передайте уменьшенное значение в поле fullCount.
Нельзя удалить или уменьшить количество товара, если он:
- добавлен по акции;
- составляет 99% стоимости заказа;
- единственный товар в заказе.
Если вы не можете отгрузить такой товар, отмените заказ. Для этого отправьте запрос методом PUT v2/campaigns/{campaignId}/orders/{orderId}/status и передайте статус заказа CANCELLED с причиной отмены SHOP_FAILED.
{% endcut %}
{% note info "Увеличить заказ нельзя" %}
С помощью запроса нельзя увеличить количество одинаковых товаров, добавить новые товары в заказ или заменить один товар другим.
{% endnote %}
Примеры
{% cut "Товар умещается в коробку" %}
Вот как будет выглядеть запрос, если в одной коробке едут:
- три единицы одного товара, требующего маркировки;
- одна единица другого товара, не требущего маркировки.
\{
"boxes": [
\{
"items": [
\{
"id": 123456,
"fullCount": 3,
"instances": [
\{
"cis": "01030410947874432155Qbag!\u001d93Zjqw"
\},
\{
"cis": "010304109478gftJ14545762!\u001dhGt264"
\},
\{
"cis": "010304109478fRs28323ks23!\u001dhet201"
\}
]
\},
\{
"id": 654321,
"fullCount": 1
\}
]
\}
]
\}
{% endcut %}
{% cut "Товар едет в разных коробках" %}
Вот как будет выглядеть запрос, если товар едет в двух коробках:
\{
"boxes": [
\{
"items": [
\{
"id": 123456,
"partialCount": \{
"current": 1,
"total": 2
\},
"instances": [
\{
"cis": "01030410947874432155Qbag!\u001d93Zjqw"
\}
]
\}
]
\},
\{
"items": [
\{
"id": 123456,
"partialCount": \{
"current": 2,
"total": 2
\},
"instances": [
\{
"cis": "01030410947874432155Qbag!\u001d93Zjqw"
\}
]
\}
]
\}
]
\}
{% endcut %}
{% cut "Одинаковые товары, где каждый едет в нескольких коробках" %}
Вот как будет выглядеть запрос, если каждый из двух одинаковых товаров едет в двух коробках:
\{
"boxes": [
\{
"items": [
\{
"id": 123456,
"partialCount": \{
"current": 1,
"total": 2
\},
"instances": [
\{
"cis": "01030410947874432155Qbag!\u001d93Zjqw"
\}
]
\}
]
\},
\{
"items": [
\{
"id": 123456,
"partialCount": \{
"current": 2,
"total": 2
\},
"instances": [
\{
"cis": "01030410947874432155Qbag!\u001d93Zjqw"
\}
]
\}
]
\},
\{
"items": [
\{
"id": 123456,
"partialCount": \{
"current": 1,
"total": 2
\},
"instances": [
\{
"cis": "01030410947874432155Qbag!\u001d93Zjqw"
\}
]
\}
]
\},
\{
"items": [
\{
"id": 123456,
"partialCount": \{
"current": 2,
"total": 2
\},
"instances": [
\{
"cis": "01030410947874432155Qbag!\u001d93Zjqw"
\}
]
\}
]
\}
]
\}
{% endcut %}
{% cut "Разные товары в разных коробках" %}
Вот как будет выглядеть запрос, если два разных товара разложены по разным коробкам:
\{
"boxes": [
\{
"items": [
\{
"id": 123456,
"fullCount": 1
\}
]
\},
\{
"items": [
\{
"id": 654321,
"fullCount": 1
\}
]
\}
]
\}
{% endcut %}
Request
Responses
- 200
- 400
- 401
- 403
- 404
- 420
- 500
В ответ придет переданная раскладка с идентификаторами коробок — они понадобятся для запроса ярлыков.
Запрос содержит неправильные данные. Подробнее об ошибках при работе с заказами
В запросе не указаны данные для авторизации. Подробнее об ошибке
Данные для авторизации неверны или доступ к ресурсу запрещен. Подробнее об ошибке
Запрашиваемый ресурс не найден. Подробнее об ошибке
Превышено ограничение на доступ к ресурсу. Подробнее об ошибке
Внутренняя ошибка Маркета. Подробнее об ошибке