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,FromeBody; SMSGo usaphoneemessageemPOST /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
- Crie sua conta na SMSGo e copie a SMSGo-key em Minha conta > API.
- Substitua a URL base de
https://api.twilio.com/2010-04-01/...parahttps://api.smsgo.com.br/v1. - Troque a autenticação: chame
GET /v1/auth/tokencom o headerSMSGo-keypara obter um Bearer token válido por 48 horas. - Envie o SMS com
POST /v1/sms/send/single, passandophoneemessageno corpo JSON e o token no headerAuthorization: Bearer .... - 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.