Webhooks
Avisado quando acontece, não quando pergunta.
Registe um endpoint https e receba um POST assinado quando chega correio, sai, é devolvido ou é aberto.
Em resumo
O que é um webhook de email?
Um webhook é um pedido HTTP que um serviço envia para o seu URL quando algo acontece, para que o seu código reaja em vez de sondar. No email, isso é correio a chegar, a sair, a ser devolvido ou a ser aberto.
20
eventos a que pode subscrever
10
endpoints por caixa de correio
5
tentativas por evento, no máximo
100
falhas seguidas desativam um endpoint
Como funciona
Todas as formas de enviar, um evento
O editor, um envio agendado para terça-feira e a API geram email.sent. O agendamento gera primeiro email.scheduled.
Assinado, e cabe-lhe a si verificar
Cada POST leva um HMAC-SHA-256 da marca temporal e do corpo em bruto. Verifique os bytes tal como chegaram e recuse tudo o que tenha mais de 300 segundos.
Repetido só quando pode resultar
Tempos esgotados, 408, 425, 429 e 5xx são repetidos após 1, 5 e 25 minutos, e depois 2 horas. Qualquer outro 4xx é final, e 410 desliga o endpoint.
Vinte eventos em três famílias
Não escolher nenhum subscreve todos os eventos de mensagem exceto email.replied.
Verificar uma entrega
O SDK verifica o HMAC em tempo constante e recusa entregas com mais de cinco minutos.
import { verifyWebhookSignature } from '@openemail/sdk' export default async (request: Request) => { const event = await verifyWebhookSignature({ payload: await request.text(), headers: request.headers, secret: process.env.OPENEMAIL_WEBHOOK_SECRET! }) console.log(event.type, event.data) return new Response(null, { status: 204 })}O que recebe
Já no produto
Cinco segundos, em paralelo
Os endpoints são chamados ao mesmo tempo, por isso dez continuam a demorar cinco segundos.
Só https público
Hosts privados e de loopback são recusados, e um redirecionamento nunca é seguido.
Cada tentativa registada
Cada uma mostra o que o seu servidor respondeu e quanto tempo demorou.
Boas práticas
Tirar o máximo partido
- 01
Responda, depois trabalhe
Devolva um 2xx em cinco segundos e faça o trabalho lento depois.
- 02
Descarte ids repetidos
Guarde cada id X-OpenEmail-Delivery que tratar e ignore as repetições.
- 03
Rode com os dois segredos
Rodar substitui o segredo de imediato, por isso verifique com o antigo e o novo até a sua implementação estar no ar.
Perguntas
O que mais nos perguntam
Continue a explorar
Combina bem com
Começar
O seu domínio,
o seu correio.
Aponte um domínio para o OpenEmail e leia o correio dele numa caixa de correio construída à volta dele. O plano gratuito inclui um domínio.