O fluxo principal (visão geral)
- Registrar domínio e publicar os registros DNS que a API devolver.
- Chamar verify até o domínio ficar VERIFIED.
- Enviar com
POST /v1/email/messagesusando umfrom@seu-dominio.
Pré-requisitos
- API Key com escopos:
email:domains:create,email:domains:list,email:send,email:read(e opcionalmenteemail:cancelpara agendados). - O domínio do remetente (
from) deve estar verificado no workspace antes de enviar. - Envie a API Key em toda requisição:
- Header:
Authorization: Bearer sk_live_xxxxx - ou Header:
x-api-key: sk_live_xxxxx
- Header:
1. Registrar e verificar domínio
Para enviar com um endereço comonoreply@seudominio.com, o domínio seudominio.com precisa estar registrado e verificado.
Registrar domínio
2. Enviar e-mail
Com o domínio verificado, envie e-mails usando esse domínio no campo from. Requestschedule.sendAt:
code: DOMAIN_NOT_VERIFIED.
3. Listar e-mails
Liste o histórico de e-mails do workspace com paginação (escopo email:read). Filtros opcionais:fromDate, toDate (ISO 8601, createdAt), status (vários separados por vírgula), emailDomainId (cuid do domínio verificado). Se a API Key tiver restrição domainIds, só aparecem envios daqueles domínios; pedir outro emailDomainId retorna 403.
Request
4. Consultar status
Obtenha o status e os dados de um e-mail pelo ID. Request5. Webhooks (opcional)
Para receber notificações de envio e entrega, configure um webhook com eventos:email.sent— E-mail aceito e enviado.email.delivered— E-mail entregue (notificação do provedor).email.failed— E-mail falhou no envio ou bounce.email.complained— Reclamação de spam.
emailId, to, from, status, etc.).
6. Agendamento e cancelamento
Agendar: inclua no body doPOST /v1/email/messages:
email:cancel e chame:
Resumo do fluxo
- POST
/v1/email/domains→ registrar domínio. - POST
/v1/email/domains/:id/verifye configurar DNS até status verified. - POST
/v1/email/messagescomfrom(domínio verificado),to,subject,htmle/outext. - GET
/v1/email/messages→ listar histórico com paginação e filtros (escopoemail:read). - GET
/v1/email/messages/:id→ consultar um envio pelo ID. - (Opcional) Configurar webhook para
email.sent,email.delivered,email.failed,email.complained.
Referências
- Idempotência: use o header
Idempotency-Keyoux-idempotency-keyno envio para evitar duplicatas.
