Historik og fejlfinding
Hver eneste anmodning, der modtages af en webhook, registreres - uanset om den accepteres eller afvises. Loggen er det første sted, man skal kigge, når noget ikke er sket.
Oplæsning af en bøn
Åbn »Historik« og klik på en post. Du får vist tidsstempel, status, afsender, varighed, Payloaden, de (maskerede) anmodningsheadere, forespørgselsstrengen samt - i tilfælde af fejl - fejlmeddelelsen og hvert enkelt genforsøgsforsøg.
| Status | Betydning |
|---|---|
| Afventer | Godkendt og sat i kø, endnu ikke leveret til Shopify Flow |
| Succes | Shopify Flow accepterede udløseren |
| Mislykket | Leveringen er mislykket permanent - årsagen fremgår af detaljesiden |
Kolonnen »Invoked by« angiver, hvor et opkald stammer fra: User (et eksternt system), Flow (en Shopify Flow-handling, der kalder webhooken), Test (knappen »Test«) eller CURL.


Afvisninger, og hvad de enkelte betyder
En afvist anmodning når aldrig frem til Shopify Flow. Svarteksten indeholder en maskinlæsbar code:
| Kode | HTTP | Hvad gik der galt? | Rettelse |
|---|---|---|---|
webhook_not_found |
404 | Kortkode ukendt | Tjek URL’en; webhooken er muligvis blevet slettet |
webhook_disabled |
400 | Webhook er slået fra | Aktivér den på webside for webhooks |
unauthorized |
401 | Token mangler eller er forkert | Kontroller tokenet og navnet på headeren |
missing_signature |
401 | HMAC-tilstand, ingen signaturhoved | Send den signaturhoved, som din forudindstilling forventer |
invalid_signature |
401 | Underskriften stemte ikke overens | Bekræft underskriftsnøglen og, at indholdet ikke er blevet ændret under overførslen |
auth_not_configured |
401 | Autentificeringsmodus er indstillet, men der er ikke gemt noget token | Gem og token på webhooken |
invalid_json |
400 | Teksten er ikke gyldig JSON | Send gyldig JSON, eller angiv den Content-Type, som din brødtekst rent faktisk har (formulardata og XML læses også) |
invalid_body |
400 | Det var ikke muligt at læse en formular eller en XML-tekst, eller teksten er den bogstavelige tekst »null« |
Send et JSON-objekt eller en brødtekst, der svarer til dens Content-Type |
mapping_field_missing |
400 | Et kortlagt felt mangler i payloaden | Send feltet, eller fjern tilknytningen |
unexpected_fields |
400 | Der er felter i tabellen, der ikke er tilknyttet nogen nøgle | Kortlæg dem, fjern dem eller aktiver »Tillad brugerdefineret anmodningsindhold« |
ip_not_allowed |
403 | Opkaldsgiverens adresse er ikke på webhookens liste over tilladte IP-adresser | Se IP-tilladelseslister |
invalid_proxy_signature |
401 | Appens proxyadresse blev tilgået direkte i stedet for via din butiks domæne | Brug webhook-URL’en nøjagtigt som den vises i appen - se CORS, appens proxy-URL og browseranmodninger |
payload_too_large |
413 | Payload over 50 KB | Send færre data, eller slå knapperne til anmodning om data fra |
quota_exceeded |
400 | Planens grænse er nået | Se Planer og anvendelse |
Live Request Inspector
Når du har en webhook åben i editoren, viser inspektoren de ankomne anmodninger i realtid - herunder også de afviste, med angivelse af årsagen. Dette er uden tvivl den hurtigste måde at fejlfinde en afsender på: send en anmodning, og se, hvordan den modtages.
Her vises også de undertrykte dubletter, der er markeret som sådan - se Beskyttelse mod dobbeltlevering.
Afspil igen
Enhver tidligere opkald kan afspilles igen fra dens detaljeside. Ved afspilning sendes den samme payload igen via den samme webhook.
Der er to ting, det er rigtig godt til:
- Oprettelse af en Shopify Flow-arbejdsgang. Registrer begivenheder ved hjælp af Webhook-udløseren, og afspil derefter en reel Kald funktionen, så Shopify Flow lærer dine faktiske feltnavne at kende.
- Gendannelse efter en afbrudt arbejdsgang. Ret fejlen i arbejdsgangen, og afspil derefter de begivenheder, der blev kørt selvom det var forkert.
Gentagelser er markeret som sådan i historikken og tæller ikke med i din plan.
Typiske situationer
Der modtages opkald, men arbejdsgangen kører ikke. Det skyldes næsten altid betingelsen vedrørende webhook-id’et. En arbejdsgang med webhook-udløser modtager begivenheder fra alle de webhooks, du ejer, og derfor skal der være en betingelse, der matcher det specifikke webhook-id - se Opret din første webhook.
Arbejdsgangen kører to gange. Enten bruger to arbejdsgange Webhook-udløseren uden specifikke betingelser, eller også forsøger din afsender at sende igen. Historikken viser, hvad der er tilfældet: to poster betyder, at der er modtaget to anmodninger. Aktivér »Beskyttelse mod dobbeltlevering«.
Der er slet intet i historikken. Anmodningen er aldrig nået frem til os. Tjek URL’en og kortkoden, og sørg for, at afsenderen ikke har problemer med TLS eller DNS på sin side.
Status står fast på »Afventer«. Leveringen forsøges igen med backoff; ved en permanent fejl skifter status til »Mislykket« med angivelse af årsagen. Hvis status forbliver »Afventer« i usædvanlig lang tid, skal du tjekke status.codecreationlabs.cloud.

