Oferta de lanzamiento: −50 % en tu primer pago, hasta el 30 de noviembre.Ver la oferta →
webhook·toolkit
Twilio

Probar un webhook de Twilio en local

Validar un handler de Twilio (SMS o llamada entrante) sin enviar mensajes reales de pago: es posible. Genera una petición de Twilio firmada (X-Twilio-Signature, HMAC-SHA1) en formato form-urlencoded, edita los parámetros (From, To, Body) y envíala a tu servidor local.

Genera la firma para ver los headers, el body y el comando cURL listo para pegar.

Verificar la firma en el servidor

handler.js (Node)
const twilio = require('twilio');
const valid = twilio.validateRequest(
  process.env.TWILIO_AUTH_TOKEN,
  req.headers['x-twilio-signature'],
  fullUrl,            // debe coincidir con la URL de destino usada arriba
  req.body            // parámetros POST
);

Para recibir un webhook real de Twilio en tu máquina, apunta el número a tu 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.

Preguntas frecuentes

¿Cómo probar un SMS entrante de Twilio en local?

Elige el evento 'Incoming SMS', rellena tu Auth Token y la URL exacta de tu handler (la firma de Twilio depende de la URL) y envía. El header X-Twilio-Signature se calcula en HMAC-SHA1 sobre la URL + los parámetros ordenados, igual que lo hace Twilio.

¿Por qué tengo que proporcionar la URL de destino?

La firma de Twilio incluye la URL completa del webhook en el cálculo HMAC. Sin la URL correcta, la firma no será válida en el servidor. Por eso el campo URL de destino es obligatorio para Twilio.

¿El formato es realmente form-urlencoded?

Sí. A diferencia de Stripe o GitHub (JSON), Twilio envía application/x-www-form-urlencoded. El generador produce el Content-Type correcto y codifica los parámetros adecuadamente.

¿Twilio está incluido en el plan gratuito?

No: todos los proveedores del Signer, Twilio incluido, son gratuitos. El Pass de 7 días (5 €) y Pro (9 €/mes) añaden explicaciones de IA, 25 URL permanentes, 30 días de historial y el túnel Relay, que devuelve tu TwiML local a Twilio.

Oferta de lanzamiento · −50 %

¿Depurando una integración de webhooks esta semana?

El Pass 7 días desbloquea las explicaciones con IA y el código del handler listo para pegar, 25 URL permanentes, 30 días de historial y el túnel Relay a localhost. Un solo pago, sin suscripción.

5 € 2,50 € una vez
Pago único · sin suscripción · reembolso en 14 días · precio de lanzamiento hasta el 30 de noviembre
Probar un webhook de Twilio en local — X-Twilio-Signature válido · Webhook Toolkit