Base URL
https://lip-backend-1064145932505.southamerica-east1.run.app
Endpoints
POST /api/external/email/sendGET /api/external/email/templatesGET /api/external/email/templates/{id}GET /api/external/email/sendersGET /api/external/email/campaignsGET /api/external/email/campaigns/{id}GET /api/external/email/campaigns/{id}/analyticsPOST /api/external/email/campaignsPOST /api/external/email/campaigns/{id}/sendPOST /api/external/email/campaigns/{id}/schedule
Escopos:
email:send— envio transacionalemail:templates:read— templates e remetentesemail:campaigns:read— listar/obter campanhas e analyticsemail:campaigns:write— criar/disparar/agendar campanhas
Enviar email
/api/external/email/sendEnvia um email transacional (com HTML direto ou template).
email:sendAssincrono — responde 202 com requestIdPor ser um envio, e assincrono: responde 202 com requestId. Suporta Idempotency-Key — veja Idempotencia.
tostringobrigatorioEmail do destinatario.
fromstringobrigatorioEmail remetente. Deve ser um remetente verificado.
fromNamestringopcionalNome de exibicao do remetente.
replyTostringopcionalEmail para respostas.
subjectstringopcionalAssunto. Obrigatorio quando nao usa templateId.
htmlstringopcionalCorpo HTML. Obrigatorio quando nao usa templateId.
textstringopcionalVersao em texto puro.
templateIdstringopcionalId de um template de email. Quando informado, dispensa subject/html.
variablesobjectopcionalPares chave/valor para preencher o template.
Regras de obrigatoriedade
Informe templateId ou html. Quando nao usar templateId, o campo subject e obrigatorio.
Exemplo (HTML direto):
Exemplo (com template):
Resposta (202 Accepted):
Templates de email
Listar templates
/api/external/email/templatesBusca os templates de email do workspace.
email:templates:readSincrono — responde 200 com os dadosQuery params:
page(number, default1)limit(number, default20, max100)search(string)category(string)
Resposta paginada:
Obter template
/api/external/email/templates/{id}Busca um template de email pelo id.
email:templates:readSincrono — responde 200 com os dadosRemetentes
/api/external/email/sendersBusca os remetentes (emails verificados) disponiveis para uso no campo from.
email:templates:readSincrono — responde 200 com os dadosCampanhas de email
Listar campanhas
/api/external/email/campaignsBusca as campanhas de email do workspace.
email:campaigns:readSincrono — responde 200 com os dadosQuery params:
page(number, default1)limit(number, default20, max100)status(string):DRAFT,SCHEDULED,SENDING,SENT,PAUSED,CANCELLED,COMPLETED,FAILEDsearch(string)
Resposta paginada (formato data + pagination).
Obter campanha
/api/external/email/campaigns/{id}Busca uma campanha pelo id.
email:campaigns:readSincrono — responde 200 com os dadosAnalytics da campanha
/api/external/email/campaigns/{id}/analyticsBusca as metricas de entrega/engajamento (enviados, entregues, abertos, clicados, bounces etc.).
email:campaigns:readSincrono — responde 200 com os dadosCriar campanha
/api/external/email/campaignsCria uma campanha de email. Responde 201 com a campanha criada.
email:campaigns:writeSincrono — responde 200 com os dadosnamestringobrigatorioNome interno da campanha.
subjectstringobrigatorioAssunto do email.
fromNamestringobrigatorioNome de exibicao do remetente.
fromEmailstringobrigatorioEmail remetente verificado.
replyTostringopcionalEmail para respostas.
templateIdstringopcionalId do template de email a usar.
htmlContentstringopcionalCorpo HTML quando nao usa template.
textContentstringopcionalVersao em texto puro.
segmentIdstringopcionalId de um segmento de contatos.
segmentRulesarrayopcionalRegras de segmentacao.
recipientFilterarrayopcionalFiltros de destinatarios.
scheduledForstring (ISO)opcionalSe informado, a campanha ja nasce agendada.
sendStrategystringopcionalTHROTTLED ou ALL_AT_ONCE.
Exemplo:
Resposta (201 Created): objeto da campanha criada.
Disparar campanha
/api/external/email/campaigns/{id}/sendInicia o envio imediato da campanha. O processamento roda em background.
email:campaigns:writeAssincrono — responde 202 com requestIdAgendar campanha
/api/external/email/campaigns/{id}/scheduleAgenda a campanha para um horario futuro.
email:campaigns:writeSincrono — responde 200 com os dadosBody:
scheduledFor(string ISO, obrigatorio): data/hora do disparo
Exemplo:
Erros comuns
400payload invalido (campo obrigatorio ausente, faltoutemplateId/html/subject)401API key invalida403escopo insuficiente404template ou campanha nao encontrada
Última atualização
15 de junho de 2026