Реклама в ответах AI, которая не подрывает доверие к ответам

Документация

Интеграция занимает меньше дня. Выберите режим под ваш стек. Все режимы возвращают рекламу отдельным помеченным блоком «Реклама» с ERID — никогда внутри ответа модели. При любой ошибке или таймауте возвращается ad: null, и хост-ответ не ломается.

X-Intenta-Key: ваш ключPOST /v1/matchtimeout 300мс по умолчанию

Mode A — JS-виджет (клиент)

Для веб-чатов и фронтенд AI-сервисов. SDK сам рендерит блок «Реклама».

html
<!-- 1. Подключите SDK -->
<script src="https://cdn.intenta.dev/sdk.js"></script>
<script>
  const intenta = new Intenta({ publisherKey: "pub_demo_key" });

  // 2. После генерации ответа модели — подберите рекламу
  const ad = await intenta.match({
    query: userMessage,
    answer: assistantAnswer,   // опционально
    sessionId: conversationId,
    locale: "ru",
  });

  // 3. Отрендерьте ОТДЕЛЬНЫЙ помеченный блок «Реклама» под ответом
  if (ad) intenta.render(ad, "#intenta-slot");
  // ad === null → релевантной рекламы нет, ничего не показываем
</script>
<div id="intenta-slot"></div>

Mode B — Python-прокси (сервер)

Для backend AI-сервисов. Вызовите match() после генерации ответа и допишите блок.

python
from intenta import IntentaClient

client = IntentaClient(publisher_key="pub_demo_key", timeout_ms=300)

ad = client.match(
    query=user_message,
    answer=assistant_answer,   # опционально
    session_id=conversation_id,
    locale="ru",
)

# ad is None при ошибке/таймауте или если релевантной рекламы нет
if ad:
    # отдельный помеченный блок «Реклама», не внутри ответа модели
    response_markdown += "\n\n" + ad.block_markdown

Mode C — MCP / прямой HTTP

Для MCP-серверов и любых стеков. Прямой POST /v1/match с ключом в заголовке.

bash
curl -s https://api.intenta.dev/v1/match \
  -H 'X-Intenta-Key: pub_demo_key' \
  -H 'content-type: application/json' \
  -d '{
    "query": "как задеплоить FastAPI с автоскейлом",
    "session_id": "s1",
    "locale": "ru"
  }'

# 200 OK → { "request_id": "...", "ad": { ... , "label": "Реклама", "erid": "..." } }
# или { "request_id": "...", "ad": null } если релевантной рекламы нет.
# Любая ошибка/таймаут на стороне сети → ad:null, хост-ответ не ломается.

Контракт ответа

Объект ad содержит:headline,body,cta,click_url,label: «Реклама»,erid иdisclosure. Клик по click_url проходит через редирект /r/{click_id}?erid= с антифродом и биллингом.

Получите рабочий ключ в кабинете паблишера.