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.

Webhook-historik filtreret til én webhook, der viser opkald med status »Success« og kilde »Eksternt system«
Webhook-historik, filtreret til én webhook. Hver anmodning vises med sin status og oplysning om, hvor den stammer fra.
En anmodning, der blev åbnet i History med dens anmodningsheadere, payload, status, varighed og identifikatorer
Et opkald, vist i detaljer: anmodningsheaderne (tokenet er sløret), Payloaden, hvor lang tid det tog, samt »Replay Webhook« øverst til højre.

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.