Começar
Quickstart Node.js
Use o fetch nativo do Node.js 18+. Não tem SDK oficial, a API é REST+JSON simples.
1. Instalação
shell
# Nenhuma dependência. Node 18+ tem fetch nativo.# Opcional: dotenv para carregar a chave do .envnpm install dotenv2. Enviar o primeiro e-mail
javascript
const KEY = process.env.JETSEND_KEY; // sm_live_...const r = await fetch("https://api.jetsend.com.br/v1/messages", { method: "POST", headers: { Authorization: `Bearer ${KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ from: "no-reply@suaempresa.com.br", fromName: "Sua Empresa", to: "cliente@exemplo.com", subject: "Bem-vindo!", html: "<h1>Olá!</h1><p>Sua conta foi criada.</p>", }),});const data = await r.json();if (!r.ok) throw new Error(data.error?.message ?? "Erro");console.log("Enviado:", data.id);Para exercitar devolução e reclamação sem gastar reputação, troque o destinatário por um apelido de teste.
3. Listar mensagens
javascript
const r = await fetch("https://api.jetsend.com.br/v1/messages?limit=50&status=delivered", { headers: { Authorization: `Bearer ${KEY}` },});const { data, nextCursor } = await r.json();console.log(`${data.length} mensagens, cursor=${nextCursor}`);4. Criar chave de API
javascript
const r = await fetch("https://api.jetsend.com.br/v1/api-keys", { method: "POST", headers: { Authorization: `Bearer ${KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ name: "Produção webhook" }),});const { id, key } = await r.json();// IMPORTANTE: 'key' só aparece nesta resposta. Guarde com segurança.console.log("Nova API key:", key);A chave aparece uma vez só. O que cada tipo de chave pode fazer está em Autenticação.
5. Verificar domínio
javascript
// 1) Cadastrar domínioconst create = await fetch("https://api.jetsend.com.br/v1/domains", { method: "POST", headers: { Authorization: `Bearer ${KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ domain: "suaempresa.com.br" }),});const { id, dnsRecords } = await create.json();console.log("Publique no DNS:", dnsRecords);// 2) Após publicar DKIM/SPF/DMARC, forçar verificação:const verify = await fetch(`https://api.jetsend.com.br/v1/domains/${id}/verify`, { method: "POST", headers: { Authorization: `Bearer ${KEY}` },});console.log("Status:", (await verify.json()).status);A resposta traz os registros de DNS (CNAME de DKIM e TXT de SPF) que você precisa publicar no provedor do domínio. Depois de publicar, chame POST /v1/domains/{id}/verify para forçar a verificação. O passo a passo, com as pegadinhas de provedor brasileiro, está em Verificar domínio.
