Guia

Como enviar OTP por SMS

Envie códigos de verificação (2FA) por SMS em minutos — com SDK oficial 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 backend, envia por SMS e valida na volta. A SMSGo cuida da entrega para as operadoras do Brasil; o processo leva cerca de 5 minutos.

  1. 1Crie a conta e pegue a SMSGo-keyCrie sua conta, receba 3 SMS grátis sem cartão e copie a SMSGo-key em Minha conta → API.
  2. 2Instale o SDKUse npm i @orynlabs/smsgo, pip install smsgo ou a API REST via cURL.
  3. 3Gere um código aleatórioNo backend, gere um número aleatório de 6 dígitos.
  4. 4Envie o SMS com o códigoChame send ou POST /v1/sms/send/single com telefone internacional, código e validade.
  5. 5Guarde o código e verifiqueSalve com expiração associado ao usuário, compare o valor digitado, limite tentativas e invalide 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 sua marca e a validade. Teste no validador de SMS de OTP.

Perguntas frequentes

Como gerar o código OTP?
Gere um número aleatório de 6 dígitos no backend; você controla geração, validade e verificação. Evite sequências previsíveis.
Qual a validade ideal?
De 5 a 10 minutos. Informe a validade na mensagem.
Como verificar depois?
Salve com expiração, compare na verificação, invalide após o uso e limite tentativas.
Quanto custa?
A partir de R$0,07/SMS, pré-pago e sem mensalidade.