Этот сайт использует файлы cookie. Файлы cookie запоминают ваши действия и предпочтения для лучшего онлайн-опыта.
Кейсы Cheapmedia

Кейс: вывели отзывы с Авито на сайт Tilda через свой API без абонентской платы за сторонние сервисы

Создание сайтов
Разработка
Интеграции
Tilda
К нам обратился клиент. У него на Авито 110 отзывов и рейтинг 5.0. Все отзывы реальные, от живых покупателей.

Проблема: этот социальный капитал лежит на Авито. На сайте клиента в Tilda его никто не видит.

Запрос: вывести отзывы с Авито прямо на сайт. Чтобы обновлялись автоматически. Чтобы выглядело аккуратно.

Цель: перенести доверие с Авито на сайт

Когда человек заходит на лендинг, он не знает продавца. А 110 живых отзывов с пятёрками — это сильный аргумент.
Поэтому задача была не «нарисовать красиво», а вытащить реальные данные с Авито и показать их на сайте.

Какие варианты мы отмели сразу

Сначала разобрали простые пути и отказались от них:
  • Скриншоты отзывов — выглядят кустарно. Устаревают через месяц.
  • Копировать руками — каждый раз обновлять при новых отзывах. Долго.
  • Готовые виджеты-парсеры — платные. Часто ломаются после редизайна Авито.
Решили делать через официальный API Авито. Это сложнее в начале, но работает стабильно и автоматически.

Почему нельзя обращаться к API напрямую из Tilda

Авито использует OAuth-авторизацию. Для запроса данных нужен client_secret.
Если положить этот секрет в JavaScript на сайте — его увидит любой человек через консоль браузера. Это дыра в безопасности.
Поэтому схему построили через посредника:
  • На отдельном поддомене подняли свой PHP-скрипт.
  • Скрипт хранит секреты на сервере.
  • Скрипт сам ходит в Авито и отдаёт сайту готовый JSON.
  • Сайт на Tilda обращается только к нашему скрипту.
Схема выглядит так: Tilda → наш PHP API → Avito API

Шаг 1. Получили доступ к API Авито

Зашли в кабинет клиента на Авито. В разделе «Настройки → API» создали приложение. Получили client_id и client_secret.
Параллельно взяли user_id клиента — он есть в ссылке на профиль Авито.

Шаг 2. Подняли PHP-API на отдельном поддомене

Завели поддомен. Разместили два скрипта:
  • avito-reviews.php — отдаёт список отзывов с пагинацией.
  • avito-rating.php — отдаёт общий рейтинг и количество отзывов.
Секреты вынесли в отдельный файл config.php выше публичной папки. Из браузера к ним нет доступа.

Шаг 3. Сделали кэширование

Первая проблема всплыла сразу: Авито отвечает медленно. На первый запрос уходило 5–7 секунд. Это много.
Что сделали:
  • Токен авторизации кэшируем на 23 часа.
  • Список отзывов — на 5 минут.
  • Рейтинг — на 10 минут.
После кэширования виджет грузится за 0.1 секунды.

Шаг 4. Настроили CORS

Браузер блокирует запросы с одного домена на другой. Это защита.
Чтобы Tilda могла обращаться к нашему API, в скрипте прописали список разрешённых доменов клиента. Запросы с других сайтов скрипт не принимает.

Шаг 5. Сверстали виджет для Tilda

В Tilda добавили блок T123 (HTML-блок). Внутрь положили готовый код виджета.
Виджет состоит из:
  • Шапка с логотипом и заголовком «Отзывы с Авито».
  • Общий рейтинг: цифра, звёзды, количество отзывов.
  • Кнопка «Профиль на Авито» справа.
  • Сетка карточек отзывов: имя, дата, звёзды, текст, товар.
  • Кнопка «Показать ещё» для пагинации.
[СКРИН: финальный вид виджета на сайте]

С чем столкнулись по ходу работы

Проблема 1. Сообщение «Ошибка соединения» при первой загрузке. Первый запрос к Авито шёл долго. Пользователь видел ошибку до того, как приходил ответ. Решили кэшированием — теперь данные отдаются мгновенно.
Проблема 2. CORS блокировал запросы. Браузер не пускал Tilda на наш API. Прописали домен клиента в белый список — всё заработало.
Проблема 3. Дизайн виджета не вписывался в сайт. Сначала использовали стандартный зелёный цвет Авито. Заменили на фирменные цвета клиента: основной #9689ee, hover #689fe7. Скругления подогнали под стиль сайта — 5px.

Что получилось в итоге

  • Виджет грузится за 0.1 секунды.
  • Отзывы обновляются автоматически каждые 5 минут.
  • Все 110 отзывов клиента доступны на сайте.
  • Есть пагинация: грузим по 6 отзывов, чтобы страница не тормозила.
  • Есть кнопка перехода в профиль Авито.
  • Виджет адаптивный — нормально смотрится на мобилке.
[СКРИН: виджет на мобильном и десктопе]

Что это даёт клиенту

  • Посетитель сайта сразу видит реальные отзывы.
  • Рейтинг 5.0 и 110 отзывов работают на доверие.
  • Клиенту не нужно вручную обновлять отзывы — всё тянется с Авито.
  • Не платим за сторонние виджеты. Решение своё, работает столько, сколько работает API Авито.

Что дальше

Решение готово к масштабированию. По такой же схеме можно вывести отзывы Авито на любой сайт — не только Tilda. Главное, чтобы у клиента был доступ к API Авито.
В этом кейсе используется улуга разработки сайтов. Если у вас похожая или другая задача - свяжитесь с нами - поможем!