WebhookToolkit
Twilio

Testar um webhook Twilio localmente

Validar um handler da Twilio (SMS ou chamada recebida) sem enviar mensagens pagas de verdade: é possível. Gere uma requisição Twilio assinada (X-Twilio-Signature, HMAC-SHA1) no formato form-urlencoded, edite os parâmetros (From, To, Body) e envie para o seu servidor local.

🔒 Twilio é exclusivo do plano Pro — Liberar
Gere a assinatura para ver os headers, o body e o comando cURL pronto para colar.

Verificar a assinatura no servidor

handler.js (Node)
const twilio = require('twilio');
const valid = twilio.validateRequest(
  process.env.TWILIO_AUTH_TOKEN,
  req.headers['x-twilio-signature'],
  fullUrl,            // deve corresponder à URL de destino usada acima
  req.body            // parâmetros POST
);

Para receber um webhook real da Twilio na sua máquina, aponte o número para o seu túnel Relay.

Signature coming back invalid? This page signs. The Twilio signature validator does the opposite: paste the signature Twilio actually sent and it tells you which URL variant matches — which is to say, which line of your code is lying.

Perguntas frequentes

Como testar um SMS Twilio recebido localmente?

Escolha o evento 'Incoming SMS', informe o seu Auth Token e a URL exata do seu handler (a assinatura da Twilio depende da URL), e envie. O header X-Twilio-Signature é calculado em HMAC-SHA1 sobre a URL + parâmetros ordenados, como a Twilio faz.

Por que preciso fornecer a URL de destino?

A assinatura da Twilio inclui a URL completa do webhook no cálculo HMAC. Sem a URL certa, a assinatura não será válida no servidor. Por isso o campo URL de destino é obrigatório para a Twilio.

O formato é mesmo form-urlencoded?

Sim. Diferente de Stripe ou GitHub (JSON), a Twilio envia application/x-www-form-urlencoded. O gerador produz o Content-Type certo e codifica os parâmetros corretamente.

A Twilio está incluída no plano grátis?

A Twilio faz parte dos presets premium, disponíveis com o plano Pro por 14,90 €/mês.

Testar um webhook Twilio localmente — X-Twilio-Signature válido · Webhook Toolkit