Historia i rozwiązywanie problemów
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.


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.
