Guia

Como enviar OTP por SMS

Envie códigos de verificação (2FA) por SMS em minutos — com SDK oficial em Node.js e Python, ou direto pela API REST.

Um OTP (one-time password) é o código de uso único que confirma a identidade do usuário. Você gera o código no seu backend, envia por SMS e valida na volta. A SMSGo cuida da entrega para todas as operadoras do Brasil — o passo a passo abaixo leva cerca de 5 minutos.

  1. 1Crie a conta e pegue a SMSGo-keyCrie sua conta em smsgo.com.br (ganha R$10 de crédito grátis, sem cartão) e copie a SMSGo-key no painel, em Minha conta → API.
  2. 2Instale o SDKNode: npm i @orynlabs/smsgo. Python: pip install smsgo. Ou use a API REST direto via cURL — o SDK só cuida da autenticação pra você.
  3. 3Gere um código aleatórioNo seu backend, gere um número aleatório de 6 dígitos. É o código que o usuário vai digitar para confirmar a identidade.
  4. 4Envie o SMS com o códigoChame o método send (ou POST /v1/sms/send/single) com o telefone em formato internacional (+55…) e uma mensagem curta contendo o código e a validade.
  5. 5Guarde o código e verifiqueSalve o código com expiração (ex.: 5 minutos, em Redis) associado ao usuário. Na verificação, compare o que ele digitou e invalide o código após o uso.

Código de exemplo

import { SMSGo } from '@orynlabs/smsgo'

const smsgo = new SMSGo({ apiKey: process.env.SMSGO_KEY })

// 1. gere o código (6 dígitos)
const code = String(Math.floor(100000 + Math.random() * 900000))

// 2. envie
await smsgo.send({
  phone: '+5511999990000',
  message: `Seu código SMSGo é ${code}. Válido por 5 minutos.`,
})

// 3. guarde `code` com TTL (ex.: Redis) e compare na verificação
Boas práticas: mantenha a mensagem curta, sem links, com o nome da sua marca e a validade. Teste o texto no validador de SMS de OTP antes de subir para produção.

Perguntas frequentes

Como gerar o código OTP?
Gere um número aleatório de 6 dígitos no seu backend — você controla geração, validade e verificação. Evite sequências previsíveis.
Qual a validade ideal?
5 a 10 minutos. Curto o bastante para ser seguro, e sempre informado na mensagem.
Como verificar depois?
Salve o código com expiração (ex.: Redis com TTL), compare na verificação, invalide após o uso e limite tentativas.
Quanto custa?
A partir de R$ 0,07/SMS, pré-pago, sem mensalidade. Calcule no cálculo de custo de SMS.