Documentation menu

Início rápido

A Send API transacional permite que seu próprio backend dispare um e-mail — do mesmo jeito que você chamaria o endpoint de envio da Brevo, do SendGrid ou do Postmark. É uma escolha natural para OTPs, recibos e alertas, e também pode disparar um projeto que você desenhou no estúdio, com seus próprios dados no lugar de uma linha de contato.

Gere uma chave

Em Developers, no painel, clique em Create key e dê um nome a ela (por exemplo, "Backend de produção", "Homologação"). A chave completa — mia_live_... — é exibida exatamente uma vez. Guarde-a em um lugar seguro; o MailInApp só armazena um hash, então não há como recuperá-la depois. Se você a perder, revogue-a e gere uma nova.

As chaves têm escopo na sua conta, não em um único projeto — uma chave pode disparar qualquer projeto que você possua. Crie quantas quiser (uma por ambiente ou integração é um padrão comum) e revogue qualquer uma delas de forma independente, a qualquer momento.

Envio nº 1: livre

Para um e-mail transacional simples — sem nenhum projeto do estúdio envolvido — forneça você mesmo o HTML e o texto:

curl -X POST https://mailinapp.com/api/v1/send \
  -H "Authorization: Bearer mia_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "to": "[email protected]",
    "subject": "Your one-time code",
    "html": "<p>Your code is 123456</p>",
    "text": "Your code is 123456"
  }'

Uma chamada bem-sucedida retorna:

{ "id": "abc123", "status": "sent" }

Envio nº 2: modelo

Este é o verdadeiro diferencial: desenhe um e-mail visualmente no estúdio — motor de fallback, blocos interativos, tags de personalização — e depois dispare-o a partir do seu próprio código de cadastro, checkout ou suporte, com mergeData no lugar de uma linha de fonte de dados:

curl -X POST https://mailinapp.com/api/v1/send \
  -H "Authorization: Bearer mia_live_..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order_12345" \
  -d '{
    "to": "[email protected]",
    "projectId": "your-project-id",
    "mergeData": { "name": "Ada", "orderId": "12345" }
  }'

Encontre o projectId na URL do estúdio do projeto (/studio/<projectId>). Os campos de mergeData resolvem para as tags de personalização {{campo}} do projeto exatamente como uma linha de contato faria. O destinatário recebe um link de visualização ao vivo pessoal e assinado, igual a qualquer outro envio — os blocos interativos (enquetes, avaliações, formulários) funcionam, e toda resposta flui para a página de Respostas normal daquele projeto e para as entregas de webhook, atribuída a esta chamada de API específica.

O cabeçalho Idempotency-Key é opcional, mas recomendado para qualquer coisa disparada por uma operação que pode ser repetida (um webhook de checkout, um consumidor de fila) — veja idempotência na referência da API.

Substituindo o remetente

Os dois tipos de envio usam por padrão a identidade de remetente configurada na sua conta — o cartão "From address" de Configurações → Domínios, se você estiver no envio nativo (SES), ou o endereço de remetente configurado no seu relay SMTP, caso contrário. Adicione from para substituí-lo em uma única chamada, por exemplo, uma conta multimarca enviando como uma equipe específica:

curl -X POST https://mailinapp.com/api/v1/send \
  -H "Authorization: Bearer mia_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "to": "[email protected]",
    "subject": "Your one-time code",
    "html": "<p>Your code is 123456</p>",
    "text": "Your code is 123456",
    "from": { "email": "[email protected]", "name": "Your Sales Team" }
  }'

from.email é obrigatório sempre que from estiver presente (não existe substituição só do nome); from.name é opcional. No envio nativo (SES), from.email precisa ser um endereço em um dos seus domínios verificados — veja endereço de remetente na referência da API para entender por quê, e para a regra mais flexível do SMTP.

Se você já salvou uma identidade de remetente no painel, passe o id dela como senderId em vez de repetir o endereço/nome embutido — veja a referência da API para ambos os campos.

Próximos passos

  • Formatos completos de requisição/resposta, semântica de type, limites de taxa e códigos de erro: referência da API.
  • Chamadas recentes feitas com suas chaves — incluindo status e qualquer erro — aparecem na página Developers para auditoria.
  • Não tem um relay SMTP existente? O envio nativo permite que o MailInApp entregue em seu nome, depois que seu domínio for autorizado e verificado.
  • Quer que um agente de IA construa ou edite seus e-mails em vez de chamar a API diretamente? A mesma chave também autentica o servidor MCP, então o Claude Desktop, o Claude Code ou qualquer outro cliente MCP podem fazer isso por você, por chat.