Encoders & Utilities

Webhook Tester

Genera un URL unico, riceve qualsiasi richiesta HTTP e mostra metodo, header, query e body live.

Generates a new bin with a unique receiver URL. Solve the captcha to continue.

How it works

  • All HTTP methods are accepted (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS).
  • Text bodies are stored up to 10 KB; larger bodies are truncated. Binary bodies (images, files, octet-stream) are replaced with a 1 KB stub plus SHA-256 of the original.
  • A bin keeps the 10 most recent requests; older entries are dropped automatically (FIFO).
  • Bins live for 24 hours after their last activity. View opens, receive hits, all reset the timer.
  • Recognized signature headers (GitHub, Stripe, Slack, Shopify, Twilio) are highlighted, but never verified — we do not know your secret.

Informazioni su questo strumento

Webhook Tester offre un URL pubblico con un clic che cattura qualsiasi richiesta HTTP inviata ad esso — metodo, header, parametri di query, body (testo o binario), timestamp e IP di origine. L'URL rimane attivo per 24 ore; le richieste fluiscono nel browser in tempo reale tramite Server-Sent Events, così si vedono gli hit in arrivo nell'istante in cui atterrano senza polling. Ogni URL univoco è privato (un token casuale a 128 bit nel path), quindi solo le persone con cui lo si condivide possono postarvi.

Tutto ciò che viene catturato è mostrato affiancato: request line grezza, header, query analizzata, body con auto-rilevamento di JSON / XML / form-encoded / testo semplice. Header come X-Hub-Signature, Stripe-Signature o qualsiasi verifica in stile HMAC possono essere ispezionati per fare il debug di schemi di firma. Si può anche configurare la risposta — cambiare il codice di stato, aggiungere header di risposta o inviare un body JSON — per simulare l'endpoint di produzione e confermare che il produttore gestisca correttamente le risposte non-2xx.

Quando usare questo strumento

  • Integrazione con API di terze parti. Stripe, GitHub, Twilio, Slack — ognuna di esse necessita di un URL di callback pubblico contro cui sviluppare; questo strumento ne fornisce uno senza impostare tunnel.
  • Debug di payload webhook. Vedere i byte esatti che il mittente produce, header inclusi, prima di scrivere il proprio consumatore.
  • Test del comportamento di retry. Impostare la risposta a 500 e confermare che il produttore riprovi; passare a 200 e confermare che si fermi.
  • Riprodurre un problema. Catturare un payload webhook fallito, poi riprodurlo da un equivalente curl nel proprio server di sviluppo locale.

Su persistenza e privacy

Le richieste catturate vengono archiviate per 24 ore e poi cancellate. L'URL stesso rimane attivo durante quella finestra — condividere con cura, dato che chiunque lo possieda può postarci qualunque cosa. Per integrazioni sensibili (webhook di pagamento in produzione), usare invece uno strumento di tunnel-to-localhost (ngrok, cloudflared tunnel) — quello mantiene i payload interamente sulla macchina locale. Questo strumento è per sviluppo e test, non per traffico di produzione reale.

Domande frequenti

Quanto resta attivo il mio URL webhook?

24 ore dalla creazione. Le richieste catturate vengono conservate per la stessa finestra e poi auto-eliminate. Se serve un URL con vita più lunga, ricrearlo dalla stessa pagina (fornisce un token fresco) e aggiornare il mittente. Per integrazioni permanenti, ospitare un piccolo endpoint personale o usare uno strumento di tunneling che punta al proprio server di sviluppo locale.

Posso vedere le richieste in arrivo in tempo reale?

Sì — la pagina si abbona a Server-Sent Events (SSE) dal nostro backend, quindi ogni nuova richiesta appare nella tabella appena arriva, tipicamente entro millisecondi. Aggiornare la pagina se necessario; la cronologia è anche persistita lato server per la finestra di 24h, quindi un reload riprende l'elenco completo.

È sicuro per segreti di webhook di produzione?

No — i payload catturati restano sui nostri server per 24 ore e in linea di principio potrebbero essere letti da noi. Per webhook di produzione contenenti segreti (eventi di pagamento Stripe, token di repository GitHub), usare uno strumento di tunnel-to-localhost (ngrok, cloudflared tunnel) così il payload non lascia mai il proprio laptop. Questo strumento è per sviluppo / staging / debug occasionale di eventi di test.

Posso personalizzare la risposta?

Sì — impostare il codice di stato (200, 201, 204, 4xx, 5xx), aggiungere header di risposta (ad esempio Content-Type: application/json) e scrivere un body di risposta. Utile per confermare che il proprio produttore gestisca correttamente le risposte di errore. Molti mittenti di webhook riprovano su 5xx; configurare un 500 qui è il modo più semplice per verificare il comportamento di retry senza toccare il codice di produzione.