Historik och felsökning

Historik och felsökning

Kopiera sidan

Läs historiken över anrop, förstå alla avvisningskoder, använd Live Request Inspector och spela upp tidigare händelser.

Varje förfrågan som når en webhook registreras - oavsett om den godkänns eller avvisas. Logghistoriken är det första stället man bör titta på när något inte har hänt.

Att läsa en invokation

Öppna ”Historik” och klicka på en post. Du får se tidsstämpel, status, avsändare, varaktighet, datainnehåll, de (maskerade) begärandehuvudena, frågesträngen samt, vid misslyckanden, felmeddelandet och alla försök till omförsök.

Status Betydelse
Väntar på beslut Godkänt och i kö, ännu inte överfört till Shopify Flow
Framgång Shopify Flow har godkänt utlösaren
Misslyckades Leveransen misslyckades permanent - på detaljsidan framgår orsaken

Kolumnen ”Invoked by” visar varifrån ett anrop kom: User (ett externt system), Flow (en Shopify Flow-åtgärd som anropar webhooken), Test (knappen ”Test”) eller CURL.

Webhook-historik filtrerad till en webhook, med en lista över anrop med statusen ”Success” och källan ”External System”
Webhook-historik, filtrerad till en webhook. Varje förfrågan visas med status och varifrån den kom.
En anropning öppnades i ”History” med dess begärandehuvuden, nyttolast, status, varaktighet och identifierare
Ett anrop, öppnat: begäranrubrikerna (tokenet är dolt), datamängden, hur lång tid det tog och ”Replay Webhook” uppe till höger.

Avslag och vad de olika innebär

En avvisad begäran når aldrig Shopify Flow. Svarets innehåll innehåller en maskinläsbar code:

Kod HTTP Vad gick fel? Åtgärd
webhook_not_found 404 Okänd kortkod Kontrollera webbadressen; webhooken kan ha tagits bort
webhook_disabled 400 Webhook är avstängd Aktivera den på webhook-sidan
unauthorized 401 Token saknas eller är felaktigt Kontrollera token och rubriknamnet
missing_signature 401 HMAC-läge, utan signaturhuvud Skicka den signaturhuvudrad som din förinställning förväntar sig
invalid_signature 401 Signaturen stämde inte överens Kontrollera att signeringsnyckeln stämmer och att meddelandetexten inte har ändrats under överföringen
auth_not_configured 401 Autentiseringsläget är inställt men ingen token har sparats Spara en token i webhooken
invalid_json 400 Data är inte giltig JSON Skicka giltig JSON, eller ange den Content-Type som din kropp faktiskt har (formulärdata och XML läses också in)
invalid_body 400 Ett formulär eller en XML-textdel kunde inte läsas, eller så är textdelen värden null Skicka ett JSON-objekt eller ett meddelandekropp som överensstämmer med dess Content-Type
mapping_field_missing 400 Ett kartlagt fält saknas i nyttolasten Skicka fältet eller ta bort kopplingen
unexpected_fields 400 Objektet har fält som inte är mappade Kartlägg dem, ta bort dem eller aktivera alternativet ”Tillåt anpassad förfrågningstext”
ip_not_allowed 403 Den som ringer har inte sin adress med på webhookens lista över tillåtna IP-adresser Se IP-tillåtelselistor
invalid_proxy_signature 401 Appens proxyadress anropades direkt istället för via din butiks domän Använd webhook-URL:en exakt så som den visas i appen - se CORS, appens proxy-URL och webbläsarens anrop
payload_too_large 413 Shopify Flow-dataöverföring på över 50 KB Skicka mindre data eller stäng av knapparna för begäran om data
quota_exceeded 400 Planens gräns har uppnåtts Se Planer och användning

Live Request Inspector

När du har en webhook öppen i redigeraren visar inspektorn vilka förfrågningar som kommer in i realtid - även de som avvisats, tillsammans med orsaken. Det här är det absolut snabbaste sättet att felsöka en avsändare: skicka en förfrågan och se hur den tas emot.

Även borttagna dubbletter visas här, märkta som sådana - se Skydd mot dubbla leveranser.

Spela om

Alla tidigare anrop kan spelas upp från respektive detaljsida. Vid uppspelning skickas samma data igen via samma webhook.

Två saker som den är särskilt bra för:

  • Skapa ett arbetsflöde i Shopify Flow. Registrera händelser i webhook-utlösaren och spela sedan upp en verklig Ring så att Shopify Flow:lär sig dina faktiska fältnamn.
  • Återställa efter ett avbrutet arbetsflöde. Åtgärda felet i arbetsflödet och kör sedan om de händelser som redan har körts även om det var fel.

Replays markeras som sådana i historiken och räknas inte in i ditt abonnemang.

Vanliga situationer

Anrop kommer in men arbetsflödet körs inte. Det beror nästan alltid på villkoret för webhook-ID. Ett arbetsflöde med webhook-utlösare tar emot händelser från alla webhooks som du äger, så det krävs ett villkor som matchar det specifika webhook-ID:t - se Skapa din första webhook.

Arbetsflödet körs två gånger. Antingen använder två arbetsflöden webhook-utlösaren utan specifika villkor, eller så gör din avsändare ett nytt försök. Historiken visar vilket av alternativen som gäller: två poster innebär att två förfrågningar har kommit in. Aktivera Skydd mot dubbla leveranser.

Det finns inget alls i historiken. Förfrågan nådde aldrig fram till oss. Kontrollera URL:en och kortkoden, och se till att avsändaren inte har några problem med TLS eller DNS på sin sida.

Statusen fastnar på ”Väntar”. Leveransen försöks på nytt med backoff; vid ett permanent fel ändras statusen till ”Misslyckades” med angiven orsak. Om statusen förblir ”Väntar” ovanligt länge, kontrollera status.codecreationlabs.cloud.