Como migrar do Twilio para a SMSGo em 10 minutos

Por que migrar do Twilio para a SMSGo? Se você envia SMS para clientes no Brasil, a SMSGo elimina a cobrança em dólar, reduz a latência com rotas locais e oferece suporte em português, chinês e inglês — sem perder a qualidade de uma API dev-first. O trabalho técnico de migração é pequeno: trocar a base URL, ajustar a autenticação para o fluxo SMSGo-key → Bearer token e adaptar os campos do payload. Em cerca de 10 minutos sua aplicação está enviando SMS pela SMSGo.

Principais diferenças entre Twilio e SMSGo

  • Moeda: Twilio cobra em USD; SMSGo cobra em Real (BRL), sem variação cambial nem IOF.
  • Roteamento: Twilio usa rotas internacionais para o Brasil; SMSGo usa rotas locais com Vivo, Claro, TIM e Oi.
  • Autenticação: Twilio usa Account SID + Auth Token em cada request; SMSGo usa SMSGo-key para trocar por um Bearer token de 48h em GET /v1/auth/token.
  • Payload: Twilio exige To, From e Body; SMSGo usa phone e message em POST /v1/sms/send/single.
  • Teste: Twilio exige cartão e verificação de conta para o trial; SMSGo dá R$ 10 grátis sem cartão.
  • Suporte: SMSGo oferece suporte técnico direto em português para desenvolvedores no Brasil.

Passo a passo da migração

  1. Crie sua conta na SMSGo e copie a SMSGo-key em Minha conta > API.
  2. Substitua a URL base de https://api.twilio.com/2010-04-01/... para https://api.smsgo.com.br/v1.
  3. Troque a autenticação: chame GET /v1/auth/token com o header SMSGo-key para obter um Bearer token válido por 48 horas.
  4. Envie o SMS com POST /v1/sms/send/single, passando phone e message no corpo JSON e o token no header Authorization: Bearer ....
  5. Atualize o webhook para a nova URL da SMSGo e valide a assinatura HMAC-SHA256 no header X-SMSGo-Signature.

Antes e depois: exemplo em Node.js

Antes, com Twilio SDK:

import twilio from 'twilio'

const client = twilio(process.env.TWILIO_SID, process.env.TWILIO_TOKEN)

await client.messages.create({
  body: 'Seu codigo e 1234',
  from: '+1234567890',
  to: '+5511999990000',
})

Depois, com o SDK oficial da SMSGo:

import { SMSGo } from '@orynlabs/smsgo'

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

const sms = await smsgo.send({
  phone: '+5511999990000',
  message: 'Seu codigo SMSGo e 184502',
})

console.log(sms.id, sms.status)

Se preferir manter requisições HTTP puras, a chamada fica assim:

const tokenRes = await fetch('https://api.smsgo.com.br/v1/auth/token', {
  headers: { 'SMSGo-key': process.env.SMSGO_KEY },
})
const { token } = await tokenRes.json()

const sendRes = await fetch('https://api.smsgo.com.br/v1/sms/send/single', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${token}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    phone: '+5511999990000',
    message: 'Seu codigo SMSGo e 184502',
  }),
})

Crédito de boas-vindas para validar a migração

Novas contas na SMSGo recebem R$ 10 em créditos grátis no cadastro, sem cartão de crédito. Use esse saldo para testar a integração, comparar a entrega e ajustar seus webhooks antes de migrar o tráfego real. Os créditos pré-pagos não expiram e não há mensalidade.

Webhooks de entrega

Em vez de consultar o status do SMS em loop, cadastre uma URL de webhook no painel ou via PUT /v1/account/webhook. A SMSGo envia um POST para o seu endpoint a cada mudança de status, com assinatura HMAC-SHA256 no header X-SMSGo-Signature:

{
  "event": "sms.status",
  "data": {
    "sendId": "uuid-do-envio",
    "phone": "5511999990000",
    "status": "delivered"
  }
}

FAQ

Preciso reescrever toda a aplicação?

Não. A mudança se concentra na camada de envio de SMS: endpoint, autenticação e leitura dos callbacks. A lógica de negócio do seu sistema permanece a mesma.

E os números já cadastrados no formato nacional?

O SDK da SMSGo normaliza números para E.164 automaticamente. Se você mantém requisições manuais, converta para +5511999990000 antes de enviar.

Os webhooks antigos do Twilio ainda funcionam?

Não. Você precisa cadastrar a nova URL de webhook na SMSGo e ajustar a validação para o HMAC-SHA256. Veja o guia de webhook de SMS na prática.

Quanto tempo leva a migração?

Para a maioria das aplicações Node.js, Python, PHP ou Go, entre 10 e 30 minutos: trocar a autenticação, ajustar os campos e testar com a chave de teste.

A SMSGo cobra em dólar?

Não. Todos os créditos e preços da SMSGo são em Real (BRL), o que elimina surpresas de câmbio e IOF.

Comece a migração agora

Crie sua conta grátis na SMSGo, instale o SDK @orynlabs/smsgo e migre sua integração em minutos. Para comparar preços antes de decidir, use a página de preço de API SMS ou a calculadora de SMS.

Equipe Editorial SMSGo
Equipe Editorial SMSGoTime de Conteúdo

O time da SMSGo escreve sobre API de SMS, OTP, webhooks e boas práticas de mensageria para empresas brasileiras.