import { SMSGo, verifyWebhookSignature } from '@orynlabs/smsgo'
const smsgo = new SMSGo({ apiKey: process.env.SMSGO_KEY })
const otp = await smsgo.send({
phone: '+5511999990000',
message: 'Seu código de verificação SMSGo é 184502. Válido por 5 minutos.',
})
console.log(otp.id, otp.status)// Webhook assinado entregue no seu endpoint
import { verifyWebhookSignature } from '@orynlabs/smsgo'
app.post('/webhook/smsgo', (req, res) => {
const signature = req.headers['x-smsgo-signature']
const payload = JSON.stringify(req.body)
// Verifique a assinatura HMAC-SHA256 antes de processar
const isValid = verifyWebhookSignature(payload, signature, process.env.SMSGO_WEBHOOK_SECRET)
if (!isValid) return res.status(401).send('inválido')
console.log(req.body.status, req.body.phone)
res.status(200).send('ok')
})Perguntas frequentes
Como funciona o OTP por SMS na SMSGo?
Você envia o código através da nossa API REST ou SDKs (Node.js, PHP, Python, Go). O usuário recebe o SMS em segundos e digita o código no seu app. Webhooks assinados informam entrega e falhas em tempo real.
Quanto tempo leva a entrega do código?
A maioria dos códigos OTP é entregue em até 10 segundos. Usamos roteamento inteligente com failover entre operadoras para maximizar a taxa de entrega no Brasil.
Preciso de cartão para testar?
Não. Ao criar a conta você recebe R$ 10 em créditos grátis, sem cartão de crédito e sem mensalidade. O modo de teste também permite validar o fluxo sem consumir créditos.
A API suporta 2FA?
Sim. A SMSGo é ideal para autenticação de dois fatores (2FA), recuperação de senha, confirmação de transações e qualquer fluxo que exija um código único por SMS.
Como garantir a LGPD no envio de OTP?
A SMSGo aplica opt-out automático, criptografia TLS, logs mínimos e retenção controlada. Você também pode usar nosso modo de teste para validar integrações sem dados de produção.
Pronto para implementar OTP?
Crie sua conta grátis e receba R$10 em créditos para testar a API de verificação da SMSGo.
Criar conta grátis