Авторизация.
Для авторизации в системе вам понадобятся три параметра:
1. Адрес для отправки запросов;
2. Client-Id - идентификатор клиента;
3. Api-Key - API-ключ клиент.
В обработке, по умолчанию, указаны параметры тестовой среды. Для рабочей среды данные получаем в личном кабинете Ozon Seller.
Управление товарами и ценами.
На закладке реализована возможность загрузить товары с сайта в табличную часть обработки, для последующего изменения реквизитов товара: информации, остатки и цены.
Загрузка происходит в два этапа:
1. Получаем список товара. Таблица заполняется идентификаторами товара.
2. Получаем информацию о товаре. Выполняется запрос, с фильтром по загруженному ранее списку товара. В результате таблица товаров дополняется информацией.
ЗАМЕЧАНИЕ: Очень часто, при получении списка товара в тестовой среде, возникает ошибка:
Обмен ОЗОН (ошибка на этапе получения списка товаров)
{"error":{"code":"INTERNAL_ERROR","message":"Internal error","data":[]}}
поэтому не всегда удаётся протестировать работу в этом режиме. Не знаю с чем это связано, можно только гадать. Но в рабочей среде таких проблем не возникало.
После заполнения табличной части "Товары" можно переходить к выгрузке измененной информации на сайт. Алгоритм выполнения описан в подсказках кнопок:
3. Карточки товаров;
4. Остатки товаров;
5. Цены товаров.
ВАЖНО: При выполнении запросов на изменение данных могут возникать ошибки, связанные с некорректной отправкой данных, к примеру:
1. Если попытаться задать товару остаток равный остатку на сайте, то получите ошибку:
"Обмен ОЗОН (ошибка обновление остатков товара)
Ошибка по товару с артикулом: 55073
sku stock not changed"
2. Если реквизиту Price поставить цену большую, чем Old_price, что логично, так же получим ошибку:
"Обмен ОЗОН (ошибка обновление цены товара)
Ошибка по товару с артикулом: 65054
Описание ошибки: Old price is less than price"
Работа с заказами.
1. "Запросить новые / не собранные заказы" - получает заказы со статусом: awaiting_packaging — ожидает упаковки.
2. "Запросить заказы ожидающие отгрузки" - получает заказы со статусом: awaiting_deliver — ожидает отгрузки.
3. "Запросить заказы не принятые в сортировочном центре" - получает заказы со статусом: not_accepted — не принят в сортировочном центре.
Данные загружаются в виде дерева значений в табличную часть обработки. Где верхняя группа это шапка заказа(даты, номера, статус, ид заказа), а подчиненная это товары заказа, с указанием идентификатора товара(sku), наименования товара(name), количества(quantity), артикул товара(offer_id) и цены(price).
Реализован механизм создания документа "Заказ клиента" на основе полученных данных. Алгоритм:
1. Заполняем реквизит п.5. "Шаблон документа Заказ клиента" (на основании указанного документа будут заполнены следующие реквизиты: "Организация, Партнер, Контрагент, Договор, Соглашение, Менеджер, Склад, Подразделение, Банковский счет").
2. Выделяем строки в дереве значений, по которым хотим создать документы и жмём п.4. "Создать заказ в 1С".
Перед созданием нового заказа, система проверяет не грузился ли документ ранее, по реквизиту 1С: "НомерПоДаннымКлиента" (у ОЗОН реквизит posting_number), если находит - перезаполняет данные, если нет - создаёт новый. Поиск товара происходит по реквизиту "Артикул" справочника Номенклатура (у ОЗОН реквизит offer_id).
Следующие процедуры выполняются выделением одной строки:
Команда "Отправить подтверждение сборки заказов" (п.6.): Делит заказ на отправления и переводит его в статус awaiting_deliver - ожидает отгрузки.
Команда "Получить этикетку" (п.7.): Генерирует PDF-файл с маркировкой для указанных отправлений. В результат отроется файл PDF:
Отрабатывает, если заказ обработан, иначе получаем ошибку: "POSTINGS_NOT_READY — отправление не готово к маркировке".
Команда "Отменить заказ" (п.8.): Меняет статус отправления на cancelled: Отменён. При нажатии вызывает форму запроса причины отказа:
12.01.2021. Добавил процедуру "Получение передаточных документов"
Работает в два этапа:
1. Отправляем запрос на формирование документов. В хранилище общих настроек записывается Дата и Номер запроса;
2. Далее система ОЗОН сформирует эти документы и через какое-то время заходим в обработку и жмём "Получить документы".
JSON Запрос / Ответ.
При выполнении любой из пересиленных выше процедур происходит заполнение полей "JSON запрос" и "JSON ответ". Которые наглядно отображают структуру запроса и ответа.
Внешняя обработка не привязана к конкретным конфигурациям, можно тестировать в любой актуальной версии на управляемых формах, где есть справочник "Номенклатура" и документ "Заказ клиента".
Тестировалась: Управление торговлей 11.4.13.103, Комплексная автоматизация 2.4.11.106, 1С:ERP Управление предприятием 2.5.6