E-mails Transacionais Interativos via Send API

A maioria dos remetentes de e-mail transacional só renderiza HTML simples. POST /api/v1/send no modo modelo, em vez disso, renderiza um dos seus próprios projetos do estúdio — motor de fallback completo e blocos interativos incluídos — com mergeData no lugar da linha de valores dinâmicos, então um recibo ou e-mail de confirmação disparado pelo seu backend pode trazer um bloco Avaliação ou um upsell de Produto exatamente como um envio de marketing traria.

Assunto

Your order receipt

A maioria dos remetentes de e-mail transacional só renderiza HTML simples. POST /api/v1/send no modo modelo, em vez disso, renderiza um dos seus próprios projetos do estúdio, com o motor de fallback completo e os blocos interativos incluídos. Um recibo ou confirmação disparado pelo seu backend pode trazer um bloco Avaliação ou um upsell de Produto exatamente como um envio de marketing traria.

Um recibo é um dos e-mails com a maior taxa de abertura que uma empresa envia — e quase sempre o mais simples, porque geralmente é gerado pela biblioteca transacional mais fácil de conectar, não por algo com um sistema de design anexado.

Desenhe uma vez, dispare do seu backend

Construa o recibo ou confirmação como um projeto comum do estúdio, com os blocos que fizerem sentido — uma Avaliação para CSAT pós-compra, um upsell de Produto de item relacionado. Seu backend então chama a Send API no modo modelo com o ID do projeto e um objeto mergeData no lugar dos valores dinâmicos daquele pedido específico.

Marque como transacional, corretamente

Definir type como "transactional" ignora a supressão por cancelamento de inscrição — um recibo ainda precisa chegar a alguém que cancelou a inscrição de marketing — mas nunca ignora a supressão por bounce, já que um endereço genuinamente inválido não deveria continuar recebendo envios independentemente do tipo de e-mail.

É autenticado como qualquer integração de API

Uma chave de API nomeada por proprietário, autenticada por Bearer, é criada e revogada na seção Desenvolvedores do painel. Um cabeçalho Idempotency-Key evita que uma requisição repetida envie o recibo duas vezes.

O que não é transportado

O modo formato livre (sem projectId, só html/text bruto) pula o pipeline de renderização por completo — sem tags de personalização, sem motor de fallback, enviado exatamente como fornecido. É a escolha certa para algo como um código OTP avulso; o modo modelo é o que vale a pena usar assim que o próprio e-mail se beneficia de um bloco interativo.

Começando

Construa o modelo transacional como um projeto do estúdio com os blocos interativos que você quiser, crie uma chave de API em Desenvolvedores, e chame POST /api/v1/send no modo modelo com o seu mergeData e type: "transactional".

Uma sequência típica de criação e envio

  1. 1

    Construa o modelo transacional como um projeto do estúdio

    Desenhe o recibo ou confirmação uma vez no estúdio, com os blocos interativos que fizerem sentido — uma Avaliação, um Produto de item relacionado, um Botão de status.

  2. 2

    Crie uma chave de API

    Crie uma chave de API nomeada em Desenvolvedores no painel — ela autentica toda chamada da Send API como um token Bearer.

  3. 3

    Chame a Send API no modo modelo

    Seu backend faz um POST para /api/v1/send com o ID do projeto e um objeto mergeData no lugar dos valores dinâmicos daquele pedido ou evento específico.

  4. 4

    Marque como transacional

    Defina type como "transactional" para que o envio ignore a supressão por cancelamento de inscrição (a supressão por bounce continua se aplicando) — a semântica certa para um recibo que o destinatário precisa receber independentemente das preferências de marketing.

Perguntas frequentes

Um e-mail transacional enviado via API pode incluir os mesmos blocos interativos de uma campanha comum?

Sim — o modo modelo renderiza um projeto existente do estúdio exatamente como renderEmail() faria para qualquer outro envio, então todo bloco e o motor de fallback completo de três camadas são transportados de forma idêntica.

Como os dados por destinatário entram no modelo, já que não há uma linha de fonte de dados para uma chamada de API?

O objeto mergeData no corpo da requisição faz o papel de uma linha de fonte de dados — até 100 campos simples de chave/valor resolvem para as tags de personalização {{field}} do projeto para aquela única chamada.

Qual é a diferença entre o type "transactional" e "marketing" no mesmo endpoint?

O campo type controla qual lista de supressão é verificada: transactional ignora a supressão por cancelamento de inscrição (um recibo ainda precisa chegar a alguém que cancelou a inscrição de marketing), mas nunca ignora a supressão por bounce; marketing respeita as duas.

Existe um limite de taxa na Send API?

Sim — 60 requisições por minuto por chave de API, além do mesmo limite mensal de volume por proprietário que todo caminho de envio compartilha; um cabeçalho Idempotency-Key evita que uma requisição repetida envie duas vezes.

Posso enviar um e-mail HTML de formato livre pelo mesmo endpoint em vez de um projeto do estúdio?

Sim — omitir projectId e enviar html/text diretamente usa o modo formato livre, enviado exatamente como está, sem pipeline de renderização ou tags de personalização; o modo modelo (com projectId) é o que carrega os blocos interativos e o motor de fallback.

Construa isso no estúdio

Comece no plano gratuito — todos os blocos interativos e o motor de fallback completo estão incluídos em todos os planos.