Uma API de email que funciona com o cliente HTTP que já tem.
Nenhum SDK para instalar: curl, fetch ou requests chegam. Um esquema OpenAPI, erros estruturados e um modo de teste tornam o resto previsível.
- Sem cartão para testar
- Preços em euros, sem IVA
curl -X POST https://api.outstamp.dev/v1/emails \
-H "Authorization: Bearer $OUTSTAMP_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: welcome-42" \
-d '{
"from": "Acme <[email protected]>",
"to": "[email protected]",
"subject": "Bem-vindo à Acme",
"html": "<p>A sua conta está pronta.</p>"
}'const response = await fetch("https://api.outstamp.dev/v1/emails", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.OUTSTAMP_API_KEY}`,
"Content-Type": "application/json",
"Idempotency-Key": `welcome-${user.id}`
},
body: JSON.stringify({
from: "Acme <[email protected]>",
to: "[email protected]",
subject: "Bem-vindo à Acme",
html: "<p>A sua conta está pronta.</p>"
})
});
const email = await response.json(); // 202, { id, status: queued }import os, requests
response = requests.post(
"https://api.outstamp.dev/v1/emails",
headers={
"Authorization": f"Bearer {os.environ['OUTSTAMP_API_KEY']}",
"Idempotency-Key": f"welcome-{user.id}",
},
json={
"from": "Acme <[email protected]>",
"to": "[email protected]",
"subject": "Bem-vindo à Acme",
"html": "<p>A sua conta está pronta.</p>",
},
)
email = response.json() # 202, { id, status: queued }Feita para a sua forma de trabalhar.
Erros sobre os quais pode agir
Cada erro tem um
type, umcodeestável, oparameterem causa, umrequest_ide se éretryable.Um esquema OpenAPI
Um esquema canónico descreve cada endpoint, campo e erro, para o seu gerador de clientes ou para os seus testes.
Documentação que o seu agente de código consegue ler
llms.txt e llms-full.txt dão às ferramentas de programação com IA toda a documentação num só pedido.
Chaves de teste com resultados conhecidos
As chaves
os_test_e os endereços do simulador permitem que os seus testes verifiquem bounces e queixas, não só o cenário de sucesso.
Quando pode querer outra coisa.
Preferimos que escolha bem a que mude duas vezes.
- Quer já um SDK tipado na sua linguagem. O Outstamp ainda não tem nenhum, embora o esquema OpenAPI possa gerar um.
- A sua stack só fala SMTP. O Outstamp ainda não tem relay SMTP.
Da chave ao primeiro email.
- 1
Copie uma chave de teste
Crie-a no painel e guarde-a nas variáveis de ambiente do seu servidor.
- 2
Faça um pedido
POST /v1/emailscom from, to, subject e html. Recebe202e um id. - 3
Leia os eventos
GET /v1/emails/{id}/events, ou subscreva um endpoint de webhook.
Perguntas de programadores.
Que linguagens posso usar?
Qualquer linguagem que consiga fazer um pedido HTTPS. A documentação mostra curl, Node.js e Python.
Há limite de pedidos?
Sim, por projeto, e aumenta à medida que o seu histórico de envio cresce. Os limites e os respetivos códigos de erro estão em Limites e erros.
Como descubro o que correu mal num pedido?
Registe o request_id do erro. Ele liga o pedido ao email no seu painel.
Faça o seu primeiro pedido em modo de teste.
Sem cartão, sem DNS e sem SDK.
- Sem cartão para testar
- Preços em euros, sem IVA