Auditoria de capacidades (esta plataforma)

As contagens abaixo refletem o que a aplicação expõe hoje aos integradores. Qualquer linguagem que envie HTTPS + JSON pode chamar estes endpoints; a página inclui seis pilhas de exemplo prontas para copiar.

5

Superfícies de integração

6

Linguagens de exemplo

6

Padrões de uso

Superfícies: (1) Envio transacional REST, (2) ingestão de alertas de cliente REST, (3) Deliverability Intel REST, (4) SMTP relay (protocolo, não JSON), (5) webhooks de engajamento de saída (você recebe HTTPS POSTs da Sendarix). Endpoints de sessão do painel como GET /api/keys são fluxos de navegador/sessão, não automação X-API-Key.

Superfícies de integração

SuperfícieMecanismoBase / entrada
Envio transacional POST JSON, chave de API da conta POST /v1/email/send (alias /v1/send)
Alertas de cliente POST JSON, mesmo middleware de chave que o envio POST /v1/alerts/ingest
Deliverability Intel GET/POST JSON, chave de API de entregabilidade do workspace /api/deliverability/v1/* (7 rotas)
SMTP relay SMTP AUTH (host, porta, usuário, senha do painel) Ver SMTP Relay
Webhooks de engajamento Seu endpoint HTTPS recebe POSTs assinados Configure no app → Webhooks

Autenticação

  • Chave de API da conta (envio + alertas): cabeçalho X-API-Key: … ou Authorization: Bearer …. Query opcional ?api_key= é suportada para ferramentas, mas cabeçalhos são recomendados.
  • Chave de API de entregabilidade: cabeçalho X-API-Key (escopo do workspace; emitida para Intel / monitor de entregabilidade).
  • Idempotência (envio): cabeçalho opcional Idempotency-Key para novas tentativas seguras.

As chaves são criadas e rotacionadas no painel do cliente (gestão de API). Modos de escopo estão descritos na política interna de escopo da aplicação para chaves restritas.

Send API

POST https://app.sendarix.com/v1/email/send

Campos do corpo JSON (obrigatórios salvo indicação):

  • from — endereço de remetente verificado
  • to — string ou array de endereços
  • subject
  • html e/ou text — espera-se pelo menos um corpo não vazio (texto puro pode ser derivado do HTML)
Nota multi-destinatário: A API valida cada endereço em to, mas o caminho de transporte atual entrega ao primeiro destinatário. Para várias entregas distintas, faça uma requisição por destinatário (ou use SMTP para fluxos multi-RCPT).

Respostas bem-sucedidas incluem identificadores como message_id e sx_trace_id para correlação com logs e webhooks.

Ingestão de alertas de cliente

POST https://app.sendarix.com/v1/alerts/ingest

Campos JSON típicos: event_type, severity (info, warning, critical), source, message, opcionais entity_type, entity_id, context (objeto). A entrega depende das regras de alerta no painel.

Deliverability Intel API

Base: /api/deliverability/v1/. Endpoints incluem workspaces, clients, domains, status de blacklist e geração de relatórios. Todos exigem a chave de API de entregabilidade do workspace.

GET/workspaces
GET/clients
POST/clients
GET/domains
POST/domains
GET/blacklists/status
POST/reports/generate

SMTP relay e webhooks estilo inbound

SMTP usa envio de e-mail padrão com credenciais do painel — adequado para apps legados e MTAs. Webhooks de engajamento saem da Sendarix para sua URL para eventos de entrega e engajamento (veja a página do produto para payload e segurança).

Webhooks inbound voltados ao provedor (ex.: Postal) são endpoints de infraestrutura, não alvos de integração do cliente.

Send API — exemplos (6 linguagens)

Substitua YOUR_API_KEY e endereços. O mesmo JSON para cada stack.

# Bash — envio transacional
curl -sS -X POST 'https://app.sendarix.com/v1/email/send' \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Idempotency-Key: order-10042-reset' \
  -d '{
    "from": "noreply@example.com",
    "to": "user@example.com",
    "subject": "Redefini\u00e7\u00e3o de senha",
    "text": "Use este link para redefinir sua senha.",
    "html": "<p>Use este link para redefinir sua senha.</p>"
}'
// Node 18+ (fetch global)
const res = await fetch('https://app.sendarix.com/v1/email/send', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': 'YOUR_API_KEY',
    'Idempotency-Key': 'order-10042-reset',
  },
  body: JSON.stringify({
    from: 'noreply@example.com',
    to: 'user@example.com',
    subject: "Redefinição de senha",
    text: "Use este link para redefinir sua senha.",
    html: "<p>Use este link para redefinir sua senha.<\/p>",
  }),
});
console.log(await res.json());
# Python 3
import json, urllib.request

req = urllib.request.Request(
    'https://app.sendarix.com/v1/email/send',
    data=json.dumps({
        'from': 'noreply@example.com',
        'to': 'user@example.com',
        'subject': "Redefinição de senha",
        'text': "Use este link para redefinir sua senha.",
        'html': "<p>Use este link para redefinir sua senha.<\/p>",
    }).encode(),
    headers={
        'Content-Type': 'application/json',
        'X-API-Key': 'YOUR_API_KEY',
        'Idempotency-Key': 'order-10042-reset',
    },
    method='POST',
)
with urllib.request.urlopen(req) as r:
    print(r.read().decode())
<?php
$ch = curl_init('https://app.sendarix.com/v1/email/send');
$payload = json_encode([
    'from' => 'noreply@example.com',
    'to' => 'user@example.com',
    'subject' => 'Redefinição de senha',
    'text' => 'Use este link para redefinir sua senha.',
    'html' => '<p>Use este link para redefinir sua senha.</p>',
]);\ncurl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        'Content-Type: application/json',
        'X-API-Key: YOUR_API_KEY',
        'Idempotency-Key: order-10042-reset',
    ],
    CURLOPT_POSTFIELDS => $payload,
    CURLOPT_RETURNTRANSFER => true,
]);
echo curl_exec($ch);
// Go
package main

import (
    "bytes"
    "encoding/json"
    "net/http"
)

func main() {
    body, _ := json.Marshal(map[string]any{
        "from":    "noreply@example.com",
        "to":      "user@example.com",
        "subject": "Redefinição de senha",
        "text":    "Use este link para redefinir sua senha.",
        "html":    "<p>Use este link para redefinir sua senha.<\/p>",
    })
    req, _ := http.NewRequest("POST", "https://app.sendarix.com/v1/email/send", bytes.NewReader(body))
    req.Header.Set("Content-Type", "application/json")
    req.Header.Set("X-API-Key", "YOUR_API_KEY")
    req.Header.Set("Idempotency-Key", "order-10042-reset")
    res, _ := http.DefaultClient.Do(req)
    defer res.Body.Close()
}
# Ruby — net/http
require 'json'
require 'net/http'
uri = URI('https://app.sendarix.com/v1/email/send')
req = Net::HTTP::Post.new(uri)
req['Content-Type'] = 'application/json'
req['X-API-Key'] = 'YOUR_API_KEY'
req['Idempotency-Key'] = 'order-10042-reset'
req.body = {
  from: 'noreply@example.com',
  to: 'user@example.com',
  subject: "Redefinição de senha",
  text: "Use este link para redefinir sua senha.",
  html: "<p>Use este link para redefinir sua senha.<\/p>",
}.to_json
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |h| h.request(req) }
puts res.body

Padrões de uso (6)

  1. Envio único — um POST por mensagem, sem cabeçalho de idempotência.
  2. Nova tentativa idempotente — mesmo Idempotency-Key + corpo em falhas de rede.
  3. Auth Bearer — troque X-API-Key por Authorization: Bearer YOUR_API_KEY.
  4. HTML + text — forneça ambos para renderização estilo multipart-alternative onde suportado.
  5. Fan-out de alertas — POST em /v1/alerts/ingest a partir dos seus monitores; roteamento é por política na UI.
  6. Automação de entregabilidade — faça poll ou altere recursos Intel em /api/deliverability/v1/* com a chave do workspace.

Pronto para migrar para uma infraestrutura de e-mail confiável?

Comece grátis sem cartão ou fale com vendas para alto volume e enterprise.

Começar a enviarFalar com vendas