aut2fa

Uma API para seus códigos 2FA

Você envia o código. A gente entrega.

Faça uma chamada de API com um telefone ou um e-mail. A aut2fa entrega o código por WhatsApp, SMS, Telegram ou e-mail, e o seu extrato mostra qual número enviou e quando ele foi enviado, entregue e lido.

Exemplo de entrega

Sua aplicação

POST /v1/send

  • WhatsApp
  • Telegram
  • SMS
  • E-mail

Código entregue

+55 31 9••••-9999

Código de verificação

482 913

Verificação concluídavalid: true
  • Uma integração, quatro canais
  • Chaves de teste grátis
  • Pague só pelo que foi entregue

Do primeiro POST ao código verificado

curl https://api.aut2fa.com/v1/send \
  -H "Authorization: Bearer ak_live_…" \
  -H "Content-Type: application/json" \
  -d '{"to": "+5531999999999"}'

# O usuário digitou 482913
curl https://api.aut2fa.com/v1/send/snd_8Kq2wR7tXz/verify \
  -H "Authorization: Bearer ak_live_…" \
  -H "Content-Type: application/json" \
  -d '{"code": "482913"}'

Status do envio

202 Accepted

snd_8Kq2wR7tXz

  1. queued
  2. sending

    channel: whatsapp

  3. sent

    from: +55 11 9••••-0142

  4. delivered
  5. read
  6. verified

Da requisição ao código verificado em três passos

Duas chamadas do seu backend. Tudo o que acontece no meio fica com a aut2fa.

  1. Envie

    Faça um POST com o telefone ou o e-mail. O ID do envio volta na hora. A aut2fa gera o código, a menos que você mande o seu.

    POST /v1/send

  2. A aut2fa entrega

    A aut2fa escolhe o canal e o número de envio, entrega o código e registra cada status com data e hora.

    GET /v1/send/{id}/status

  3. Verifique

    Quando o usuário digitar o código, faça um POST em /verify. A resposta diz se ele é válido e quantas tentativas restam.

    POST /v1/send/{id}/verify

Você nunca escolhe o canal

Envie um telefone ou um e-mail. A aut2fa decide como chegar até ele, e o status do envio diz qual canal e qual número foram usados. Uma integração cobre os quatro canais.

+5531999999999
WhatsAppTelegramSMS
No extrato, cada envio mostra o canal e o número que enviou.

Saiba o que aconteceu com cada código

O extrato lista cada envio com o canal, o número que enviou e quando ele foi enviado, entregue e lido.

Exemplo de extrato
Enviado àsParaCanalDeStatus
18:05:00+55 31 9••••-9999WhatsApp+55 11 9••••-0142Lido às 18:05:04
18:04:12+55 21 9••••-4410SMS+55 11 9••••-7731Entregue às 18:04:15
18:02:30+55 41 9••••-2087WhatsApp+55 11 9••••-0388Lido às 18:02:41
18:01:58+55 85 9••••-6120SMS+55 11 9••••-7731Falhou, sem cobrança
  • Roteamento automático

    Para cada código, a aut2fa escolhe o canal mais barato entre os que você permitiu e o número que envia. Você não precisa administrar contas em provedores.

  • Confirmação de entrega

    Acompanhe cada código em sent, delivered e read, com o horário de cada etapa que o canal informa.

  • Rate limit contra SMS pumping

    Toda conta tem um teto de envios por minuto. Além dele, ative limites por aplicação, por minuto e por destinatário por hora, para barrar SMS pumping.

  • Chaves de teste grátis

    Chaves ak_test_ são grátis, e os códigos que a aut2fa gera no modo teste são sempre 000000: seus testes rodam o fluxo real.

  • Chaves de idempotência

    Envie o header Idempotency-Key e uma requisição repetida devolve o envio original, sem mandar um segundo código.

  • Pague só pelo que foi entregue

    Cada envio custa o preço do canal que entregou. Se nenhum canal entregar, o envio não custa nada.

Envios disponíveis e preços

Compare os canais disponíveis hoje e confira o custo das quantidades sugeridas. Você só paga pelos códigos entregues.

Começar grátis
Carregando preços

Chaves de teste grátis para validar a integração.

SDKs para Node, PHP, Go e Python

Gratuitas e de código aberto no GitHub. As quatro cobrem os mesmos três endpoints.

Ver todas as SDKs
  • Node.js

    npm i @aut2fa/node
  • PHP

    composer require aut2fa/aut2fa-php
  • Go

    go get github.com/jhowbhz/aut2fa-go
  • Python

    pip install aut2fa

Perguntas frequentes

Por qual canal o usuário vai receber o código?

Um telefone pode receber o código por WhatsApp, Telegram ou SMS; um e-mail recebe por e-mail. Entre os canais que você permitiu, a aut2fa escolhe o mais barato. O status do envio e o seu extrato mostram o canal e o número que enviou.

Como funcionam as chaves de teste?

Chaves que começam com ak_test_ são grátis, e os códigos que a aut2fa gera no modo teste são sempre 000000. Seus testes automatizados rodam o fluxo inteiro sem mexer no saldo.

Quanto custa um código?

Cada canal tem seu preço por código, informado na página de preços. A aut2fa escolhe o canal mais barato entre os que você permitiu e cobra só o canal que entregou.

E se o código não for entregue?

Nada. O envio fica marcado como falho, o saldo não muda e o extrato mostra a falha.

Como eu pago?

Recarregue qualquer valor no painel, com Pix ou cartão. O pagamento passa pelo Mercado Pago e é cobrado em reais. Não há assinatura.

Como vocês evitam SMS pumping?

Toda conta tem um teto de envios por minuto. Você também pode ativar limites por aplicação: envios por minuto e envios por destinatário por hora. Requisições acima do limite recebem 429 com o header Retry-After, antes de qualquer envio.

Posso repetir uma requisição com segurança?

Sim, com o header Idempotency-Key. Repetir a requisição com a mesma chave devolve o envio original, sem mandar um segundo código.

Posso enviar meu próprio código?

Sim. Mande o código no campo code, ou deixe o campo de fora e a aut2fa gera um. Defina locale como en ou pt-BR para escolher o idioma da mensagem.

Envie o primeiro código com uma chave de teste grátis

Crie uma conta, copie sua chave ak_test_ e rode a requisição lá de cima.