Pular para conteúdo

API: System Settings

Visão Geral

Configurações globais do sistema. Apenas SuperAdmins têm acesso. As configurações definem valores padrão usados quando agentes não têm valores customizados.

Endpoints

GET /api/system-settings

Retorna as configurações do sistema.

Autorização: SuperAdmin

Response (200 OK):

{
  "defaultErrorMessage": "Desculpe, estou com dificuldades técnicas no momento. Por favor, tente novamente em alguns instantes.",
  "defaultWelcomeMessage": "Olá! Seja bem-vindo(a) ao nosso atendimento. Como posso ajudar?",
  "defaultRateLimitMessage": null,
  "defaultOutOfHoursMessage": null,
  "updatedAt": "2024-01-20T14:00:00Z"
}


PUT /api/system-settings

Atualiza as configurações do sistema.

Autorização: SuperAdmin

Request:

{
  "defaultErrorMessage": "Desculpe, ocorreu um erro. Tente novamente.",
  "defaultWelcomeMessage": "Bem-vindo! Como posso ajudar?",
  "defaultRateLimitMessage": "Você está enviando mensagens muito rápido.",
  "defaultOutOfHoursMessage": "Nosso atendimento funciona das 8h às 18h."
}

Response (200 OK):

{
  "defaultErrorMessage": "Desculpe, ocorreu um erro. Tente novamente.",
  "defaultWelcomeMessage": "Bem-vindo! Como posso ajudar?",
  "defaultRateLimitMessage": "Você está enviando mensagens muito rápido.",
  "defaultOutOfHoursMessage": "Nosso atendimento funciona das 8h às 18h.",
  "updatedAt": "2024-01-20T15:00:00Z"
}


Campos

Campo Descrição Uso
defaultErrorMessage Mensagem quando ocorre erro no LLM Fallback se agente não tem customização
defaultWelcomeMessage Mensagem de boas-vindas Primeira mensagem automática
defaultRateLimitMessage Mensagem de rate limit Quando usuário envia muitas mensagens
defaultOutOfHoursMessage Mensagem fora do horário Quando fora do expediente

Hierarquia de Mensagens

  1. Agente tem mensagem customizada → usa a do agente
  2. Agente não tem (null) → usa a do SystemSettings
  3. SystemSettings não tem (null) → usa valor hardcoded padrão

Singleton

SystemSettings é uma entidade singleton com ID fixo:

public static readonly Guid SingletonId =
    Guid.Parse("00000000-0000-0000-0000-000000000001");

Erros Comuns

Status Código Descrição
403 FORBIDDEN Usuário não é SuperAdmin