Chrome-расширение для сбора маркировок заказов Avito
GitHub: https://github.com/vbel254/order-labels-collector
Неофициальный инструмент (не аффилирован с Авито) для продавцов на Avito: собирает заказы со статусом «Отправьте заказ», подтягивает номера отправлений и готовит карточки со штрихкодами/QR для печати.
По состоянию на начало 2026 года в публичном контуре API Авито для частных аккаунтов нет удобного сценария работы с заказами; методы, связанные с заказами, ориентированы на бизнес-аккаунты (ИП/ООО).
Расширение создано для упрощения ручной операционной задачи: при массовых отправках не открывать каждый заказ вручную, чтобы смотреть коды по одному.
Подойдет для тех, кто отправляет каждый день большое количество заказов.
Что умеет
- Сканирует текущую страницу
https://www.avito.ru/orders*и собирает заказы со статусом «Отправьте заказ». - Показывает результаты в popup: товар, служба доставки, номер отправления, код для маркировки.
- Открывает отдельную страницу печати (
print.html) и позволяет сделатьСкачать PDF / Печать. - Сохраняет последние результаты локально в
chrome.storage.local. - Показывает на иконке расширения badge с количеством собранных этикеток.
Поддерживаемые службы доставки
Сейчас в интерфейсе и сортировке поддерживаются:
- Авито
- Яндекс Доставка
- Почта России
- DPD
- СДЭК
- 5Post
Как это работает (коротко)
- Нажимаете кнопку сбора в popup.
content.jsчитает заказы на странице списка.background.jsпытается получить недостающие номера отправлений:- сначала через
fetchHTML страницы заказа (с вашими cookie-сессиями Avito), - если не получилось, открывает отдельное окно и временные вкладки заказов, чтобы считать номер из DOM.
- сначала через
- После обработки сохраняет результат в локальное хранилище расширения.
- На странице печати строятся коды:
- Code128 для обычных служб,
- QR для 5Post.
Пример использования
- Откройте страницу заказов Avito:
https://www.avito.ru/orders. - Убедитесь, что на странице есть заказы со статусом «Отправьте заказ».
- Если заказов много, прокрутите страницу вниз, чтобы Avito динамически подгрузил все карточки заказов. Запускайте сбор только после полной подгрузки списка.
- Нажмите иконку расширения.
- Нажмите «Собрать этикетки».
- Дождитесь завершения обработки (иногда расширение откроет отдельное окно и несколько вкладок для сбора номеров).
- После завершения сбора popup может автоматически закрыться (ограничение формата popup в браузере при длительной фоновой обработке). Чтобы увидеть результаты или перейти к печати, просто снова нажмите на значок расширения.
- Нажмите «Открыть для печати» и затем «Скачать PDF / Печать».
Важно
- Инструмент предназначен только для личного использования.
- Инструмент не является официальным продуктом Авито и не аффилирован с Авито.
- Для 5Post номер отправления всегда добирается со страницы конкретного заказа.
- Для Авито номер отправления добирается со страницы заказа, если его нет или он некорректный в списке.
- Для неизвестных служб расширение показывает карточку, но выводит, что маркировка пока не реализована.
Установка (для неразработчика)
Расширение пока устанавливается как локальное (unpacked) в Chromium-браузеры (Chrome/Edge/Яндекс Браузер и т.д.).
- Скачайте проект:
- на GitHub нажмите Code -> Download ZIP,
- распакуйте архив в удобную папку.
- Откройте страницу расширений:
- Chrome:
chrome://extensions - Edge:
edge://extensions - Яндекс Браузер:
browser://extensions
- Chrome:
- Включите Режим разработчика (Developer mode).
- Нажмите Загрузить распакованное расширение (Load unpacked).
- Выберите папку проекта, где лежит
manifest.json. - Закрепите расширение на панели браузера для быстрого доступа.
Ограничения и важные нюансы
- Расширение работает только на Avito и ожидает страницу формата
.../orders. - Логика парсинга привязана к текущей DOM-структуре Avito; после изменений вёрстки сайта может потребоваться обновление.
- Для части заказов расширение может временно переключать фокус на отдельное окно во время добора номеров отправлений.
- Если номер отправления не найден, в карточке будет показан соответствующий статус вместо кода.
Безопасность и приватность
- В проекте нет встроенных API-ключей, токенов или паролей.
- Данные заказов хранятся локально в
chrome.storage.localна вашем браузере. - Отправка данных на сторонние серверы проектом не реализована; сетевые запросы выполняются к страницам Avito для чтения данных заказа.
Структура проекта
manifest.json— манифест расширения (MV3), разрешения, подключение скриптов.popup.html,popup.js— UI popup и управление сбором.content.js— сбор заказов со страницы списка заказов.background.js— фоновая обработка добора номеров отправлений.print.html,print.js— страница печати собранных этикеток.vendor/— локальные генераторы штрихкода и QR.
Лицензия
Проект распространяется по лицензии MIT. См. файл LICENSE.
Для vendor/code128.js (основано на JsBarcode) текст MIT-лицензии лежит в vendor/JsBarcode.LICENSE.txt.
Автотесты
- Тесты лежат в папке
tests/и запускаются локально через Node.js:npm test
- Файлы тестов и
package.jsonне подключаются вmanifest.json, поэтому не участвуют в работе расширения в браузере. - Расширение можно устанавливать в Chrome вместе с этими файлами: конфликтов с загрузкой
Load unpackedбыть не должно.