Logo

Base URL

https://lip-backend-1064145932505.southamerica-east1.run.app

Endpoints

  • POST /api/external/email/send
  • GET /api/external/email/templates
  • GET /api/external/email/templates/{id}
  • GET /api/external/email/senders
  • GET /api/external/email/campaigns
  • GET /api/external/email/campaigns/{id}
  • GET /api/external/email/campaigns/{id}/analytics
  • POST /api/external/email/campaigns
  • POST /api/external/email/campaigns/{id}/send
  • POST /api/external/email/campaigns/{id}/schedule

Escopos:

  • email:send — envio transacional
  • email:templates:read — templates e remetentes
  • email:campaigns:read — listar/obter campanhas e analytics
  • email:campaigns:write — criar/disparar/agendar campanhas

Enviar email

POSTEnviar/api/external/email/send

Envia um email transacional (com HTML direto ou template).

Escopo: email:sendAssincrono — responde 202 com requestId

Por ser um envio, e assincrono: responde 202 com requestId. Suporta Idempotency-Key — veja Idempotencia.

Body
tostringobrigatorio

Email do destinatario.

fromstringobrigatorio

Email remetente. Deve ser um remetente verificado.

fromNamestringopcional

Nome de exibicao do remetente.

replyTostringopcional

Email para respostas.

subjectstringopcional

Assunto. Obrigatorio quando nao usa templateId.

htmlstringopcional

Corpo HTML. Obrigatorio quando nao usa templateId.

textstringopcional

Versao em texto puro.

templateIdstringopcional

Id de um template de email. Quando informado, dispensa subject/html.

variablesobjectopcional

Pares 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

GETBuscar/api/external/email/templates

Busca os templates de email do workspace.

Escopo: email:templates:readSincrono — responde 200 com os dados

Query params:

  • page (number, default 1)
  • limit (number, default 20, max 100)
  • search (string)
  • category (string)

Resposta paginada:

Obter template

GETBuscar/api/external/email/templates/{id}

Busca um template de email pelo id.

Escopo: email:templates:readSincrono — responde 200 com os dados

Remetentes

GETBuscar/api/external/email/senders

Busca os remetentes (emails verificados) disponiveis para uso no campo from.

Escopo: email:templates:readSincrono — responde 200 com os dados

Campanhas de email

Listar campanhas

GETBuscar/api/external/email/campaigns

Busca as campanhas de email do workspace.

Escopo: email:campaigns:readSincrono — responde 200 com os dados

Query params:

  • page (number, default 1)
  • limit (number, default 20, max 100)
  • status (string): DRAFT, SCHEDULED, SENDING, SENT, PAUSED, CANCELLED, COMPLETED, FAILED
  • search (string)

Resposta paginada (formato data + pagination).

Obter campanha

GETBuscar/api/external/email/campaigns/{id}

Busca uma campanha pelo id.

Escopo: email:campaigns:readSincrono — responde 200 com os dados

Analytics da campanha

GETBuscar/api/external/email/campaigns/{id}/analytics

Busca as metricas de entrega/engajamento (enviados, entregues, abertos, clicados, bounces etc.).

Escopo: email:campaigns:readSincrono — responde 200 com os dados

Criar campanha

POSTCriar/api/external/email/campaigns

Cria uma campanha de email. Responde 201 com a campanha criada.

Escopo: email:campaigns:writeSincrono — responde 200 com os dados
Body
namestringobrigatorio

Nome interno da campanha.

subjectstringobrigatorio

Assunto do email.

fromNamestringobrigatorio

Nome de exibicao do remetente.

fromEmailstringobrigatorio

Email remetente verificado.

replyTostringopcional

Email para respostas.

templateIdstringopcional

Id do template de email a usar.

htmlContentstringopcional

Corpo HTML quando nao usa template.

textContentstringopcional

Versao em texto puro.

segmentIdstringopcional

Id de um segmento de contatos.

segmentRulesarrayopcional

Regras de segmentacao.

recipientFilterarrayopcional

Filtros de destinatarios.

scheduledForstring (ISO)opcional

Se informado, a campanha ja nasce agendada.

sendStrategystringopcional

THROTTLED ou ALL_AT_ONCE.

Exemplo:

Resposta (201 Created): objeto da campanha criada.

Disparar campanha

POSTDisparar/api/external/email/campaigns/{id}/send

Inicia o envio imediato da campanha. O processamento roda em background.

Escopo: email:campaigns:writeAssincrono — responde 202 com requestId

Agendar campanha

POSTAgendar/api/external/email/campaigns/{id}/schedule

Agenda a campanha para um horario futuro.

Escopo: email:campaigns:writeSincrono — responde 200 com os dados

Body:

  • scheduledFor (string ISO, obrigatorio): data/hora do disparo

Exemplo:

Erros comuns

  • 400 payload invalido (campo obrigatorio ausente, faltou templateId/html/subject)
  • 401 API key invalida
  • 403 escopo insuficiente
  • 404 template ou campanha nao encontrada

Última atualização

15 de junho de 2026

Editar esta página no GitHub