---
metadata:
  - name: generator
    content: Diplodoc Platform v5.55.3
alternate:
  - https://yandex.kz/routing/doc/en/delivery/functions/order-contents.md
  - https://yandex.kz/routing/doc/kk/delivery/functions/order-contents.md
  - https://yandex.kz/routing/doc/ru/delivery/functions/order-contents.md
  - href: ru/delivery/functions/order-contents.md
    type: text/markdown
    title: Markdown version
  - href: ../llms.txt
    type: text/markdown
    title: llms.txt
title: Яндекс Маршрутизация — описание функций — товарный состав
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.kz/routing/doc/ru/llms.txt


# Товарный состав

{% note info %}

Загрузка товарного состава возможна только для заказов с типом `delivery`.

{% endnote %}

Вы можете загрузить в Мониторинг товарный состав каждого заказа, где будут указаны:

* количество позиций;
* наименование товара, количество товарных единиц и стоимость каждой позиции.

Это позволит:

* сократить количество ошибок и потерь при обработке возвратов;
* упростить работу курьеров с возвратами;
* отказаться от распечаток;
* уменьшить количество ручных операций.

Вы можете загрузить товарный состав одним из способов:

* через [интерфейс Рабочего места логиста](#order-contents-interface);
* через [API](#order-contents-api). 



#|
|| ![](./../_images/video-icon.png) | Товарный состав заказа

{% cut "Посмотреть видео" %}

@[rutube](https://rutube.ru/play/embed/e2fc1fff343aa75bd6aa8ed51bb98fcb)


{% endcut %}

||
|#


## Загрузка товарного состава через интерфейс {#order-contents-interface}

### Шаблон для загрузки данных {#template}

Для загрузки товарного используйте файл Excel, заполненный в соответствии с [шаблоном](https://doc-static.yandex.net/src/dev/routing/templates/mvrp-example-orders-items-ru.xlsx).

Шаблон можно скачать также через интерфейс Рабочего места логиста. Для этого:
1. Откройте [Рабочее место логиста](https://yandex.ru/courier/companies).
2. Перейдите в раздел **Мониторинг** → **Дашборд**.
3. В правом верхнем углу экрана нажмите **Импортировать** → **Товарный состав**.
4. Нажмите **Скачать шаблон**.

   ![](./../_images/order-contents-download.png)
   
5. Заполните файл Excel по шаблону.

    {% note info %}

    В файле номер заказа на листе **Items** в поле **Номер заказа** (`location_id` в API) должен совпадать с номером заказа в Мониторинге (отображается в карточке заказа).

    {% endnote %}

    <!-- source: ru/delivery/_includes/duplicates.md -->
    При экспорте результатов планирования в Мониторинг к номеру заказа может автоматически добавляться дата. Это происходит, если номер нового заказа совпадает с уже существующим в Мониторинге. 

    Например, если в Мониторинге уже есть заказ с номером `Заказ 1`, то в карточке нового заказа будет отображаться `Заказ 1 ГГГГ-ММ-ДД`.
    <!-- endsource: ru/delivery/_includes/duplicates.md -->

    <!-- source: ru/delivery/_includes/comparison.md -->
    Убедитесь, что номера заказа в файле и карточке заказа совпадают. Для этого откройте карточку заказа и сравните номер с указанным в файле. Если необходимо, добавьте дату планирования в формате `ГГГГ-ММ-ДД` в поле **Номер заказа**.
    <!-- endsource: ru/delivery/_includes/comparison.md -->

### Загрузка данных из файла {#load-file}

{% note info %}

Чтобы товарный состав загрузился корректно, в Мониторинг уже должен быть загружен маршрут. Подробнее см. в разделе [Загрузка данных](https://yandex.kz/routing/doc/ru/delivery/load-data.md).

{% endnote %}

1. Откройте [Рабочее место логиста](https://yandex.ru/courier/companies).
1. Перейдите в раздел **Мониторинг** → **Дашборд**.
1. В правом верхнем углу экрана нажмите **Импортировать** → **Товарный состав**.
1. Нажмите **Загрузить шаблон** и выберите файл, заполненный по [шаблону](#template).

    Если при загрузке возникли ошибки, исправьте их в интерфейсе или скачайте файл с ошибками, исправьте их и загрузите исправленный файл.
  
1. Нажмите **Импортировать**. 

![](./../_images/order-contents-upload.png)

Одновременно вы можете загрузить до 10 000 товаров по всем заказам. 

Поля для заполнения:

#|
||**Название поля** |**Параметр** | **Обязательность** |  **Описание** ||
||Номер заказа | `location_id` | Да | Номер заказа в Мониторинге. ||
||Уникальный номер | `item_number` | Да | Идентификатор товара или услуги. В рамках одного заказа номера товаров не должны повторяться. ||
||Артикул | `item_code` | Нет | Артикул товара или услуги. В рамках одного заказа номера артикулов могут повторяться. Например, если один и тот же товар реализуется по разным ценам: нормальной и акционной. ||
||Наименование | `item_name` | Да | Название товара или услуги длиной до 100 символов. ||
||Количество | `item_count` | Да | Количество единиц товара или услуги. По умолчанию 1. ||
||Цена | `item_price` | Да | Цена единицы товара или услуги. По умолчанию 0. ||
||Штрихкод | `item_barcode` | Нет | Штрихкод товара. Используется для идентификации товара по штрихкоду. ||
||Честный знак | `item_chestnyznak.N` | Нет | Код маркировки «Честный знак». N — номер позиции в заказе, например, `item_chestnyznak.1`. Количество кодов должно соответствовать количеству товаров, которое указано в поле `item_count`. ||
|#


### Штрихкодирование и «Честный знак» {#barcode}

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

#### Сценарии использования {#barcode-scenario}

Курьер может сканировать товары в приложении Яндекс Маршрутизация в трех сценариях:

**Получение товаров на складе**

Когда курьер приезжает на склад, он должен убедиться, что ему передали все товары по всем заказам. Для этого:

1. Курьер сканирует товары при погрузке в автомобиль. 
1. Приложение проверяет соответствие отсканированных товаров товарному составу заказов.

Если каких-то товаров не хватает, курьер ищет их и сканирует или отмечает частичную погрузку.

**Прибытие на заказ**

Когда курьер приезжает на заказ, он должен достать из кузова все необходимые товары для конкретного клиента. Для этого:

1. Курьер находит товары в автомобиле и сканирует их. 
1. Приложение отображает уведомление, относится ли отсканированный товар к текущему заказу. 

**Частичная доставка или отказ от заказа**

Если клиент принял все товары, заказ считается полностью выполненным. При частичной доставке или отказе клиента от всех товаров курьер сканирует «Честный знак» или штрихкод товара и отмечает возврат в приложении.

#### Ограничения {#barcode-limitations}


- У одной позиции товарного состава может быть только один штрихкод.
- Количество кодов «Честный знак» должно соответствовать количеству товаров одного типа: если `item_count`= 2, то кодов тоже должно быть два.
- Каждый код «Честный знак» должен соответствовать только одной физической единице товара. Не указывайте один и тот же код для разных товарных позиций или заказов.

    {% note warning %}

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

    {% endnote %}

- Поддерживается одновременно только [один тип «Честного знака»](#marking-types).
- В одном товарном составе заказа могут быть товары как с «Честным знаком», так и без него.
 


#### Передача кодов со служебным символом GS {#marking-code-gs}

Код маркировки «Честный знак» может содержать непечатаемый управляющий символ GS — Group Separator (`U+001D`). Это часть исходного значения кода маркировки. Не удаляйте и не заменяйте его при загрузке товарного состава.

{% list tabs %}

- Загрузка через Excel

    Вставьте в ячейку исходное значение, полученное при считывании Data Matrix. В файле XLSX символ GS отображается как `_x001D_`.

- Передача через API

    В JSON-теле запроса непечатаемый символ GS записывается в виде последовательности `\u001D`. Например:

    ```json
    {
    "marking_codes": [
        {
        "value": "\u001D01046071678425712156h.KX\u001D93EdwS",
        "type": "chestny_znak"
        }
    ]
    }
    ```
    
    После разбора JSON последовательность `\u001D` становится исходным непечатаемым символом GS.

    В справочниках Unicode этот символ обозначают как `U+001D`. Это только человекочитаемая нотация — передавать текст `U+001D` в Excel или API не нужно.

{% endlist %}


Не заменяйте GS следующими обозначениями:

#|
||**Обозначение** |**Описание** ||
||`<GS>` или `<FNC1>` | Человекочитаемые обозначения, не часть исходного кода маркировки ||
||`\x1D` | Неправильный формат последовательности ||
||`_x001D_` | Внутреннее представление символа в файле XLSX ||
|#


#### Типы маркировки {#marking-types}

#|
||**Тип маркировки** |**Что маркируют** |**Тип знака** |**Длина символов** ||
||Честный знак КИЗ | Один самостоятельный продукт от определенной даты производства, например бутылка воды. Две бутылки воды с одного завода и одного бренда будут иметь два разных знака. | Двухмерный Data matrix | Нет лимита, зависит от типа товара, обычно до 31 знака ||
||Честный знак КИГУ | Спайка одинаковых продуктов, например спайка из шести бутылок воды | Двухмерный Data matrix | Нет лимита, зависит от типа товара, обычно до 31 знака ||
||Честный знак КИТУ | Группа разных или одинаковых товаров в таре в виде коробки или паллета | SSCC бар-код | 20-74 шт. ||
||Штрихкод / Артикул EAN | Продукт для идентификации товара и производителя. Две бутылки воды с одного завода и одного бренда будут иметь один штрихкод. | Бар-код EAN | 13 знаков ||
|#


### Просмотр товарного состава заказа {#open-card}

1. Перейдите в раздел **Мониторинг** → **Дашборд**.
2. Выберите нужный маршрут и заказ.
3. В карточке заказа в поле **Товарный состав** нажмите на ссылку с количеством позиций.

    {% cut "Ссылка на товарный состав в карточке заказа" %}
    
    ![](./../_images/order-contents-open-link.png)

    {% endcut %}
    
В списке вы увидите артикулы, названия позиций, их количество, стоимость, сумму и [номер штрихкода](#barcode), если он был добавлен.   

![](./../_images/order-contents-list.png)

### Просмотр доставленного заказа {#open-delivered-order}

Вы можете посмотреть подробности о доставленных позициях по заказу. Для этого:

1. Перейдите в раздел **Мониторинг** → **Дашборд**.
2. Выберите нужный маршрут и заказ.
3. В поле **Товарный состав** нажмите на ссылку с количеством позиций. 
 
Если курьер добавил фотографию к какой-либо позиции, в столбце **Фото** появятся ссылки на фотографии.

![](./../_images/order-contents-back.png)

Также товарный состав будет виден компаниям, которые добавлены в [наблюдатели](https://yandex.kz/routing/doc/ru/delivery/functions/shared.md). 

### Заказ с частичным возвратом {#partial-delivery}

Если клиент вернул часть заказов, курьер отметит это в приложении, а также сможет добавить фотографии по каждой позиции. Подробнее см. в разделе [Частичная доставка, если указан состав заказа](https://yandex.kz/routing/doc/ru/rq-app/options.md#partial-delivery-contents).

Чтобы посмотреть информацию о доставленных позициях и возвратах:

1. Перейдите в раздел **Мониторинг** → **Дашборд**.
2. Выберите нужный маршрут и заказ. В поле **Товарный состав** отобразится сообщение о том, что есть возвраты.
3. Нажмите на ссылку с количеством позиций. 

По умолчанию в таблице с товарным составом отображаются все позиции. 
   
Нажмите **Позиции на возврат**, чтобы исключить из таблицы доставленные позиции. Вы увидите:

* количество позиций на возврат;
* количество товаров на возврат;
* сумму по каждой позиции и общую сумму возврата. 

![](./../_images/order-contents-back-filter.png)

Если курьер добавил фотографию к какой-либо позиции, в столбце **Фото** появятся ссылки на фотографии.

## Загрузка товарного состава через API {#order-contents-api}

Вы можете загружать и актуализировать данные по товарному составу заказов через API:

* [добавить товарный состав заказа](https://yandex.ru/routing/doc/ru/delivery/redoc/index.html#operation/addsOrderItems);
* [получить товарный состав заказа](https://yandex.ru/routing/doc/ru/delivery/redoc/index.html#operation/getsOrderItems);
* [добавить информацию о возвратах товаров](https://yandex.ru/routing/doc/ru/delivery/redoc/index.html#operation/returnsOrderItems);
* [удалить товарную позицию](https://yandex.ru/routing/doc/ru/delivery/redoc/index.html#operation/deletesOrderItem).
* [удалить весь товарный состав заказа](https://yandex.ru/routing/doc/ru/delivery/redoc/index.html#operation/deletesOrderItems).

<!-- source: ru/delivery/_includes/feedback.md -->
<a href="../feedback">
  <span class="button">Написать в службу поддержки</span>
</a>



[//]: # (Вариант без html\: \[Написать в службу поддержки\]\(../../../feedback.md\))

<!-- source: ru/_includes/neuroexpert.md -->



<!-- endsource: ru/_includes/neuroexpert.md -->
<!-- endsource: ru/delivery/_includes/feedback.md -->
