Documentação interna para desenvolvedores. Esta página aborda a API Forms: criação de formulário, incorporação de widget de bate-papo, processamento de envio e esquema do construtor de formulário. Não se destina a usuários finais.
Mapa de rotas
Padrão de autenticação
Os formulários têm padrões de acesso duplo: Autenticado (painel):POST /api/forms/[formId]/chatpode ser chamado sem autenticação- Protegido pelo sigilo
formId(assinado pelo HMAC, se necessário)
Esquema de formulário
Os formulários são definidos como um esquema JSON armazenado no campoconfig:
Ponto final de envio de bate-papo
O endpointPOST /api/forms/[formId]/chat processa o envio de um formulário por meio da IA:
Envios
Índices Prisma usados
Problemas conhecidos/pegadinhas
- Endpoint de bate-papo público: O
formIdé o único segredo que protege os envios de formulários públicos. Para formulários confidenciais, considere adicionar assinatura HMAC ou reCAPTCHA. - Evolução do esquema JSON de envio: Se os campos do formulário mudarem após a existência dos envios, os envios antigos poderão ter campos que não correspondem mais ao esquema atual. A UI deve lidar com os campos ausentes normalmente.
- Tempo limite de processamento da IA: o endpoint de envio do chat chama a IA, o que pode levar até 30 segundos para formulários complexos. Configure o tempo limite da função Next.js apropriado.
- Entrega do webhook: O webhook externo ao enviar é disparar e esquecer. Implemente a lógica de nova tentativa em
@zappway/lib/webhooksse a confiabilidade for necessária.

