Twilio Programmable Messaging e Twilio SendGrid Email API são transportes distintos.
03 · IMPLANTAÇÃO
Conecte os canais com confiança.
O caminho completo para contratar, configurar e validar WhatsApp, SMS e e-mail no Coraline. Cada etapa aponta para a documentação oficial do provedor.
Revisado em 15 de agosto de 2026Use privilégios mínimos, cofre do ambiente e chaves independentes para operação e setup.
O Coraline rejeita webhooks sem assinatura válida antes de interpretar o conteúdo.
00 · BASE COMUM
Comece pela origem pública.
Configure primeiro a origem canônica. Ela precisa ser pública, usar HTTPS e coincidir exatamente com o host recebido pelos provedores; qualquer redirect ou troca de protocolo invalida a assinatura.
https://coraline-v3.higgsfield.appTwilio
Crie a conta, habilite cobrança, reúna os remetentes em um Messaging Service e conecte os webhooks assinados do Coraline.
Abra a conta e prepare a cobrança
O trial serve para descoberta, mas restringe destinos e recursos. Para produção, faça o upgrade pay as you go, habilite alertas e revise as permissões geográficas.
- Confirme e-mail, telefone e os dados do projeto.
- No Console, use Upgrade account e cadastre a forma de pagamento.
- Mantenha habilitados somente os países realmente atendidos.
Crie o Messaging Service e o número SMS
Em Messaging > Services, crie o serviço Coraline 3.0. Compre um número com capacidade SMS compatível com os destinos e adicione-o ao Sender Pool.
- Copie o SID MG do serviço para o ambiente do Coraline.
- Use o webhook comum do serviço para mensagens recebidas, sempre por POST.
- Valide opt-in, opt-out e regras regulatórias de cada país antes do envio.
Teste e registre o WhatsApp
Use o Sandbox apenas para descoberta. Para produção, a conta deve estar paga e o número precisa ser registrado por Self Sign-up com acesso administrativo ao Meta Business Portfolio.
- No Sandbox, cada testador precisa enviar o código join antes de conversar.
- Na produção, valide o número por OTP e conclua a verificação empresarial da Meta.
- Associe o WhatsApp Sender ao mesmo Messaging Service do Coraline.
Aprove os templates fora da janela
A resposta livre vale durante a janela de 24 horas iniciada pelo usuário. Fora dela, crie um Content Template, envie para aprovação e permita o respectivo SID HX no Coraline.
- Escolha idioma e categoria compatíveis com o conteúdo real.
- Forneça amostras para todas as variáveis do template.
- Liste apenas SIDs aprovados em TWILIO_WHATSAPP_TEMPLATE_SIDS.
Crie credenciais de produção
Prefira API Key revogável para a REST API. O Account SID e o Auth Token também permanecem configurados porque o Coraline valida assinaturas e busca anexos privados com eles.
- Use Restricted API Key com a permissão mínima de criar mensagens quando disponível.
- Guarde o secret exibido uma única vez diretamente no cofre do ambiente.
- Nunca salve tokens em arquivos versionados ou no navegador.
Conecte webhooks e valide o fluxo
Configure a URL de entrada no serviço e mantenha a origem pública exatamente igual à usada pela Twilio. O status de cada envio já leva um callback com os identificadores internos.
- Entrada: /api/webhooks/twilio/inbound por POST.
- Status: /api/webhooks/twilio/status por POST.
- Teste envio, resposta, opt-out, mídia e atualização de entrega no inbox.
Segredos e configuração
TWILIO_ACCOUNT_SIDTWILIO_AUTH_TOKENTWILIO_API_KEY_SIDTWILIO_API_KEY_SECRETTWILIO_MESSAGING_SERVICE_SIDTWILIO_WHATSAPP_TEMPLATE_SIDSWebhooks do Coraline
/api/webhooks/twilio/inbound/api/webhooks/twilio/statusTwilio SendGrid
Assine o Email API, autentique o domínio, crie uma chave mínima e conecte os webhooks de eventos e recebimento com assinatura ECDSA.
Assine o produto Email API
O Coraline envia pela API v3 do SendGrid. Escolha Email API, não Marketing Campaigns e não o produto Twilio Email. Selecione o plano pelo volume e pelos recursos necessários.
- Confirme a conta, habilite 2FA e conclua eventual revisão de compliance.
- Em Account Details > Your Products, escolha o plano de Email API.
- Consulte a tabela oficial antes de contratar; limites e preços podem mudar.
Autentique o domínio remetente
Em Sender Authentication, inicie Domain Authentication e publique exatamente os registros DNS apresentados. Depois, use um endereço desse domínio como remetente do Coraline.
- Mantenha Automated Security ligada no fluxo de envio.
- Aguarde a propagação e clique em Verify no painel.
- Evite Gmail, Yahoo e outros domínios públicos como remetente de produção.
Crie a chave mínima de envio
Crie uma API Key Custom Access chamada coraline-prod-mail-send. Conceda Full Access somente a Mail Send e deixe as demais áreas sem acesso.
- Copie a chave no momento da criação; ela não será exibida novamente.
- Configure a chave e o endereço From apenas no ambiente de produção.
- Use outra chave temporária para tarefas administrativas e revogue-a depois.
Ative o Event Webhook assinado
Em Mail Settings > Event Webhooks, crie um webhook para o endpoint de eventos. Selecione os estados operacionais, ative Signed Event Webhook e salve antes de testar.
- Inclua processed, delivered, bounced, dropped, spam report e unsubscribe.
- Reabra o webhook e copie a public verification key gerada.
- Configure a chave pública no Coraline antes de usar Test Integration.
Configure o Inbound Parse
Reserve um subdomínio exclusivo, aponte seu MX com prioridade 10 para mx.sendgrid.net e conecte o destino ao endpoint de entrada do Coraline.
- Não troque o MX do domínio corporativo principal.
- Deixe POST the raw, full MIME message desmarcado; o Coraline usa multipart.
- O endereço local pode variar, exceto abuse, postmaster e unsubscribe.
Assine a entrada e teste ponta a ponta
Crie uma webhook security policy com assinatura, associe-a ao Parse Setting e guarde a chave pública retornada. O Coraline valida os bytes brutos antes de interpretar o e-mail.
- Teste um envio e aguarde o evento delivered; HTTP 202 significa apenas aceito.
- Envie uma resposta ao subdomínio de entrada e confirme a conversa no inbox.
- Repita com um anexo pequeno e verifique os logs em caso de HTTP 403.
Segredos e configuração
SENDGRID_API_KEYSENDGRID_FROM_EMAILSENDGRID_EVENT_WEBHOOK_PUBLIC_KEYSENDGRID_INBOUND_WEBHOOK_PUBLIC_KEYWebhooks do Coraline
/api/webhooks/sendgrid/events/api/webhooks/sendgrid/inbound03 · ANTES DE ABRIR
Teste o ciclo inteiro.
- Contas pagas ou trials compatíveis com o teste planejado.
- Remetentes, domínios, consentimentos e requisitos regulatórios aprovados.
- Segredos configurados no ambiente, nunca em arquivos versionados.
- APP_PUBLIC_ORIGIN igual à origem pública HTTPS, sem barra final.
- Webhooks por POST, sem redirects, com as chaves de assinatura correspondentes.
- Envio, resposta, status, opt-out e anexo validados em cada canal usado.