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

Ограничение контента

Ограничивайте определённые темы для анонимных (неаутентифицированных) посетителей виджета. Аутентифицированные пользователи с подтверждённой личностью видят полные ответы.

Обзор#

Ограничение контента позволяет задать темы, которые следует обсуждать только с аутентифицированными пользователями. Когда анонимный посетитель спрашивает о закрытой теме, ИИ отвечает пользовательским сообщением вместо реального ответа.

Это полезно для защиты чувствительной информации, например:

  • Детали ценообразования и структуры скидок
  • Корпоративные функции или внутренний роадмап
  • Документация API или технические спецификации
  • Информация для партнёров

Настройка#

Ограничение тем сейчас настраивается через API настроек агента. Обновите агента тремя ключами настроек:

  • gated_enabled (boolean) — включает или выключает ограничение тем
  • gated_topics (массив строк) — темы, которые нужно ограничить. Будьте конкретны — например, используйте «уровни корпоративных тарифов», а не просто «цены», чтобы избежать ложных срабатываний.
  • gated_message (строка) — сообщение, которое анонимные пользователи видят при вопросе о закрытой теме. Если пусто, по умолчанию: «This information is available to registered users. Please sign in or contact us for details.»
Настройка Ограничения контента через APIbash
curl -X PATCH https://api.respondo.ai/api/v1/agents/<agent-uuid> \
  -H "Authorization: Bearer <your-api-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "settings": {
      "gated_enabled": true,
      "gated_topics": ["enterprise pricing tiers", "internal roadmap"],
      "gated_message": "This information is available to registered users. Please sign in or contact our sales team for details."
    }
  }'

Ограничению контента также требуется идентификация пользователей, чтобы отличать аутентифицированных посетителей от анонимных. Инструкции по настройке см. в документации Идентификация пользователей.

Не путайте с переключателем Content gate на вкладке «Внешний вид» канала виджета — это другая функция: она запрашивает у посетителей email перед началом чата (сбор лидов) и не ограничивает темы.

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

Когда из виджета приходит сообщение, система проверяет, есть ли у пользователя подтверждённая личность:

Тип пользователяПоля идентификацииЗакрытые темы
АутентифицированныйЕсть userId или email (с проверкой HMAC, когда настроен identity_secret)Полные ответы — без ограничений
АнонимныйТолько visitorId или вообще нет идентификацииВидит сообщение ответа для закрытых тем
Неудачный HMACЕсть userId, но неверный userHashСчитается анонимным — видит ответ для закрытых тем
Без настроенного identity_secret любые userId/email, переданные в identify(), считаются аутентифицированными без проверки — посетитель может самоидентифицироваться из консоли браузера и открыть закрытые темы. Задайте identity_secret и передавайте userHash, чтобы аутентификация стала проверяемой; см. Проверка личности (HMAC). Строка «Неудачный HMAC» выше применима, только когда identity_secret задан.
Ограничение контента работает на уровне инструкций ИИ. Когда анонимный пользователь спрашивает о закрытой теме, ИИ получает инструкцию ответить вашим пользовательским сообщением. Незакрытые темы отвечаются как обычно для всех.
Ограничение контента работает по принципу best-effort и не является криптографическим контролем доступа. ИИ может изредка давать частичные ответы на пограничные вопросы. Для строгой защиты данных рассмотрите вынос чувствительного контента в отдельного агента.

Требование к идентификации#

Чтобы Ограничение контента работало, нужно передавать личность пользователя при инициализации виджета. Вот минимальный пример:

Инициализация виджета с идентификациейhtml
<!-- Для аутентифицированных пользователей -->
<script>
  Respondo.init({ agentId: 'YOUR_AGENT_ID' });
  Respondo.identify({
    userId: 'user-123',
    email: 'user@example.com',
    userHash: 'HMAC_SHA256_HASH'  // Обязательно, если задан identity_secret
  });
</script>

<!-- Для анонимных посетителей — просто init без identify -->
<script>
  Respondo.init({ agentId: 'YOUR_AGENT_ID' });
  // Вызова identify() нет — пользователь анонимен, закрытые темы будут ограничены
</script>

О настройке проверки HMAC см. Проверка личности (HMAC).

Ограничение контента и «Запретные темы»

Запретные темы блокируют темы для всех пользователей — и аутентифицированных, и анонимных. Используйте их для тем, которые агент никогда не должен обсуждать (например, сравнения с конкурентами, юридические консультации).

Ограничение контента блокирует темы только для анонимныхпользователей. Аутентифицированные пользователи видят полные ответы. Используйте его для информации, которой вы хотите делиться с клиентами, но не с широкой публикой (например, цены, внутренние функции).