Skip to main content
Есть два способа показывать карточки моделей. Отличаются они тем, кто рендерит карточки и куда ведёт клик-ссылка на вашей странице.

Widget

Вставьте один сниппет там, где должны появиться карточки; рендеринг, показы и клики обрабатываются автоматически. Раскладки, темы и свои шаблоны описаны в разделе Виджеты.

Backend

Ваш сервер запрашивает креативы как JSON по API-ключу виджета, строит собственный HTML, и каждая ссылка на странице остаётся на вашем домене: ваш сервер резолвит каждый клик через наш API и сам редиректит посетителя. Зачем выбирать этот тип:
  • Чистый профиль ссылок. В вашем HTML нет внешних рекламных ссылок, поэтому у ранжирующихся страниц нет футпринта рекламной сети.
  • Обработка клика остаётся на вашем домене. Карточки ведут на ваш собственный роут, редирект выполняет ваш сервер, поэтому на странице нет сторонних рекламных ссылок, а как обрабатывать клик, решаете вы.
  • Referrer под вашим контролем. URL страницы передаётся в resolve-запросе явно, а на финальном редиректе вы сами решаете, что увидит сайт назначения: заголовок Referrer-Policy: no-referrer полностью скрывает ваш домен.
Каждый клик по-прежнему проходит через OnlyTraffic: токен в каждой карточке выдаём мы, и клик засчитывается (и оплачивается) только после того, как ваш сервер его отрезолвил.

Как это работает

1

Запросите креативы

Вызовите эндпоинт виджета со своего сервера с заголовком X-Api-Key, передавая uip, uua и page посетителя. В ответе есть earn_cents: ваша выплата за один валидный клик по каждой карточке.
2

Отрендерите first-party ссылки

У каждого креатива есть click_token и click_fallback. Ссылайте карточку на собственный роут, например https://yoursite.com/go?t=<click_token>&s=<click_fallback>. Не используйте click_url в этом режиме: клики напрямую по click_url у first-party виджета не оплачиваются. Пиксель показа (impression_url) отправляйте только когда карточку реально увидели; готовый скрипт показов из формы виджета делает это за вас.
3

Отрезолвьте клик

Когда посетитель кликает по вашей ссылке, вызовите resolve-эндпоинт сервер-к-серверу:
4

Сделайте редирект

В ответе придёт URL назначения. Ответьте посетителю 302 Location: <url>. По желанию добавьте Referrer-Policy: no-referrer, чтобы сайт назначения не видел ваш домен.

Только креативы, по которым посетитель ещё не кликал

Повторный клик с того же IP по тому же креативу в течение 24 часов не оплачивается никогда. Чтобы такие карточки не попадали посетителю, передавайте uip (и uua) и в запросе выдачи: тогда из ответа исключаются все креативы, по которым с этого IP уже есть валидный (оплаченный) клик за последние 24 часа, а список добирается из ротации. Посетитель определяется по IP, так же, как оценивается сам клик. Ответ, полученный с uip, персональный для этого посетителя: запрашивайте его на каждый показ страницы и не отдавайте другим посетителям. Если для этого посетителя исключены все креативы ротации, в ответе придёт пустой массив creatives и "reason": "already_clicked": ничего не рендерите (или покажите свою заглушку) и просто запросите снова при следующем показе страницы. Без uip ротация зависит только от страны и тегов, поэтому её можно кешировать по странице до 30 минут, но персонализировать её на нашей стороне уже нельзя. Тогда фильтруйте сами: у каждого креатива есть creative_id; при клике запоминайте пару (посетитель, creative_id) на 24 часа и прячьте такие карточки при следующих показах.

Что передавать при каждом резолве

Значения должны описывать запрос посетителя к вашему сайту, а не ваш сервер: валидация кликов, гео-статистика и уникальность считаются по тому, что вы передали. Клик без валидного uip или без uua не оплачивается никогда. Отсутствующий uref фиксируется и учитывается при проверке качества, поэтому передавайте его всегда, когда можете. Полный честный контекст посетителя это то, что держит вашу площадку чистой и привлекательной для рекламодателей.
Вызывайте resolve-эндпоинт только со своего сервера, на каждый клик, и никогда не кешируйте ответ. Один токен даёт не больше одного оплачиваемого клика на посетителя: повторы, подозрительные и неуникальные клики редиректятся, но не оплачиваются.

Ответ

  • url: куда редиректить посетителя. Для живого токена присутствует всегда. null означает, что токен истёк и s не был передан: отправьте посетителя на собственную страницу. С прокинутым s даже истёкшие токены резолвятся на страницу модели (логируется, не оплачивается).
  • via: как обработан вызов; proxy подтверждает, что ваш API-ключ принят.
Пер-клик вердикта в ответе нет. Каждый клик валидируется на нашей стороне, а валидные клики и заработок появляются в статистике после закрытия UTC-дня. Ваша часть контракта простая: передавайте реальный контекст посетителя (uip, uua, uref) и редиректьте на url каждый раз.

Пример relay-эндпоинта

Быстрая проверка с click_token из свежего ответа виджета:
cURL
Сам relay-роут (путь, здесь /go, выбираете вы):
Node
uref обычно берётся из заголовка Referer клика по ссылке того же домена. Если на сайте стоит глобальная политика no-referrer, добавляйте URL страницы к своим клик-ссылкам сами (например /go?t=...&p=<URL страницы>) и передавайте это значение как uref. В форме виджета есть полные примеры для копирования на Node и PHP (рендер страницы плюс relay) и готовый промпт для ИИ-ассистента.

Какой тип выбрать

  • Рендерите на сервере, страница ранжируется в поиске или важен чистый профиль исходящих ссылок: Backend.
  • Всё остальное: Widget.