Skip to main content
POST
Enviar e-mail
Requer integração Email ativa no marketplace. Visão geral em Mensagens — visão geral.

Endpoint

Cabeçalhos

Corpo

string
required
E-mail do destinatário.
string
Endereço completo (ex.: noreply@meu-dominio.com). O domínio deve estar registrado e verificado na organização (Configurações → E-mail → Domínios). Não é obrigatório cadastrar esse endereço em Remetentes se o domínio já estiver verificado. Exclusivo com fromSenderId.
string (UUID)
UUID do remetente. Exclusivo com fromEmail.
Se omitir fromEmail e fromSenderId, a API usa o remetente padrão da plataforma Gu1. Comportamento esperado, não é erro.

Remetente personalizado (fromEmail)

Se enviar fromEmail, por exemplo example@meu-dominio.com, a API valida o domínio (meu-dominio.com) antes do envio. A resposta é 400 com { "success": false, "error": "<mensagem em inglês>" }; o e-mail não é enviado até o domínio estar verificado. Exemplo de rejeição (domínio não verificado):
object
Mapa para {{placeholders}}. Padrão {}.
Modo template: templateId (canal email). Sem htmlBody/textBody. subject opcional como fallback. Modo inline: subject obrigatório; htmlBody e/ou textBody. Sem templateId.

Exemplo (inline + variáveis)

Resposta de sucesso

deliveryId identifica o registro de entrega na Gu1. Os domínios SendGrid existentes continuam suportados e retornam emailProvider: "sendgrid".

Acompanhamento de entregas

Lista os e-mails enviados e o evento mais recente:
Os filtros opcionais são provider (resend ou sendgrid), source (transactional_api, automation, export ou platform) e before (o timestamp ISO retornado em nextCursor). Cada linha inclui IDs da mensagem, remetente, destinatário, assunto, origem, estado atual e timestamps como sentAt, deliveredAt, openedAt, clickedAt, bouncedAt e failedAt. Aberturas e cliques ficam disponíveis quando o tracking está ativo no domínio. Recursos de privacidade de clientes de e-mail podem gerar aberturas automáticas; portanto, openedAt é um sinal de interação, não uma prova de leitura humana. Envios legacy do SendGrid continuam listados, mas não recebem eventos históricos de abertura pelo webhook do Resend.

Erros e HTTP

Na maioria dos casos: { "success": false, "error": "<mensagem em inglês>" }. Corpos inválidos podem retornar outro formato (ex.: Zod) com 400. Mensagens de negócio em error são em inglês. Sempre verifique success e error; o provedor pode responder falha com 200 e success: false.