Pular para o conteúdo
Voltar para a home

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 dotenv

2. 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.

Em outra linguagem

Python, PHP, cURL.