Strukturera och förstå webhook-förfrågningar
Ett webhook-anrop är i grunden en HTTP-förfrågan som skickas från en källapplikation till en mottagande server när en specifik händelse inträffar. För API-utvecklare, integrationsingenjörer, kundtjänstrepresentanter och automationsansvariga är det avgörande att förstå den exakta strukturen på dessa förfrågningar. Genom att analysera hur metoder, rubriker och meddelandekroppar samverkar blir det enklare att felsöka integrationer och säkerställa att mottagarsystemet kan tolka datan korrekt.
När en webhook tas emot består den av tre huvuddelar:
- Metod: Den HTTP-metod som används för att överföra datan (exempelvis POST, PUT, PATCH, GET eller DELETE).
- Rubriker: Metadata som beskriver förfrågan, innehållstyp och säkerhetsparametrar.
- Brödtext (Body): Den faktiska nyttolasten (payload) som innehåller informationen om händelsen.
Att bevara den exakta råtexten från brödtexten innan någon server-side parsing sker är kritiskt. Om en server eller ett mellanliggande bibliotek hinner modifiera eller formatera om datan kan viktiga detaljer gå förlorade, vilket gör felsökning och signaturkontroll svår eller omöjlig.
Rubrikernas roll och vanliga signaturfält
Rubriker i ett webhook-anrop bär på viktig information om hur meddelandet ska hanteras och verifieras. Förutom standardrubriker som anger innehållstyp (till exempel Content-Type), skickar många moderna webhook-leverantörer med säkerhetsrelaterade rubriker. Dessa används för att mottagaren ska kunna kontrollera att anropet faktiskt kommer från rätt avsändare och inte har manipulerats under överföringen.
Verktyget identifierar automatiskt vanliga signatur- och tidsstämpelrubriker genom att söka efter specifika namnmönster i de angivna rubrikerna. Det letar efter nyckelord som:
signaturehmacdigest- Vanliga namn på tidsstämplar (timestamps)
Om verktyget hittar matchande rubriker listas de under sektionen för signaturfält. Om inga sådana rubriker identifieras visas meddelandet "Ingen vanlig signatur eller webhook tidsstämpel rubrik hittades.".
Skillnaden mellan inspektion och verifiering
Det är viktigt att förstå gränsen mellan att identifiera en signaturrubrik och att faktiskt verifiera dess giltighet. Att hitta ett signaturfält bevisar inte att begäran är autentisk – verklig verifiering kräver avsändarens signeringsregler, hemlighet eller nyckel, samt de ursprungliga begärandebyten. Verktyget utför inga HMAC-beräkningar, algoritmanalyser, kontroller av ursprungliga payload-bytes, hantering av hemliga nycklar, kontroll av replay-fönster eller leverantörsspecifik verifiering. Det fungerar enbart som en visuell granskare.
Hantering av olika brödtextformat
Webhooks levereras vanligtvis i något av två dominerande format: JSON eller URL-kodad formulärdata. Verktyget känner automatiskt av dessa format och strukturerar upp dem för att göra dem mer läsbara:
- JSON: Om brödtexten identifieras som JSON tolkas den med hjälp av
JSON.parseoch struktureras om. Detta innebär att ursprungliga blanksteg, indrag och den exakta ordningsföljden på fälten går förlorade i den formaterade vyn. - URL-kodad formulärdata: Denna typ av brödtext avkodas och ställs upp på ett strukturerat sätt.
- Övriga format: Om brödtexten är av ett annat format lämnas den som vanlig text utan formatering. Om ingen brödtext skickas med visas texten "(tom kropp)".
Lokala tester med cURL
När du har inspekterat och förstått strukturen på din webhook-förfrågan är nästa steg ofta att återskapa anropet lokalt för att testa din egen applikation. Verktyget genererar automatiskt ett färdigt cURL-kommando baserat på dina indata.
Detta kommando är hårdkodat att rikta sig mot en lokal utvecklingsmiljö på adressen http://localhost:3000/webhooks. Genom att kopiera detta kommando och köra det i din terminal kan du enkelt skicka exakt samma rubriker och brödtext till din lokala kod för att verifiera att din mottagare hanterar datan på rätt sätt.
Begränsningar och felmeddelanden
För att säkerställa stabil drift och korrekt tolkning tillämpar verktyget ett antal valideringsregler och storleksgränser. Om dessa gränser överskrids eller om indatan är felaktig visas specifika felmeddelanden:
- Tom indata: Om du försöker köra en analys utan att ha fyllt i något visas felmeddelandet "Klistra in minst en rubrik eller en förfrågningstext först.".
- För långa rubriker: Rubrikerna får maximalt innehålla 100 000 tecken. Om detta överskrids visas "Rubrikerna är för långa för det här verktyget. Ta bort orelaterade eller upprepade värden.".
- För många rubrikrader: Du kan ange maximalt 200 icke-tomma rubrikrader. Om du anger fler visas "Det finns för många rubrikrader. Behåll begäran till 200 rubriker eller färre.".
- Felaktigt rubrikformat: Varje rubrik måste anges på en egen rad i formatet "Namn: värde". Om en rad avviker visas felet "
‹line›: Rubrikraden är ogiltig. Använd namn: värde.". - För stor brödtext: Brödtexten får inte överskrida 1 000 000 tecken. Om gränsen nås visas "Kroppen är för lång för detta verktyg. Håll det under 1 000 000 tecken.".
- Trasig JSON: Om brödtexten påminner om JSON men innehåller syntaxfel visas "Kroppen ser ut som JSON men kunde inte tolkas.".
- Trasig formulärdata: Om en URL-kodad brödtext innehåller felaktiga teckenkodningar visas "Formulärets brödtext innehåller en ofullständig procentuell escape.".
Integritet och databehandling
När du arbetar med webhook-data kan förfrågningarna ibland innehålla känslig information eller unika identifierare. Din inklistrade begäran stannar i din webbläsare. BroBroGo laddar inte upp eller sparar det. All bearbetning och formatering sker lokalt i din egen klient.
Vanliga frågor
Kan den här sidan ta emot en live-webhook-återuppringning?
Nej. Klistra in en hämtad begäran här för inspektion. Sidan skapar inte en offentlig slutpunkt, tar inte emot återuppringningar eller skickar den genererade testförfrågan.
Vilka webbhook-kroppsformat kan jag inspektera?
JSON- och URL-kodade formulärkroppar detekteras och formateras. Andra kroppar förblir som vanlig text så att verktyget inte gissar på XML, flerdelat eller binärt innehåll.
Bevisar att hitta ett signaturfält att begäran är autentisk?
Nej. Verktyget visar bara rubriker för signaturer och relaterade tidsstämplar. Verklig verifiering behöver avsändarens exakta signeringsregler, hemlig eller offentlig nyckel, och den ursprungliga begärandebyten.