As mensagens que identidade precisa enviar
Códigos de verificação, convites, reset de senha e alertas de segurança — com template por canal e por idioma, enviados pelos seus provedores, com entrega que você realmente enxerga
Templates
Every message the platform sends, per channel and language.
Subject
Verify your email
Hi {{name}},
Your code is {{code}}. It expires in 10 minutes.
— Acme
Templates
Toda mensagem que a plataforma envia é um template seu, não uma string que escolhemos por você
Verify your email
Hi {{name}},
Your code is {{code}}. It expires in 10 minutes.
— Acme
{{code}} is your Acme code. Expires in 10 minutes.
A mesma mensagem, renderizada por canal e por idioma — variáveis checadas antes de qualquer coisa sair
Por canal
Versões de e-mail e SMS da mesma mensagem, editadas lado a lado
Por idioma
Um locale por template, com fallback quando falta um
Variáveis
Placeholders tipados, validados antes de um envio quebrado sair
Preview ao vivo
Veja a mensagem renderizada com valores reais antes de salvar
Seus provedores
Entregabilidade é uma relação com um provedor. Ela continua sendo sua
Providers
Delivery runs through your own accounts, per environment.
Traga seu SendGrid, Twilio ou SMTP. Desenvolvimento aponta para um sandbox, então teste nunca chega num telefone real
Seu próprio SMTP
Seu domínio, sua reputação, sua conta de provedor
Provedores de SMS
Configurados por ambiente, para que teste nunca ligue para um número real
Roteamento por ambiente
Desenvolvimento para sandbox, produção para o de verdade
Failover
Um segundo provedor para quando o primeiro tem uma tarde ruim
Entrega
"Ele recebeu o e-mail?" deveria custar uma query, não uma thread de suporte
Stats
What went out, through which channel, and whether it landed.
Summary
99.4% of messages delivered
Emails sent
57,071
SMS sent
12,088
Not sent
402
Recent events
Stats
Volume and failure rate per channel and template.
| Template | Channel | Sent | Failed |
|---|---|---|---|
| email-otp-verification | 48,210 | 0.2% | |
| reset-password-email | 6,904 | 0.4% | |
| grants-invite | 1,255 | 0.1% | |
| email-otp-verification | sms | 12,088 | 1.8% |
| welcome-user | 702 | 0.0% |
Taxa de entrega, volume por canal, e as mensagens que falharam com o motivo
Logs de entrega
Cada mensagem com status, resposta do provedor e tempo
Rate limits
Por destinatário e por template, para um retry em loop não gastar sua cota
Estatísticas
Volume e taxa de falha por canal e template ao longo do tempo
Retentativas
Backoff resolvido para você, com as tentativas visíveis
Nomeie o template, não o transporte
Provedores, templates e idiomas são configurados por ambiente. Seu código pede um template e um locale; todo o resto é configuração.
// Providers and templates are configured per environment,
// so the SDK only names the template it wants.
const { data, error } = await nulvless.comms.email.send({
to: "[email protected]",
template: "grants-invite",
language: "pt-BR",
params: { organization: "Acme Inc", role: "admin" },
});Uma plataforma, desde o primeiro usuário
Foque no seu produto. A infraestrutura de identidade é com a gente
O que você teria construído
Seis áreas, e cada uma delas é um projeto por si só.
- Autenticaçãosenhas, provedores, MFA, sessões
- AutorizaçãoRBAC, escopos, grants por recurso
- OAuth serverdiscovery OIDC, JWKS, PKCE
- Edge functionsruntime Deno, deploys, rollback
- Notificaçõestemplates, provedores, logs de entrega
- Observabilidademonitoramento, auditoria, consulta