Historia i rozwiązywanie problemów

Historia i rozwiązywanie problemów

Skopiuj stronę

Sprawdź historię wywołań webhooków, statusy i kody odrzuceń, użyj Live Request Inspector i odtwórz przeszłe zdarzenia wysyłane do Shopify Flow.

Każde żądanie, które dociera do webhooka, jest rejestrowane - niezależnie od tego, czy zostało przyjęte, czy odrzucone. Historia jest pierwszym miejscem, w którym należy sprawdzić, gdy coś nie zadziałało.

Odczytanie modlitwy wstępnej

Otwórz sekcję Historia i kliknij wybrany wpis. Zobaczy Pan datę i godzinę, status, nadawcę, czas trwania, treść żądania, (zaszyfrowane) nagłówki żądania, ciąg zapytania, a w przypadku niepowodzeń - komunikat o błędzie oraz wszystkie próby ponownego wykonania żądania.

Status Znaczenie
W toku Zostało przyjęte i umieszczone w kolejce, ale nie zostało jeszcze przekazane do Shopify Flow
Sukces Shopify Flow zaakceptowało wyzwalacz
Niepowodzenie Dostawa nie powiodła się trwale - przyczynę można sprawdzić na stronie szczegółów

Kolumna Invoked by wskazuje źródło wywołania: User (system zewnętrzny), Flow (akcja Shopify Flow wywołująca webhook), Test (przycisk „Test”) lub CURL.

Historia webhooków przefiltrowana do jednego webhooka, zawierająca wywołania o statusie „Success” i źródle „External System”
Historia webhooków, filtrowana według jednego webhooka. Każde żądanie jest wyświetlone wraz ze statusem i informacją o źródle pochodzenia.
Jedno wywołanie otwarte w sekcji „Historia” wraz z nagłówkami żądania, treścią, statusem, czasem trwania i identyfikatorami
Jedno wywołanie, w widoku otwartym: nagłówki żądania (token jest zamaskowany), treść żądania, czas trwania oraz opcja „Replay Webhook” w prawym górnym rogu.

Odmowy i ich znaczenie

Odrzucone żądanie nigdy nie dociera do Shopify Flow. Treść odpowiedzi zawiera kod code w formacie nadającym się do odczytu maszynowego:

Kod HTTP Co poszło nie tak Poprawka
webhook_not_found 404 Nieznany skrót Proszę sprawdzić adres URL; webhook mógł zostać usunięty
webhook_disabled 400 Funkcja webhooka jest wyłączona Proszę włączyć tę funkcję na stronie poświęconej webhookom
unauthorized 401 Brak tokenu lub jest on nieprawidłowy Proszę sprawdzić token oraz nazwę nagłówka
missing_signature 401 Tryb HMAC, bez nagłówka podpisu Proszę przesłać nagłówek podpisu zgodny z oczekiwaniami Państwa presetu
invalid_signature 401 Podpis nie zgadza się Proszę potwierdzić sekret podpisu oraz fakt, że treść nie została zmieniona podczas przesyłania
auth_not_configured 401 Włączono tryb uwierzytelniania, ale token nie został zapisany Zapisz token w webhooku
invalid_json 400 Treść nie jest poprawnym formatem JSON Proszę przesłać prawidłowy plik JSON lub ustawić typ treści („Content-Type”) odpowiadający rzeczywistemu typowi treści w treści wiadomości (odczytywane są również dane formularza i XML)
invalid_body 400 Nie udało się odczytać treści formularza lub treści XML, albo treść ta ma wartość literałową null Proszę przesłać obiekt JSON lub treść wiadomości zgodną z typem zawartości (Content-Type)
mapping_field_missing 400 W treści danych brakuje pola, które zostało zmapowane Proszę przesłać pole lub usunąć jego przypisanie
unexpected_fields 400 W treści znajdują się pola, które nie zostały przypisane Proszę je przyporządkować, usunąć lub włączyć opcję Zezwól na niestandardową treść żądania
ip_not_allowed 403 Adres dzwoniącego nie znajduje się na liście dozwolonych adresów IP webhooka Zobacz Listy dozwolonych adresów IP
invalid_proxy_signature 401 Adres proxy aplikacji został wywołany bezpośrednio, a nie za pośrednictwem domeny Państwa sklepu Proszę użyć adresu URL webhooka dokładnie w takiej postaci, w jakiej wyświetla go aplikacja - zobacz CORS, adres URL serwera proxy aplikacji oraz wywołania przeglądarki
payload_too_large 413 Dane w Shopify Flow o rozmiarze powyżej 50 KB Proszę ograniczyć ilość wysyłanych danych lub wyłączyć przełączniki „żądaj danych”
quota_exceeded 400 Osiągnięto limit planu Zobacz Plany i sposób użytkowania

Narzędzie do sprawdzania żądań na żywo

Gdy w edytorze otwarty jest webhook, inspektor wyświetla żądania przychodzące w czasie rzeczywistym - w tym te odrzucone wraz z podaną przyczyną. Jest to zdecydowanie najszybszy sposób na debugowanie nadawcy: wystarczy wysłać żądanie i obserwować, jak dociera do celu.

W tym miejscu pojawiają się również usunięte duplikaty, oznaczone jako takie - zob. Ochrona przed podwójną dostawą.

Powtórka

Każde wcześniejsze wywołanie można odtworzyć ze strony szczegółów. Odtworzenie powoduje ponowne wysłanie tej samej treści za pośrednictwem tego samego webhooka.

Są dwie rzeczy, do których nadaje się on wyjątkowo dobrze:

  • Tworzenie przepływu pracy w Shopify Flow. Należy zarejestrować zdarzenia w wyzwalaczu Webhook, a następnie odtworzyć rzeczywisty proszę wykonać to wywołanie, aby Shopify Flow rozpoznało rzeczywiste nazwy pól.
  • Przywracanie działania po awarii przepływu pracy. Należy naprawić przepływ pracy, a następnie ponownie odtworzyć zdarzenia, które zostały już wykonane chociaż było to niewłaściwe.

Powtórki są odpowiednio oznaczone w historii i nie są wliczane do limitu Państwa abonamentu.

Typowe sytuacje

Przychodzą powiadomienia, ale przepływ pracy nie uruchamia się. Niemal zawsze przyczyną jest warunek dotyczący identyfikatora webhooka. Przepływ pracy z wyzwalaczem webhook otrzymuje zdarzenia ze wszystkich posiadanych przez Państwa webhooków, dlatego wymaga warunku dopasowującego konkretny identyfikator webhooka - zobacz Utwórz swój pierwszy webhook.

Przepływ pracy uruchamia się dwukrotnie. Oznacza to, że albo dwa przepływy pracy wykorzystują wyzwalacz typu „Webhook” bez odrębnych warunków, albo nadawca ponawia próbę wysłania. Historia pokazuje, która z tych sytuacji ma miejsce: dwa wpisy oznaczają, że dotarły dwa żądania. Proszę włączyć opcję Ochrona przed podwójną dostawą.

W historii nie ma absolutnie nic. Żądanie nigdy do nas nie dotarło. Proszę sprawdzić adres URL i skrótowy kod oraz upewnić się, że nadawca nie ma po swojej stronie problemów z protokołem TLS lub DNS.

Status utknął na poziomie Oczekujące. Próba dostarczenia jest powtarzana z zachowaniem odstępu czasowego; w przypadku trwałej awarii status zmienia się na „Nieudane” wraz z podaniem przyczyny. Jeśli status pozostaje na poziomie „Oczekujące” przez niezwykle długi czas, proszę sprawdzić status.codecreationlabs.cloud.