Інтеграція 1С-Бітрікс з Avito
Avito — не класичний маркетплейс, а дошка оголошень з елементами маркетплейса. Це визначає специфіку інтеграції: товари завантажуються як оголошення через XML-фід (Avito Autoload), управління — через особистий кабінет або Avito API. Основна складність — кожна категорія Avito має собственный набір полів та правила модерації, відмінні від будь-якого іншого маркетплейса.
Два канали інтеграції
1. Avito Autoload (XML-фід). Основний спосіб масової завантаження. Продавець розміщує XML-файл на своєму сервері, вказує URL в налаштуваннях Avito: Професіональні інструменти → Автозавантаження. Avito парсить фід за розписанням (кожні кілька годин).
2. Avito API (https://api.avito.ru/). REST API для управління оголошеннями, статистикою, повідомленнями. Авторизація — OAuth 2.0 (client_id + client_secret → access_token).
Для інтеграції з 1С-Бітрікс зазвичай використовується комбінація: фід для завантаження каталогу + API для моніторингу статусів та автоматизації.
Формат фіду Avito Autoload
XML-фід Avito має собственую схему, несумісну з YML:
<Ads formatVersion="3" target="Avito.ru">
<Ad>
<Id>унікальний_id</Id>
<Category>Побутова електроніка</Category>
<AdType>Товар придбаний на продаж</AdType>
<Title>Смартфон Samsung Galaxy S24</Title>
<Description>Текст опису</Description>
<Price>79990</Price>
<Images>
<Image url="https://site.ru/photo1.jpg"/>
<Image url="https://site.ru/photo2.jpg"/>
</Images>
<Address>Москва, вул. Прикладна, 1</Address>
<ContactMethod>По телефону та в повідомленнях</ContactMethod>
<!-- Поля, специфічні для категорії -->
<GoodsType>Телефони</GoodsType>
<Brand>Samsung</Brand>
<Model>Galaxy S24</Model>
</Ad>
</Ads>
Категорійні поля — головна складність. Для категорії «Побутова електроніка» потрібні GoodsType, Brand, Model. Для «Одягу» — Size, Gender, ClothingType. Для «Автозапчастин» — OEMPartNumber, Brand, PartType. Повний список категорій та полів — в документації Avito Autoload.
Генерація фіду з інфоблоку Бітрікс
Стандартного профіля експорту для Avito у Бітрікс немає. Реалізація:
Спеціальний PHP-скрипт — файл /local/avito_feed.php, який викликається по cron або доступний за URL. Логіка:
- Отримати елементи інфоблоку через
CIBlockElement::GetList()з фільтром за активністю та наявністю. - Для кожного елемента — визначити категорію Avito. Зіставлення зберігається в окремій властивості елемента (
PROPERTY_AVITO_CATEGORY) або в таблиці відповідностей розділ інфоблоку → категорія Avito. - Залежно від категорії — сформувати набір специфічних тегів.
- Зібрати XML і записати в файл.
Зіставлення полів:
| Тег Avito | Поле Бітрікс | Примітка |
|---|---|---|
<Id> |
ID елемента або артикул |
Повинен бути стабільним — смена ID = нове оголошення |
<Title> |
NAME |
До 50 символів для більшості категорій |
<Description> |
DETAIL_TEXT |
До 7500 символів, обмежений HTML |
<Price> |
Ціна каталогу | Ціле число, рублі |
<Images> |
DETAIL_PICTURE + множественна властивість |
До 10 фото, мінімум 400×300 |
<Address> |
Фіксований або з властивості | Повинен збігатися з адресою в кабінеті Avito |
Проблема з <Id>. Avito ідентифікує оголошення за <Id>. Якщо ID змінитися (наприклад, при переіндексації каталогу в Бітрікс) — Avito створить нове оголошення, а старе видалить. Втрачаються виклики, статистика, рецензії. Використовуйте артикул або зовнішній код (XML_ID), а не числовий ID елемента.
Проблема з <Address>. Avito прив'язує оголошення до адреси. Адреса у фіді повинна точно збігатися з однією з адрес, указаних в профілі продавця. Розбіжність — причина відхилення оголошення.
Avito API: управління та автоматизація
API використовується для завдань, які фід не охоплює:
-
Отримання статистики оголошень.
GET /core/v1/items/{item_id}/stats— виклики, дзвінки, повідомлення. Дані можна зберігати в користувацьку властивість інфоблоку для аналізу ефективності. -
Управління оголошеннями.
PUT /core/v1/items/{item_id}— оновлення полів без перезавантаження фіду. -
Отримання повідомлень.
GET /messenger/v3/accounts/{user_id}/chats— автоматизація відповідей або пересилання в CRM Бітрікс24. - Активація/деактивація. Коли товар закінчується — деактивувати оголошення через API швидше, ніж чекати оновлення фіду.
Робота з торговими пропозиціями
Avito не підтримує варіанти товару в рамках одного оголошення. Кожен SKU (розмір, колір) — окреме оголошення. Для інтернет-магазину з розмірною сіткою це означає:
- Футболка S, M, L, XL — 4 оголошення у фіді.
- Кожне з унікальним
<Id>(наприклад,ARTICLE_SIZE). - Кожне з указанням розміру в назві або описі.
При генерації фіду потрібно обходити інфоблок торгових пропозицій і створювати окреме <Ad> для кожної пропозиції з ненульовим залишком. Це значно збільшує розмір фіду — для каталогу в 1000 товарів з 4 розмірами вийде 4000 оголошень.
Ліміти та модерація
Avito обмежує кількість оголошень: безплатний ліміт залежить від категорії (зазвичай 1–5 штук), далі — платні пакети оголошень. Для інтернет-магазинів — тариф «Для бізнесу» з збільшеними ліміти.
Модерація кожного оголошення — 1–24 години. Частози причини відхилення: дублі (однакові фото або опис), заборонені товари, невідповідність категорії, спамне описання.
Терміни інтеграції
| Сценарій | Термін |
|---|---|
| Простий фід, одна категорія, до 200 товарів | 3–5 днів |
| Кілька категорій, зіставлення полів, 1000+ товарів | 1–1.5 тижня |
| Повна інтеграція: фід + API + статистика + CRM | 1.5–2 тижня |







