Постановка задачи
Компания, торгующая новыми и б\у запчастями для грузовиков, запросила создание отдельного модуля для работы с выкладкой запчастей в Авито. Стояла задача настроить автоматизированную систему выкладки запчастей с рабочим местом, где возможно управление настройками выкладки. Техническое задание должно было учитывать следующие аспекты
- Особенность сервиса Авито в том, что не смотря на усложняющиеся алгоритмы подбора объявлений на запросы пользователей, по-прежнему время размещения объявлений играет важную роль в том насколько высоко будет размещено в итогах поиска это объявление. Поэтому, нужна была система, способная не просто выложить все тысячи запчастей разом, а выкладывать порциями. В течении месяца, каждый день, определенное количество объявлений всегда будет выше в итогах поиска, т.к. они выложены недавно. И даже в течении дня делать 3-5-8 выкладок. т.е. необходима была система способная рассчитывать нужное количество.
- Так же нужно было обеспечить равномерное распределение запчастей по маркам и наименованиям, компания не хотела разом выкладывать, например все двигатели или все запчасти на MAN TGA, необходимо равномерное распределение и выкладывание в течении месяца.
- Новые запчасти должны были выкладываться по одной штуке т.к. они одинаковые, а вот б\у требовалось выкладывать по некоторым наименованиям все что есть в наличии а некоторые так же как и новые по одной.
- Требовалось собирать во внутреннюю базу данных аналитику по посещаемости объявления, чата в разрезе объявлений с привязкой к конкретным карточкам товара, затем выгружать эти данные в аналитическую систему компании.
- Система должна была постить объявления в разные аккаунты одной и той же компании, как перекрестно т.е. в аккаунт компании заказчика на Авито в Москве должны были размещаться объявления с товарами не только с московского склада, но и со склада Санкт-Петербурга. В аккаунт Авито заказчика в Краснодаре размещать только запчасти, которые есть в наличии на складе в Краснодаре и больше никаких других.
- Размещение одной и той же запчасти по правилам Авито невозможно с одним и тем же набором фотографий, но ни одна компания не будет делать 10-20-30 наборов фотографий для одного и того же товара, что-бы постить объявления в разных аккаунтах. Нужно было обойти это ограничение.
- Поскольку Авито переводит своих клиентов, имеющих магазины на этой платформе на формат работы, когда оплата происходит за клик, тем самым предлагая выкладывать не часть ассортимента, а весь ассортимент компании, т.к. оплата за размещение очень небольшая. Соответственно для компаний, ассортимент которых тысячи и десятки тысяч позиций, выкладка руками становится невозможной, а если выкладывать только часть ассортимента, то такие компании проигрывают конкурентную борьбу на площадке Авито.
- Выкладывать требовалось как реальный товар на складах так и объявление без конкретного товара, общего характера, услуги или с товаром под заказ.
Ход работы
Первый шаг — анализ и проектирование
Для анализа особенностей наши специалисты
- Изучили описание API Авито
- Провели тестирование работы API Авито, выяснились несоответствия описания и реальной работы, пришлось консультироваться у службы поддержки
- Определили список полей с информацией о товаре, доступных для выгрузки из 1С
- Запланировали список новых сущностей в системе 1С для фиксации и отображения информации необходимой для работы новой подсистемы
- Определили архитектуру работы с картинками товара и доступа к ним извне внутренней сети компании
- Места хранения файла выгрузки и механизма его обновления
Этап анализа и подготовки занял три недели.
Второй шаг — разработка и тестирование
После сбора всех требований и изучению процесса работы Авито, мы начали реализовывать систему.
- DEVOPS специалистами были подготовлены сервера для хранения файла выгрузки и картинок для товара, обеспечен безопасный доступ извне внутренней сети компании
- Была создана отдельная сущность в 1С «Объявление Авито» после успешной выкладки на Авито, ему присваивается ID Авито.
- Затем реализовали документы «Расписание постинга», в разрезе каждого аккаунта мы создаем расписание на месяц вперед, где указываем сколько и когда надо выложить объявлений, расписание можно скопировать из прошлого месяца и затем поправить для будущего
- Система формирует заголовок и текст объявления из данных о товаре, которые есть в системе 1С
- Реализована система мониторинга, если товар с этими фото уже выложен в одном из аккаунтов компании, что-бы избежать бана за одинаковые фото, автоматически применяется набор изменений фото для обхода этой системы
- Реализована система «спиннеров» (заменителей одинаковых слов) и шаблонов объявлений, для наибольшей вариативности описания деталей во избежание бана за одинаковые объявления
- Созданы фильтры, где можно добавить конкретный товар, категорию товара, наименование товара в список не публикуемых в рекламу, по таким товара не будут создаваться объявления.
- Создано рабочее место для управления системой, очередью постинга и настройками
На этап реализации ушло 4 недели.
Третий шаг — внедрение и обучение
При внедрении системы в компании совместно с клиентом был выработан еще ряд доработок и уточнений, которые стали отдельным дополнением к основному проекту и были выполнены позже. Мы написали инструкцию и вместе с сотрудниками компании провели демонстрацию работы продукта и обучение сотрудников.
На этапе тестирования была обнаружена одна очень неприятная особенность работы сервисов Авито, разбор поступающего файла с объявлениями происходит нестабильно. Например, мы хотим, что-бы порция объявлений, была выложена в 13:00 часов по московскому времени, в определенном аккаунте. Однако в силу нестабильности работы внутренних механизмов Авито, не смотря на то, что мы выкладываем файл вовремя, например в 12:00, система Авито, «добирается» до файла позже чем запланировано, из-за каких-то внутренних сбоев, т.е. объявления могут появиться на сайте Авито и вечером и даже ночью, а это падение просмотров. Мы ввели в систему настраиваемый параметр, который позволил сделать так, что объявление должно появиться в файле не позднее чем за Х часов до запланированного времени публикации, указанного в файле выгрузки. Таким образом удалось сделать так, что почти 100% объявлений публикуются именно в запланированное время, это существенно влияет на просмотры и впоследствии на продажи.
Демонстрация и обучение, разумеется, проводились удаленно. Этот этап занял 4 дня.

На написание всей системы с тестированием и отладкой ушло 8 недель.
Результаты
По словам клиента запущенная система дала следующие преимущества
- Экономия трудозатрат: на контроль работы системы уходит минимальные трудозатраты, достигнута существенная экономия на персонале, который не пришлось нанимать дополнительно.
- Скорость работы: товар будучи принятым в базу данных клиента попадает на Авито автоматически за считаные часы.
- Контроль: в рабочем месте в 1С сотрудник клиента может контролировать корректность работы системы, количество выгружаемых объявлений, ошибки и проблемы, номенклатуру выкладываемого товара.
- Доступность данных: вся информация стекается в аналитическую систему клиента, обо всех сбоях работы системы и статистике по каждому объявлению. Аналитика удобно агрегирует в разрезе товара, если один и тот же товар рекламируется в разных аккаунтах, то мы видим полную картину.
- Увеличение контактов и выручки: количество контактов по каналу Авито выросло на 25% и на момент завершения создания системы продолжало расти. Выручка увеличилась на 15%, это очень существенные цифры для компании заказчика.
