Сборка FBS по API маркетплейса — настройка
Ключи API клиента, зона «Упаковка», флаг «Честный Знак», принтер сборки
Раньше задание на сборку маркетплейс выгружали файлом и грузили его в раздел «Убытие» кнопкой «Импорт» — так по-прежнему можно, если у клиента нет ключа API. Когда ключ есть, оператор тянет задания на сборку прямо из кабинета клиента на Ozon или Wildberries, без ежедневной ручной выгрузки. Эта статья — про то, что настроить заранее, чтобы раздел «Сборка FBS» заработал. Сам процесс сборки — в статье «Сборка FBS» раздела «Оператору».
Ключ API клиента
У клиента может быть несколько ключей — например, разные магазины или юрлица на одной площадке. Ключ вводится одним из двух способов:
- Клиент вводит сам, в своём личном кабинете — вкладка «Ключи API». Ссылку в кабинет вы уже выдаёте клиенту (статья «Личный кабинет клиента»).
- Вы вводите за клиента, в карточке клиента — колонка «Ключи МП». На кнопке видно, сколько ключей у клиента: красноватая «ключи» — ключей нет, зеленоватая «ключи · 2» — два ключа (наведите — сколько у Ozon и сколько у Wildberries). В окне каждый ключ — блок в рамке цвета площадки (Ozon — синим, Wildberries — фиолетовым); только что добавленный подсвечен отметкой «✓ Ключ добавлен», число на кнопке в списке меняется сразу.
Ключ подписывается названием магазина с площадки — у Ozon это название компании в кабинете продавца, у Wildberries — торговая марка. Название приходит само при добавлении ключа и обновляется при «Проверить связь»; у ключей, добавленных раньше, окно ключей подпишет их само при открытии. Поле «Подпись для себя» необязательное: если заполнить, подпись будет видна рядом с названием магазина («для себя: …»). По этому же названию ключ выбирают при загрузке заданий FBS и импорте товаров.
Для Ozon нужны Client-Id и Api-Key из кабинета продавца (раздел API-ключи). Для Wildberries — токен из кабинета продавца.
Какие права нужны ключу
Wildberries — токен (обычный рабочий, не тестовый) с двумя категориями:
| Категория | Доступ | Для чего |
|---|---|---|
| Маркетплейс | чтение и запись — «только чтение» не ставить | сборочные задания, склады, поставки, транспортные стикеры, «ШК отгрузки», коды «Честный Знак» |
| Контент | достаточно чтения | наименование, бренд и размер на стикере товара, фото товара на сборке, импорт товаров по API |
Ozon — при выпуске ключа (кабинет Ozon → «Настройки» → «API-ключи» → «Сгенерировать ключ») отметьте роли:
| Роль в кабинете Ozon | Нужна? | Для чего в 2SKLAD |
|---|---|---|
| Posting FBS | обязательно | загрузка заданий, статус отправления, «Подтвердить в Ozon», транспортный стикер, «Разделить», «Куда сдавать», коды «Честный Знак» |
| Warehouse | обязательно | склады продавца |
| Product | нужна | фото и штрихкоды OZN… товара на сборке, импорт товаров по API |
| Description Category | желательно | названия характеристик при импорте товаров (без неё — номера) |
| Company | желательно | название магазина у ключа (без неё — ваша подпись) |
Именно Posting FBS, а не «Posting FBS read-only»: подтверждение сборки меняет статус отправления. Остальные роли 2SKLAD не нужны — в том числе Stocks (остатки): 2SKLAD остатки на Ozon не меняет, и без этой роли ключ не сможет этого сделать ни при каких условиях.
«Проверить связь» сверяет права ключа с этим списком и называет, какой роли не хватает и что без неё не будет работать.
Проверка ключа
После ввода нажмите «Проверить связь» — система обращается к площадке по-настоящему и говорит не только, принят ли ключ, но и хватает ли ему прав. У Ozon она спрашивает у площадки список разрешённых ключу методов. У Wildberries — смотрит в сам ключ (отмечен ли он «Только на чтение», не тестовый ли, когда истекает), делает безвредную пробную запись (код маркировки несуществующему заказу — изменить нечего; ключ без права записи WB не пустит) и проверяет доступ к категории «Контент». Под ключом появляется итог:
- «связь есть, права в порядке» — всё готово;
- красным — ключ для сборки не годится (например, нет доступа к отправлениям FBS, ключ WB «только на чтение» — задания загрузятся, но подтвердить их, закрепить коды «Честный Знак» и передать поставку не получится, или срок ключа истёк): выпустите новый с нужными правами;
- жёлтым — сборка работает, но чего-то не хватает: у WB нет «Контента» — стикер товара без названия; у Ozon не отмечена роль — в замечании сказано, какая и что без неё не работает (например, «названия характеристик при импорте товаров — роль «Description Category»»); ключ скоро истекает. Ключ хранится зашифрованным: ни в интерфейсе, ни в ответах сервера он открытым текстом не показывается.
Скриншот: карточка клиента, вкладка «Ключи МП» с проверенным ключом Ozon.
Несколько ключей у клиента
У клиента может быть несколько кабинетов одной площадки — у каждого свой ключ. FBS-задание запоминает ключ, которым загружено: подтверждение, стикеры, коды «Честный Знак» и передача в доставку идут этим же ключом. Заказы разных ключей не смешиваются — перенос заказов второго ключа создаёт отдельное задание.
На карточке FBS-задания видно, каким ключом оно работает («Ключ API: …»), в списке заданий — под именем клиента. Пока по заданию в площадке ничего не подтверждено, ключ можно сменить прямо на карточке (например, у заданий, созданных до этой версии, где ключ не записан). Ключ задания выключили или удалили — действия по заданию остановятся с понятным текстом, другим ключом система молча работать не станет.
Код «Честный Знак» у заказов Ozon: когда нужен
Ozon сам сообщает, у каких товаров отправления нужен код «Честный Знак» — 2SKLAD берёт это при загрузке заданий. Дальше два случая:
- Ozon требует код — код сканируется на сборке и передаётся в Ozon до подтверждения отправления (как раньше).
- Ozon код не просит, но на карточке товара стоит флажок «Честный Знак» — код тоже сканируется на сборке, со всеми обычными проверками, и хранится для отчёта: он попадает в выгрузку «Скачать в Excel» (список отправлений). В Ozon такой код не передаётся.
Отдельной настройки для этого больше нет (прежний выбор «нужен, если его требует Ozon или флажок на карточке» убран в 2.130.0). Действует на новые загрузки заданий. У Wildberries код нужен, как и раньше, по флажку на карточке товара. Как проходит сборка маркированного отправления Ozon — статья «Сборка FBS», раздел «Честный Знак у Ozon».
Проверка кода «Честный Знак» при скане
Код «Честный Знак» проверяется до того, как попадёт в заказ: при скане на сборке и при замене кода в карточке FBS-задания. Не прошёл — код не записывается и не уходит в площадку, упаковщик видит причину красной строкой под полем скана и сканирует другой код. Так ошибка ловится, пока товар в руках, а не в конце сборки, когда площадка отказала.
Проверок три, каждая выключается галочкой в Настройки склада → FBS → «Проверка кода «Честный Знак» при скане» (по умолчанию все включены):
- Устройство кода — код начинается с 01, 14 цифр GTIN и 21, затем серийный номер и код проверки (91 и 92 или 93), только латиница. Ловит обычный штрихкод вместо DataMatrix, обрезанный скан (сканер не передал разделитель GS) и русскую раскладку.
- Код от этого товара — GTIN из кода сверяется со штрихкодами товара в 2SKLAD. Совпал любой штрихкод товара — код принят. Штрихкоды, начинающиеся с «2» (штрихкоды Wildberries, внутренние складские, технические GTIN «Честного знака» 29…), для отказа не в счёт: если у товара нет штрихкода производителя или в коде технический GTIN «Честного знака», которого нет в карточке, проверка пропускается. Короткие коды (масла, вода, БАД — с кодом проверки 93) проверяются так же. Отказ по ней при верном коде значит, что в карточке товара не хватает штрихкода, — добавьте его в карточку.
- Статус в «Честном знаке» — работает, только если подключена служба «2SKLAD Print» с ЭЦП (ниже). Код не в обороте (не введён, продан, списан, выбыл) не принимается: площадка его всё равно не возьмёт. Не ответил «Честный знак» — сборка не держится.
«Честный знак»: статус и владелец кода на сборке
Когда упаковщик сканирует код «Честный Знак», 2SKLAD может спросить сам «Честный знак»: в каком статусе код и кому он принадлежит — и сверить владельца с ИНН клиента. Код не в обороте не принимается (проверка «Статус в «Честном знаке»» выше). Чужой владелец — только предупреждение: под полем скана появляется строка — зелёная («в обороте · владелец — клиент ✓») или жёлтая («владелец … — НЕ клиент»). То же видно в панели «Честный Знак» у каждого отправления.
Для этого нужна ЭЦП склада (УКЭП): «Честный знак» пускает к данным только по подписи. Ключ ЭЦП остаётся на одном компьютере — подписывает служба «2SKLAD Print» на нём, а в 2SKLAD уходит только временный токен (живёт 10 часов, служба обновляет его раз в 8 часов). Остальным компьютерам ЭЦП не нужна.
Как настроить:
- На компьютере с ЭЦП установите КриптоПро CSP и утилиту cryptcp; установите контейнер ключа (папка из 6 файлов) и сертификат: «КриптоПро CSP → Сервис → Установить личный сертификат».
- Там же установите службу «2SKLAD Print» (Настройки склада → Печать → «Принтеры: прямая печать» → скачать).
- В 2SKLAD: Настройки склада → FBS → «Честный знак»: проверка кодов → «Выпустить ключ службы». Ключ показывается один раз.
- В окне службы, раздел «Честный знак», укажите адрес 2SKLAD и ключ службы, выберите сертификат (и PIN, если он есть у ключа), нажмите «Сохранить» и «Получить токен сейчас».
- В карточке «Честный знак» в 2SKLAD должно появиться «токен действует до …». Не получается — в окне службы, раздел «Честный знак», «Диагностика ключа», по шагам: «1. КриптоПро и контейнеры» (установлен ли КриптоПро CSP и видит ли он контейнер ключа), «2. Сертификаты» (установлен ли сертификат и есть ли у него закрытый ключ), «3. Пробная подпись», «4. Связь с «Честным знаком»». Каждая проверка пишет, что не так и что сделать; текст можно выделить и прислать в поддержку. Отдельно скачанному cryptcp нужен установленный КриптоПро CSP — сам по себе он не подписывает. Там же можно проверить любой код вручную: отсканировать и выбрать клиента для сверки.
У клиента в карточке должен быть указан ИНН — без него сверять не с чем. Если компьютер с ЭЦП выключен дольше 10 часов, токен истекает: сборка идёт как обычно, только без сведений «Честного знака», до следующего включения компьютера.
Какие склады клиента мы собираем
У клиента на Ozon и Wildberries бывает несколько складов — в том числе фулфилменты в других городах, а мы собираем заказы только определённых. Закрепите за ключом нужные склады:
- Карточка клиента → «Ключи МП» (окно «Ключи API маркетплейсов») → у нужного ключа кнопка «Склады».
- Нажмите «Запросить у площадки» — система получит список складов клиента (у Ozon — склады FBS и rFBS, у Wildberries — склады продавца).
- Отметьте только те склады, заказы которых собираем мы, и нажмите «Сохранить».
Склады, которые площадка отдаёт со статусом «не работает» (Ozon: disabled, blocked, лимит, ошибка), показываются серыми и неактивными — отметить их нельзя.
Дальше «Загрузить задания» показывает заказы только отмеченных складов; под заголовком экрана написано, сколько заказов других складов не показано и каких (чтобы не гадать, куда они делись). Ничего не отмечено — берутся заказы всех складов клиента, как раньше. Если у клиента появился новый склад, нажмите «Запросить у площадки» ещё раз: отметки прежних складов сохранятся, новый придёт неотмеченным; склад, которого площадка больше не отдаёт, помечается. Заказ, у которого площадка не указала склад, при включённом фильтре считается чужим.
Пункт отгрузки Wildberries
Wildberries просит указывать у поставки способ доставки, дату и пункт отгрузки (сортировочный центр, склад WB или ПВЗ, куда склад отвозит поставку). В документации WB сказано, что без них поставку в доставку не передать; на деле WB пока принимает поставки и без них, но лучше выбрать заранее. Выберите их один раз у ключа клиента:
- Карточка клиента → «Ключи МП» → у ключа Wildberries кнопка «Пункт отгрузки».
- Способ доставки: самовывоз — везём сами или транспортная компания.
- Впишите населённый пункт, выберите тип товара (малогабаритный, сверхгабаритный, крупногабаритный — не каждый пункт принимает любой) и нажмите «Найти пункты» — список придёт от Wildberries.
- У нужного пункта — «Выбрать», затем «Сохранить». Под ключом появится «отгрузка: …».
Каждая поставка клиента берёт этот выбор; дата — день, когда поставку передают в доставку. На экране сборки и на карточке задания выбор можно поменять для конкретной поставки («Параметры отгрузки»). При доставке транспортной компанией Wildberries требует ещё ID ЭТрН — электронной транспортной накладной; его вписывают в «Параметрах отгрузки» поставки.
Зона «Упаковка» и зона «Отгрузка»
В разделе Справочники → Зоны и типы мест заведите зону с типом «Упаковка» (как обычную адресуемую зону, не буфер) — сюда кладовщик свозит товар из мест хранения перед сборкой заказа. Без такой зоны раздел «Сборка FBS» не даст выбрать место назначения для задания на перемещение.
Столы, за которыми упаковщики собирают заказы, заводятся кнопкой «+ Место упаковки» в «Настройках → Конструктор склада» — по одному клику на стол, без секций и ярусов, коды STOL-1, STOL-2… (подробно — статья «Конструктор склада и грузоподъёмность»). Новые столы попадают в зону «Упаковка» сами, если она уже заведена.
После сборки FBS-задание едет ещё раз — в зону с типом «Отгрузка»: ту же самую, что уже есть в справочнике для обычной отгрузки — заводить отдельную зону не нужно, если она уже есть, достаточно, чтобы в ней было хотя бы одно активное место. Здесь она служит промежуточной площадкой: собранная партия ждёт в ней, прежде чем на неё заведут настоящий отгрузочный документ на площадку. Если зоны с типом «Отгрузка» пока нет вовсе — заведите её так же, через «Зоны и типы мест».
Роль «Упаковщик»
Сканирует и стикерует заказы обычно не тот же человек, что заводит задания и работает с деньгами. Роль «Упаковщик» уже есть в списке встроенных ролей (рядом с «Оператором» и «Кладовщиком») — заводить её не нужно, только назначить сотруднику в разделе Пользователи. Прав у неё ровно столько, сколько нужно для сборки: просмотр и работа в разделе «Сборка FBS» — без права загружать задания с площадки, создавать перемещения или отгрузки. Если нужны другие права — скопируйте её как основу в редакторе «Роли и разрешения» (кнопка «Взять за основу: Упаковщик») и донастройте отдельной ролью, не трогая встроенную.
Упаковщик, стол и время начала сборки в FBS-задании определяются сами, по факту первого скана — назначать их заранее не нужно.
Флаг «Честный Знак»
В карточке товара, который подлежит обязательной маркировке «Честный Знак», поставьте галочку «Честный Знак» (у нового товара она снята). При сборке такого товара система обязательно потребует отсканировать код маркировки — без него заказ не закрыть.
Там же, в карточке товара, поле «Состав» — печатается на стикере, который клеится на товар при сборке (вместе с наименованием и штрихкодом).
Срок годности для Wildberries
Если Wildberries просит у заказа срок годности товара, в карточке товара поставьте галочку «Срок годности» и впишите срок в днях — например, 365. Дальше всё само:
- после «Подтвердить в WB» 2SKLAD передаёт в Wildberries дату «годен до» = сегодняшняя дата + срок в днях — отдельно по каждому заказу с этим товаром;
- перед «Передать в доставку» 2SKLAD досылает срок тем заказам, которым он ещё не ушёл (например, галочку поставили уже после подтверждения).
Важно знать:
- Wildberries принимает дату не ближе 30 дней от сегодняшней. Срок меньше 30 дней площадка не примет — 2SKLAD покажет её отказ;
- уже переданный срок 2SKLAD не меняет, а удалить его у заказа Wildberries не даёт;
- если Wildberries требует срок у заказа, а он не передан, поставку в доставку 2SKLAD не сдаст и напишет, чего не хватает. Поправьте карточку товара и нажмите «Передать в доставку» ещё раз — срок дошлётся сам.
На карточке FBS-задания Wildberries в таблице отправлений есть столбец «Срок годности в WB»: дата «до …», отказ площадки или «WB требует — не передан». У Ozon срок годности 2SKLAD пока не передаёт.
Сопоставление товара Ozon
Штрихкода в задании на сборку Ozon не передаёт вообще — только внутренний SKU и ваш артикул, который вы сами вписали при заведении товара на Ozon. Поэтому сопоставление с карточкой товара 2SKLAD идёт через доп. поле товара: заведите поле (раздел «Доп. поля», сущность «товар»), впишите в него у каждого товара SKU Ozon и укажите это поле в Настройках склада → «FBS» → «Поле с SKU Ozon по умолчанию». Настройка задаётся один раз: экран «Сборка FBS» → «Загрузить задания» больше не предлагает выбрать поле — если оно не настроено, экран прямо об этом сообщает и ведёт в настройки. Для Wildberries ничего заводить не нужно: там сопоставление идёт по штрихкоду, он в задании есть.
Стикер площадки: у обеих площадок — после подтверждения
И Ozon, и Wildberries отдают стикер только после подтверждения заказа. У Wildberries подтверждение — это включение заказов в поставку: кнопка «Подтвердить в WB» на карточке FBS-задания (или на воротах экрана сборки) создаёт поставку «2SKLAD <номер задания>», добавляет в неё заказы и сразу запрашивает стикеры (PNG); дальше сборка просто печатает уже полученное. Поставка WB не принимает заказы разных складов продавца — поэтому в одном FBS-задании заказы одного склада, склад выбирают при загрузке. Обратно из поставки заказ самим не вынуть.
Если ключ клиента к моменту сборки отозвали или он истёк — уже полученные стикеры это не портит (они хранятся в базе, площадку заново не спрашивают). Пострадают только НОВЫЕ заказы, загруженные после отзыва ключа: их чек-лист покажет красным с текстом ошибки площадки.
Для Ozon так не получится в принципе: площадка отдаёт транспортную этикетку отправления только начиная со статуса «Ожидает отгрузки» — то есть уже после того, как отправление подтверждено ей явно. Подтверждение происходит не молча и не сразу для всех: на шаге «Загрузить задания» оператор видит таблицу «Отправления Ozon» (склад площадки, состав, остаток) и сам решает, какие отправления отметить и подтвердить кнопкой «Подтвердить выбранные в Ozon» — до 2.89.0 сервер подтверждал в Ozon любое загруженное отправление автоматически, без разбора склада и остатка, что не годилось складам, обслуживающим только часть складов Ozon клиента.
С 2.89.5 подтверждение стало обязательным условием начала сборки: экран сборки не даёт отсканировать Ozon-товар и не пытается получить этикетку, пока отправление не подтверждено, — сразу понятная подсказка на экране. То, что не подтвердили на шаге загрузки, нужно подтвердить кнопкой «Подтвердить в Ozon» на карточке FBS-задания, прежде чем приступать к сборке этого отправления. Панель «Передать площадке» на экране сборки осталась подстраховкой на случай, если отправление всё же оказалось собрано без подтверждения (например, данные с более старой версии) — штатно такое больше не возникает.
Сама этикетка, которую Ozon отдаёт по подтверждённому отправлению, — не одна картинка, а готовый документ из ДВУХ страниц: QR-код отправления и отдельно штрихкод Code 128 (с 2.89.5 — единственный стикер товара для Ozon, отдельного «Стикера 2» больше нет). 2SKLAD разбирает документ на две части и на сборке печатает и сверяет их по отдельности — сначала Code 128, потом QR (статья «Сборка FBS» раздела «Оператору», шаг 3, «Ozon — четыре шага вместо двух, и ОБЯЗАТЕЛЬНО подтверждение заранее»).
Старый и новый стикер Ozon
Ozon переходит на новый транспортный стикер: одна страница, два одинаковых QR-кода, под ними крупно код вида ii5004415 8730 и мелко пункт приёма. Такой стикер отдаёт кабинет продавца. Старый — QR с длинным номером (иногда вместе со страницей стикера товара). Пока Ozon отдаёт оба, выберите в Настройках склада → «FBS» → «Транспортный стикер Ozon на сборке»:
- Только старый — как было раньше.
- Старый и новый — по очереди (по умолчанию) — на сборке печатается старый, сразу за ним новый; скан QR любого из них засчитывается. Если один из двух Ozon не отдал, печатается второй, а причина видна под полем скана. Если Ozon на «новый» запрос отдал тот же старый стикер (бывает: новый образец выдаётся не всем отправлениям), второй раз он не печатается.
- Только новый — когда Ozon перестанет отдавать старый.
Настройка действует сразу: на следующем скане недостающий стикер запросится у Ozon сам.
Принтер сборки
В Настройках склада — отдельное поле «Принтер для сборки FBS» (обычно это другой физический принтер у места упаковки, не тот, что для обычных стикеров мест и товаров) и кнопка «Тестовая печать» — проверить принтер и размер стикера, не дожидаясь реальной сборки.
Печатает всё это браузер, как и любую другую этикетку в системе: 2SKLAD не генерирует ZPL сам, растеризацией занимается драйвер принтера, установленный на компьютере кладовщика. Как поставить ZPL-драйвер, добавить принтер в Windows и указать его в 2SKLAD — статья «Печать стикеров» этого раздела, пункт «Термопринтер с ZPL-драйвером».
Частые вопросы
«Проверить связь» отвечает ошибкой, хотя ключ верный. Скопируйте ключ ещё раз — лишний пробел в начале или конце строки площадка не примет. Для Ozon проверьте, что Client-Id и Api-Key от одного и того же кабинета продавца.
У клиента несколько магазинов на одной площадке. Заведите отдельный ключ на каждый — при загрузке заданий оператор выбирает нужный ключ из списка.
Раздел «Сборка FBS» не даёт выбрать место назначения. Проверьте, что зона с типом «Упаковка» заведена и в ней есть хотя бы одно активное место.
Не получены стикеры у части заказов Wildberries после «Подтвердить в WB». Текст ошибки — ответ площадки на запрос конкретного стикера: чаще всего дело в ключе (истёк, отозван) или во временном сбое площадки. Нажмите «Повторить» у неудачной строки (или подтвердите ещё раз); если ошибка повторяется у всех заказов клиента — проверьте ключ («Проверить связь» в карточке клиента).