Печатайте этикетки EAN-13 и Code128 для поставок
Генерация информационных этикеток со штрихкодами (EAN-13, Code128) для маркетплейсов. PDF для A4 и термопринтеров (58x40, 58x30).
Как агент работает
У этикетки обязательны только два параметра: название товара и значение штрихкода; формат по умолчанию ean13, доступны также code128 и ean8. Остальное необязательно и печатается, если передано: бренд, артикул, состав, страна производства, размер, цвет, знаки соответствия вроде EAC и РСТ и произвольные дополнительные поля, например телефон.
Размер выбирается под печать. Термоэтикетки: 58x40 мм как стандарт, 58x30 мм как компактный вариант, 40x30 мм как малый и 43x25 мм для ювелирных изделий, а при необходимости задаётся произвольный размер парой значений в миллиметрах. Для листовой печати есть пресеты A4: 70x37 мм сеткой 3x8 и 24 этикетками на лист, 52.5x29.7 мм сеткой 4x10 и 40 штуками, 70x42.3 мм по 21 штуке, 105x48 мм по 12 штук.
Товары можно не вбивать руками, а импортировать из маркетплейса. Для Wildberries маппинг идёт с title в название, vendorCode в артикул и баркодом из sizes[].skus[]. Для Ozon в запросе обязателен filter (минимум visibility ALL, иначе ответ 400), а страницы перебираются по last_id; затем батч-инфо принимает до тысячи идентификаторов за раз массивами product_id, offer_id или sku, откуда берутся name, offer_id и первый баркод.
Для поставок FBO генерируются информационные этикетки с SKU-баркодами самого маркетплейса (у Wildberries это barcode из карточки товара, у Ozon баркод из карточки), и пакетная генерация делает их разом. Стикеры заказов FBS не рисуются, а забираются готовыми файлами через API маркетплейса и при необходимости объединяются в один PDF.
Есть жёсткие запреты на стороне генерации: невалидный EAN-13 не выпускается, контрольная цифра никогда не хардкодится: передаются двенадцать цифр, тринадцатую считает библиотека python-barcode. Для Code128 допустимы буквы и символы, а не только цифры. Временные файлы живут в /tmp, готовый результат складывается в выходной каталог и отдаётся пользователю только после проверки, что файл сгенерирован без ошибок.
Примеры задач
Этикетки для поставки на Wildberries или Ozon
Агент сгенерирует информационные этикетки со штрихкодом, брендом, артикулом, составом и знаками соответствия: готовый PDF под требования маркетплейса.
Пакетная генерация из Excel
Список товаров в xlsx/csv превращается в PDF с нужным тиражом каждой этикетки: раскладка на А4 или лента для термопринтера.
Этикетки под термопринтер
Форматы 58×40, 58×30 и 40×30 мм печатаются один-в-один без масштабирования, и файл сразу отправляется на термопринтер.
Вопросы и ответы
Какие типы штрихкодов поддерживаются?
EAN-13, EAN-8 и Code128, стандартные для российских маркетплейсов. Код генерируется из вашего значения баркода, контрольная цифра проверяется.
Что нужно подготовить для пакетной генерации?
Таблицу товаров со значениями штрихкодов и полями этикетки: название, бренд, артикул, состав, страна, размер. Колонки могут называться как угодно: агент сопоставит их сам.
В каком виде я получу результат?
PDF-файл: сетка на листе А4 (например, раскладка 70×37) или постраничные термоэтикетки выбранного размера. Отдельный штрихкод можно получить и как PNG.
Генератор этикеток и штрихкодов (v1.0)
Параметры этикетки
| Параметр | Описание | Обязательный |
|---|---|---|
| name | Название товара | Да |
| barcode_value | Значение штрихкода | Да |
| barcode_format | ean13 / code128 / ean8 | Нет (ean13) |
| brand | Бренд | Нет |
| article | Артикул | Нет |
| composition | Состав | Нет |
| country | Страна производства | Нет |
| size | Размер | Нет |
| color | Цвет | Нет |
| marks | ["EAC", "РСТ"] | Нет |
| custom_fields | {"Телефон": "+7..."} | Нет |
Размеры этикеток
| Код | Размер | Применение |
|---|---|---|
| 58x40 | 58x40 мм | Стандартная термоэтикетка |
| 58x30 | 58x30 мм | Компактная термоэтикетка |
| 40x30 | 40x30 мм | Малая термоэтикетка |
| 43x25 | 43x25 мм | Ювелирная этикетка |
| (W, H) | Произвольный | tuple в мм |
A4 раскладки (preset)
| Пресет | Ячейка | Сетка | На листе |
|---|---|---|---|
| 70x37 | 70x37 мм | 3x8 | 24 |
| 52.5x29.7 | 52.5x29.7 мм | 4x10 | 40 |
| 70x42.3 | 70x42.3 мм | 3x7 | 21 |
| 105x48 | 105x48 мм | 2x6 | 12 |
Интеграция с маркетплейсами
Импорт товаров из WB
Маппинг: title → name, vendorCode → article, sizes[].skus[] → barcode.
Импорт товаров из Ozon
filter обязателен (минимум {"visibility": "ALL"}) иначе 400. Пагинация по last_id.
Затем батч-инфо (до 1000 id за раз):
Принимает любой из массивов: product_id[] | offer_id[] | sku[].
Маппинг: items[].name → name, items[].offer_id → article, items[].barcodes[0] → barcode_value.
FBO этикетки
У поставки FBO два вида этикеток, и делаются они по-разному.
Этикетка товара собирается через batch_generate() по штрихкоду из карточки:
- WB:
barcodeиз карточки товара (полеsizes[].skus[]) - Ozon:
barcodeиз карточки товара (см. секцию «Импорт товаров из Ozon» выше)
Файла этикетки товара по шаблону личного кабинета Ozon Seller API не отдаёт. Если просят оригинальную этикетку из кабинета, скажи прямо, что этикетка собрана по штрихкоду из карточки, а не скачана из кабинета, и не называй её оригиналом.
FBS стикеры
Стикеры заказов получаются через API маркетплейса (готовые файлы):
Скачай стикеры через коннектор. При необходимости объедини несколько PDF через pdf_builder.
Запреты
- Не генерируй невалидные EAN-13 (должно быть 12 цифр + контрольная, библиотека считает сама).
- Не хардкодь контрольную цифру EAN-13: передавай 12 цифр,
python-barcodeдобавит 13-ю. - Для Code128 допустимы буквы и символы.
Пути
| Что | Путь |
|---|---|
| Временные файлы | /tmp/ |
| Результат | $OUTPUT_ROOT/ |
Перед отдачей
- Убедись что файл сгенерирован без ошибок
- Файл лежит в
$OUTPUT_ROOT/, оттуда он уезжает пользователю файлом сам
Похожие навыки
Попробуйте этот навык
Зарегистрируйтесь и используйте навык «Генератор этикеток и штрихкодов» неделю на Pro без карты.