Вебхуки для отзывов: сценарии, кейсы, технические детали
Вебхуки — это механизм взаимодействия между системами с помощью HTTP-запросов. Они используются для автоматической передачи данных в реальном времени при наступлении определенных событий.
По сути, вебхук — это файл с программным кодом, в котором содержится определенная информация от сервера. Сервер отправляет этот файл внешней системе, когда происходит событие-триггер.
Преимущества вебхуков — простота настройки и оперативность. В отличие от традиционных API, где клиент с определенной периодичностью сам запрашивает данные (pull-модель), вебхуки используют push-модель: сервер отправляет информацию, как только событие произошло. Это экономит ресурсы и обеспечивает мгновенную реакцию.
Вебхуки незаменимы в ситуациях, когда важно оперативное обновление информации: например, быстрое оповещение модераторов об отзывах, требующих внимания, или начисление баллов клиентам за отзывы.
Примеры использования вебхуков для работы отзывов
Скорость доставки вебхуков и информация, которую они содержат, позволяют настраивать сложные многоуровневые сценарии.
Синхронизация с системой лояльности для начисления баллов за отзывы
Начисление баллов за отзывы влияет сразу на две важные метрики:
- повторные покупки — вознаграждения в виде баллов или скидок побуждают 57% потребителей покупать снова;
- количество оставленных отзывов — начисление баллов может увеличить количество получаемых оценок на 73% при сохранении среднего рейтинга товаров 4,8.
С помощью вебхуков можно настроить гибкие сценарии мгновенного вознаграждения за отзывы. Параметров, по которым проверяется выполнение условий, десятки и из них можно собирать сколь угодно сложные комбинации. Вот только некоторые сценарии и триггеры, которые можно настроить на стороне обработчика вебхуков:
- пользователь оставил свой первый отзыв / вопрос;
- пользователь написал свой N отзыв / вопрос за месяц / год;
- пользователь написал больше всех отзывов с начала года;
- пользователь выполнил условия по длине отзывов;
- пользователь выполнил условие по наличию фото и видео;
- у товара низкий рейтинг, нужно простимулировать отзывы с помощью повышенного вознаграждения;
- товар недавно появился в продаже, и ему не хватает отзывов;
- товарам определенного бренда нужно добавить рейтинг;
- пришла пора сезонного товара, и карточке требуется особое внимание;
- товар часто возвращают, нужно больше отзывов с фото и видео;
- товар стоит больше 10 000 рублей, и его покупают нечасто;
- отзыв / вопрос собрал больше всего лайков;
- пользователь написал отзыв, а через N месяцев дополнил его опытом использования — это повышает качество отзывов;
- пользователь оставил отзыв в первые 12 часов после получения заказа;
- пользователь упомянул в отзыве важные параметры: например, скорость доставки, качество товара, простоту сборки и установки;
- пользователь принял участие в опросе.
Этот список можно продолжать, а его элементы — комбинировать и выстраивать в системные и бизнес-ориентированные правила бонусной программы.
Мгновенная синхронизация между базами данных
Обычно данные синхронизируются с помощью экспортов Aplaut периодически (допустим, раз в сутки), по запросу. А с помощью вебхуков синхронизация происходит в реальном времени, в момент срабатывания событий: например, появление нового отзыва, редактирование, появление ответа на отзыв и так далее.
Оперативное оповещение модераторов
С помощью вебхуков можно настроить мгновенное информирование модераторов о появлении новых отзывов. Можно настроить отправку уведомлений на почту, по SMS или в мессенджеры.
Можно настроить дополнительные оповещения о низких оценках. Или о появлении новых вопросов, чтобы оперативно отвечать на них. Это важно, потому что до 56% потребителей ожидают увидеть ответ в течение 24 часов и 21% хотят получить ответ за 1–4 часа.
Настройка отправки и получения вебхуков
Для настройки отправки вебхуков от Aplaut клиенту необходимо:
1. Сообщить URL, на который будут отправляться вебхуки.
2. Указать список событий, по которым нужно отправлять вебхуки.
3. Определить формат отправки — JSON или XML.
4. В случае если на стороне клиента установлена защита по IP, добавить IP-адреса Aplaut в список разрешенных.
5.Для дополнительной защиты можно добавить токен для аутентификации.
Принимающая система должна уметь «понимать» содержимое вебхуков. Обычно для этого требуется написать простой обработчик: он знает структуру получаемых вебхуков, забирает из них нужную информацию и передает дальше в систему в понятном ей виде.
Пример вебхука Aplaut (формат JSON)
Безопасность
По умолчанию для отправки вебхуков используется защищенный протокол HTTPS. Кроме того, мы обмениваемся с клиентами специальным секретным ключом: он добавляется в каждый вебхук, и принимающая сторона сверяет этот ключ, чтобы убедиться в подлинности запроса. Этих методов достаточно для надежной защиты системы от посторонних вмешательств.
Особенности
При отправке вебхука мы проверяем ответ внешней системы. Если не получаем отчет об успешной доставке, повторяем отправку по правилу экспоненциальной отправки: в общей сложности система делает до 52 попыток доставить вебхук адресату.
Содержание вебхуков дополнительно не настраивается, всегда отправляются все данные, относящиеся к определенному событию. Благодаря этому структура вебхуков всегда одинакова, их удобно обрабатывать принимающей стороне.
Что в итоге
Вебхуки — это простой и удобный способ оповещения о различных действиях с UGC-контентом (отзывы, комментарии, вопросы и ответы) — от их написания до публикации или бана. Вебхуки позволяют отправлять информацию об изменениях мгновенно и без значительной нагрузки на системы. Они легко настраиваются и обрабатываются — работать с вебхуками умеют большинство современных сервисов и решений.