Pular para conteúdo

Referência da API

A API de Email Transacional da InteSys (powered by FrontEngine) é uma API HTTP baseada em JSON com endpoints no estilo RPC. Cada ação possui seu próprio endpoint. Todas as requisições utilizam HTTPS com método POST e parâmetros codificados em JSON.

URL Base: https://app1.frontengine.net

Autenticação

Todas as requisições à API requerem o cabeçalho X-Server-API-Key com sua chave de API do servidor.

X-Server-API-Key: your-api-key-here

Obtenha sua chave de API no portal do cliente InteSys ou entre em contato com o suporte.

Mantenha Sua Chave de API em Segredo

Nunca exponha sua chave de API em código do lado do cliente, repositórios públicos ou logs. Rotacione as chaves imediatamente se houver comprometimento.

Erros de Autenticação

Erro Descrição
InvalidServerAPIKey O token fornecido é inválido. A resposta inclui o valor do token rejeitado.
ServerSuspended O servidor de email associado às suas credenciais foi suspenso.

Formato de Resposta

Todas as respostas da API seguem esta estrutura:

{
  "status": "success",
  "time": 0.23,
  "flags": {},
  "data": {}
}
Campo Tipo Descrição
status string success, parameter-error ou error
time float Tempo de processamento no servidor em segundos
flags object Metadados adicionais (paginação, etc.)
data object Payload da resposta ou detalhes do erro

Códigos de Status HTTP

Código Significado
200 Requisição processada (verifique o campo status para o resultado)
301 / 308 Redirecionamento (geralmente http para https)
500 Erro inesperado no servidor
503 Serviço indisponível (manutenção)

API de Envio

Enviar Mensagem

Envie um email transacional com controle total sobre cabeçalhos, corpo e anexos.

POST /api/v1/send/message

Parâmetros:

Parâmetro Tipo Obrigatório Descrição
to array Sim Endereços de email dos destinatários (máx. 50)
cc array Não Endereços em cópia (máx. 50)
bcc array Não Endereços em cópia oculta (máx. 50)
from string Sim Endereço de email do remetente (deve ser um domínio verificado)
sender string Não Cabeçalho do remetente (se diferente do from)
subject string Sim Assunto do email
tag string Não Tag de classificação para filtragem nas análises
reply_to string Não Endereço de resposta
plain_body string Não* Conteúdo do email em texto simples
html_body string Não* Conteúdo do email em formato HTML
attachments array Não Anexos de arquivo (veja abaixo)
headers object Não Cabeçalhos de email personalizados
bounce boolean Não Se esta mensagem é uma resposta de rejeição

*Pelo menos um entre html_body ou plain_body deve ser fornecido.

Objeto de Anexo:

Campo Tipo Descrição
name string Nome do arquivo (ex.: fatura.pdf)
content_type string Tipo MIME (ex.: application/pdf)
data string Conteúdo do arquivo codificado em Base64

Códigos de Erro:

Erro Descrição
ValidationError Falha geral na validação de parâmetros
NoRecipients Nenhum endereço de destinatário fornecido
NoContent Nem html_body nem plain_body foram fornecidos
TooManyToAddresses Mais de 50 endereços em to
TooManyCCAddresses Mais de 50 endereços em cc
TooManyBCCAddresses Mais de 50 endereços em bcc
FromAddressMissing Nenhum endereço from especificado
UnauthenticatedFromAddress Domínio de envio não verificado para este servidor
AttachmentMissingName Anexo fornecido sem nome de arquivo
AttachmentMissingData Anexo fornecido sem dados

Exemplo: curl

curl -X POST https://app1.frontengine.net/api/v1/send/message \
  -H "X-Server-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "[email protected]",
    "to": ["[email protected]"],
    "subject": "Confirmação do Pedido #12345",
    "html_body": "<h1>Obrigado pelo seu pedido!</h1><p>O pedido #12345 foi confirmado.</p>",
    "plain_body": "Obrigado pelo seu pedido! O pedido #12345 foi confirmado.",
    "tag": "order-confirmation",
    "reply_to": "[email protected]"
  }'

Exemplo: Python

import requests

response = requests.post(
    "https://app1.frontengine.net/api/v1/send/message",
    headers={
        "X-Server-API-Key": "your-api-key",
        "Content-Type": "application/json",
    },
    json={
        "from": "[email protected]",
        "to": ["[email protected]"],
        "subject": "Bem-vindo!",
        "html_body": "<h1>Bem-vindo à nossa plataforma!</h1>",
    },
)

print(response.json())

Exemplo: Node.js

const response = await fetch(
  "https://app1.frontengine.net/api/v1/send/message",
  {
    method: "POST",
    headers: {
      "X-Server-API-Key": "your-api-key",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      from: "[email protected]",
      to: ["[email protected]"],
      subject: "Bem-vindo!",
      html_body: "<h1>Bem-vindo à nossa plataforma!</h1>",
    }),
  }
);

const data = await response.json();
console.log(data);

Envio Raw (RFC2822)

Envie uma mensagem RFC2822 pré-formatada. Útil para aplicações que constroem suas próprias mensagens MIME.

POST /api/v1/send/raw

Parâmetros:

Parâmetro Tipo Obrigatório Descrição
mail_from string Sim Endereço do remetente do envelope
rcpt_to array Sim Endereços de destinatários para entrega
data string Sim Mensagem RFC2822 codificada em Base64
bounce boolean Não Se esta é uma resposta de rejeição

Códigos de Erro:

Erro Descrição
UnauthenticatedFromAddress Domínio do remetente não verificado para este servidor

API de Mensagens

Obter Detalhes da Mensagem

Recupere detalhes completos sobre uma mensagem enviada.

POST /api/v1/messages/message

Parâmetros:

Parâmetro Tipo Obrigatório Descrição
id integer Sim O ID da mensagem
_expansions array/boolean Não Solicitar campos de dados adicionais. Passe true para todas as expansões ou um array com os nomes das expansões.

Códigos de Erro:

Erro Descrição
MessageNotFound Nenhuma mensagem encontrada com o ID fornecido

Obter Tentativas de Entrega

Recupere todas as tentativas de entrega de uma mensagem específica.

POST /api/v1/messages/deliveries

Parâmetros:

Parâmetro Tipo Obrigatório Descrição
id integer Sim O ID da mensagem

Códigos de Erro:

Erro Descrição
MessageNotFound Nenhuma mensagem encontrada com o ID fornecido

Próximos Passos

  • Autenticação — Configure SPF, DKIM e DMARC para seu domínio de envio
  • Webhooks — Receba notificações de eventos de entrega em tempo real