Skip to content

Виджет

Виджет WWL показывает клиенту зеленый баннер с промокодом, бонусами и кнопкой помощи/шаринга. Он рассчитан на встраивание в сторонний сайт, где доступно только подключение JavaScript.

Публичные файлы виджета:

  • JS: https://api.winwinland.ru/widget/winwin-banner.js
  • JSON endpoint: https://api.winwinland.ru/widget/winwin-banner.php

Как работает авторизация

  1. Миниприложение или доверенный backend создает короткоживущий подписанный токен.
  2. Токен передается на страницу во fragment URL: #wwl_widget_auth=....
  3. Виджет читает токен только из fragment, удаляет его из адресной строки и отправляет на сервер WWL.
  4. WWL проверяет подпись, срок жизни, client_id, одноразовый nonce и rate limit.
  5. После проверки сервер возвращает данные баннера.

Во фронтенд не передается API secret. Параметр data-client-id публичный и нужен только для идентификации аккаунта.

Пример кода вставки

<div id="wwl-winwin-banner"></div>
<script src="https://api.winwinland.ru/widget/winwin-banner.js"
        data-client-id="5227723"
        data-target="#wwl-winwin-banner"
        data-banner-text="{{first_name}} {{last_name}}, у вас есть промокод {{promocode}}. У вас есть {{bonuses}} баллов."
        data-link-text="Делитесь вашим промокодом с друзьями и подписчиками."
        data-tooltip-text="Делитесь вашим промокодом с друзьями и подписчиками. Когда они оформляют заказ с этим кодом им будет скидка, а вам начисляются баллы.\nЧтобы передать промокод, используйте кнопки ниже."
        data-font-color="#14532d"
        data-font-size="13px"
        data-bg-color="#ecfdf5"
        data-border-color="#86efac"></script>

Поддерживаемые параметры

  • data-client-id - публичный API client id аккаунта WWL.
  • data-target - CSS selector контейнера, куда вставляется баннер.
  • data-banner-text - текст баннера.
  • data-link-text - кликабельный текст под баннером.
  • data-tooltip-text - текст окна помощи.
  • data-font-color, data-font-size, data-bg-color, data-border-color - оформление баннера.

Переменные шаблона

  • {{first_name}} - имя клиента из WWL.
  • {{last_name}} - фамилия клиента из WWL.
  • {{promocode}} - промокод.
  • {{bonuses}} - доступные бонусы.
  • {{bot_partner_code}} - партнерский код бота.
  • {{tg_partner_link}} - готовая Telegram deeplink-ссылка.
  • {{max_partner_link}} - готовая MAX deeplink-ссылка.

Что важно по безопасности

  • Не передавайте raw tg_id / max_id в URL.
  • Токен должен передаваться только во fragment URL, а не в query string.
  • Токен одноразовый: повторное использование блокируется через nonce.

Шаринг

Кнопки Telegram и MAX в модальном окне строятся сервером WWL из настроек аккаунта и данных лида. На стороне сайта не нужно вычислять deeplink-и ботов вручную.