Ограничение контента
Ограничивайте определённые темы для анонимных (неаутентифицированных) посетителей виджета. Аутентифицированные пользователи с подтверждённой личностью видят полные ответы.
Обзор#
Ограничение контента позволяет задать темы, которые следует обсуждать только с аутентифицированными пользователями. Когда анонимный посетитель спрашивает о закрытой теме, ИИ отвечает пользовательским сообщением вместо реального ответа.
Это полезно для защиты чувствительной информации, например:
- Детали ценообразования и структуры скидок
- Корпоративные функции или внутренний роадмап
- Документация API или технические спецификации
- Информация для партнёров
Настройка#
Ограничение тем сейчас настраивается через API настроек агента. Обновите агента тремя ключами настроек:
gated_enabled(boolean) — включает или выключает ограничение темgated_topics(массив строк) — темы, которые нужно ограничить. Будьте конкретны — например, используйте «уровни корпоративных тарифов», а не просто «цены», чтобы избежать ложных срабатываний.gated_message(строка) — сообщение, которое анонимные пользователи видят при вопросе о закрытой теме. Если пусто, по умолчанию: «This information is available to registered users. Please sign in or contact us for details.»
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."
}
}'Ограничению контента также требуется идентификация пользователей, чтобы отличать аутентифицированных посетителей от анонимных. Инструкции по настройке см. в документации Идентификация пользователей.
Как это работает#
Когда из виджета приходит сообщение, система проверяет, есть ли у пользователя подтверждённая личность:
| Тип пользователя | Поля идентификации | Закрытые темы |
|---|---|---|
| Аутентифицированный | Есть userId или email (с проверкой HMAC, когда настроен identity_secret) | Полные ответы — без ограничений |
| Анонимный | Только visitorId или вообще нет идентификации | Видит сообщение ответа для закрытых тем |
| Неудачный HMAC | Есть userId, но неверный userHash | Считается анонимным — видит ответ для закрытых тем |
identity_secret любые userId/email, переданные в identify(), считаются аутентифицированными без проверки — посетитель может самоидентифицироваться из консоли браузера и открыть закрытые темы. Задайте identity_secret и передавайте userHash, чтобы аутентификация стала проверяемой; см. Проверка личности (HMAC). Строка «Неудачный HMAC» выше применима, только когда identity_secret задан.Требование к идентификации#
Чтобы Ограничение контента работало, нужно передавать личность пользователя при инициализации виджета. Вот минимальный пример:
<!-- Для аутентифицированных пользователей -->
<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).
Ограничение контента и «Запретные темы»
Запретные темы блокируют темы для всех пользователей — и аутентифицированных, и анонимных. Используйте их для тем, которые агент никогда не должен обсуждать (например, сравнения с конкурентами, юридические консультации).
Ограничение контента блокирует темы только для анонимныхпользователей. Аутентифицированные пользователи видят полные ответы. Используйте его для информации, которой вы хотите делиться с клиентами, но не с широкой публикой (например, цены, внутренние функции).