Submissões de Diagnóstico
Se você tem um formulário de diagnóstico (quiz, avaliação, autoteste) que entrega o resultado para o lead, esta API registra cada tentativa de envio no Sendeasy: quem preencheu, o resultado e se a entrega por WhatsApp e a criação do contato no ActiveCampaign deram certo.
O histórico aparece em Leads → Submissões de Diagnóstico, com busca e exportação em CSV.
Esta API só registra o histórico. Ela não envia a mensagem nem cria o contato — isso continua sendo feito pelo seu formulário, pela WABA API ou pela integração que você já usa.
Antes de começar
- Cadastre o projeto. Em Leads → Submissões de Diagnóstico, abra Projetos aceitos e cadastre um identificador para o seu diagnóstico (ex.:
meudiagnostico). Enquanto a lista estiver vazia, nenhuma submissão é registrada. - Gere um API Token do projeto (em Configurações → API).
O identificador enviado precisa ser exatamente igual a um dos cadastrados. Essa validação é proposital: evita que um erro de digitação crie um projeto novo sem ninguém perceber.
Registrar uma submissão
| Método | Endpoint | Auth |
|---|---|---|
POST | /api/v1/diagnostic-submissions | API Token |
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
project | string | Sim | Identificador do diagnóstico, igual ao cadastrado em "Projetos aceitos". |
name | string | Não | Nome de quem preencheu. |
email | string | Não | E-mail de quem preencheu. |
phone | string | Não | Telefone com DDI e DDD (ex.: 5511999999999). |
result | objeto | Não | Respostas, notas e dimensões do diagnóstico. Formato livre. |
whatsappStatus | string | Não | success, failed ou skipped. |
whatsappError | string | Não | Mensagem do erro, quando o envio falhar. |
activeCampaignStatus | string | Não | success, failed ou skipped. |
activeCampaignError | string | Não | Mensagem do erro, quando a integração falhar. |
source | string | Não | Origem do lead (campanha, página, anúncio). |
Envie os campos de status depois de tentar o envio, com o resultado real de cada etapa. É isso que permite achar as entregas que falharam.
Exemplo
curl --location 'https://backend.sendeasy.app/api/v1/diagnostic-submissions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer SEU_API_TOKEN' \
--data '{
"project": "meudiagnostico",
"name": "Maria Souza",
"email": "maria@exemplo.com",
"phone": "5511999999999",
"result": { "media": 7.5, "categorias": { "processos": 8, "pessoas": 7 } },
"whatsappStatus": "success",
"activeCampaignStatus": "failed",
"activeCampaignError": "timeout na API",
"source": "campanha-instagram"
}'
Resposta
{
"id": 42
}
Erros
| HTTP | error | O que fazer |
|---|---|---|
400 | PROJECT_REQUIRED | Envie o campo project. |
400 | NO_PROJECTS_CONFIGURED | Nenhum projeto cadastrado ainda: abra "Projetos aceitos" na tela e cadastre o identificador. |
400 | PROJECT_NOT_ALLOWED | O identificador não está na lista. A resposta traz allowedProjects com os valores aceitos — compare com o que seu formulário envia. |
401 | ERR_API_TOKEN_NOT_PROVIDED | Falta o header Authorization: Bearer <api_token>. |
401 | ERR_API_TOKEN_INVALID | Token inválido ou desativado. |
Nos dois erros de projeto a resposta inclui a lista aceita:
{
"error": "PROJECT_NOT_ALLOWED",
"allowedProjects": ["meudiagnostico"]
}
Boas práticas
- Registre também as falhas. Uma submissão com
whatsappStatus: "failed"é justamente o que você quer enxergar depois. - Não bloqueie o usuário. Chame esta API em segundo plano: se o registro falhar, o lead ainda deve ver o resultado dele.
- Guarde o token no servidor. O API Token dá acesso ao projeto — nunca o exponha no navegador.