File size: 1,163 Bytes
7e493b0 f3200bb c726703 f3200bb c726703 51d338a c726703 f3200bb c726703 7e493b0 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | from typing import Literal, Optional
from pydantic import BaseModel, Field
class EscutarPayload(BaseModel):
numero: str = ""
numero_crm: str = ""
nome: str = "Cliente"
texto: str = ""
tipo_conversa: str = "pv"
grupo_id: Optional[str] = None
mensagem_id: Optional[str] = None
audio_base64: Optional[str] = None
fora_expediente: bool = Field(
default=False, description="True quando fora das 9h-18h (atendimento humano)"
)
class EscutarResponse(BaseModel):
texto: str = Field(..., description="Resposta a enviar no WhatsApp")
mensagem_id: Optional[str] = Field(
default=None, description="Id para avaliar depois em POST /feedback"
)
class FeedbackPayload(BaseModel):
mensagem_id: str = Field(..., description="Id devolvido em EscutarResponse")
nota: Literal["boa", "ma"] = Field(..., description="'boa' ou 'ma'")
comentario: Optional[str] = Field(default=None, description="Nota opcional da equipa")
class FeedbackResponse(BaseModel):
ok: bool = Field(..., description="True se a avaliação foi registada")
detalhe: str = Field(..., description="Explicação curta")
|