CORS, adres URL serwera proxy aplikacji oraz wywołania przeglądarki
Wywoływanie webhooka Shopify Flow z przeglądarki: włączenie CORS, adres URL proxy aplikacji w domenie sklepu i ryzyko ujawnienia tokena.
Wywołanie webhooka odbywa się zazwyczaj między serwerami. Jeśli chcą Państwo wywołać webhook z przeglądarki - ze strony sklepu, strony docelowej lub portalu klienta - należy uwzględnić dwa ustawienia: Włącz CORS oraz Użyj adresu URL proxy aplikacji. Oba znajdują się w sekcji Ustawienia zaawansowane danego webhooka.
Włącz CORS
Przeglądarki odrzucają żądania międzydomenowe, chyba że serwer docelowy wyrazi na to zgodę. Po włączeniu opcji Włącz CORS webhook odpowiada na żądanie wstępne przeglądarki i akceptuje wywołanie.
Funkcja preflight dopuszcza również użycie dowolnego nagłówka zawierającego Państwa token, w tym niestandardowej nazwy nagłówka, którą sami Państwo ustalili, dzięki czemu przeglądarka nie napotka z tym żadnych problemów.
Proszę użyć adresu URL serwera proxy aplikacji
Każdy webhook posiada dwa adresy, przy których w ustawieniach adresu URL znajduje się przycisk „Kopiuj”:
| Adres URL | Wygląda na to, że | Uwagi |
|---|---|---|
| Bezpośredni adres URL aplikacji | domena naszej aplikacji, zakończona kodem webhooka | Działa zawsze, w tym w sklepach w fazie rozwoju oraz w sklepach chronionych hasłem |
| Adres URL serwera proxy aplikacji | ścieżka w domenie należącej do sklepu | Pochodzi z tego samego źródła co Państwa witryna, więc przeglądarka traktuje to jako żądanie własne |
Proszę włączyć opcję Użyj adresu URL serwera proxy aplikacji, aby opublikować adres serwera proxy. Rozwiązanie to zapewnia bardziej płynną integrację ze sklepem internetowym, a ponieważ pochodzi z tego samego źródła, często nie ma w ogóle potrzeby stosowania CORS.
Co należy wiedzieć przed włączeniem urządzenia:
- Interfejs sklepu musi być dostępny. W przypadku sklepu chronionego hasłem, takiego jak sklep testowy, adres URL serwera proxy udostępnia dane dopiero po wprowadzeniu hasła do sklepu, dlatego osoby spoza Państwa sklepu nie mogą z niego korzystać.
- Listy dozwolonych adresów IP nie ma zastosowania do adresu URL serwera proxy: żądania te docierają do nas z serwerów Shopify, więc ich adres nie dostarcza żadnych informacji na temat pierwotnego nadawcy.
- Shopify podpisuje każde żądanie za pośrednictwem adresu URL serwera proxy. Można to wykorzystać, aby umożliwić wywołanie webhooka wyłącznie zalogowanym klientom, wyłączyć bezpośredni adres URL oraz uzyskać identyfikator klienta w Shopify Flow: zobacz Zalogowani klienci w Państwa sklepie internetowym.
Uwierzytelnianie działa tak samo na obu adresach. Podobnie jest w przypadku Ochrona przed podwójną dostawą, historii oraz limitu planu.
Zezwól na niestandardową treść żądania
Również w sekcji „Ustawienia zaawansowane”: opcja Zezwól na niestandardową treść żądania wyłącza ścisłą weryfikację treści, dzięki czemu webhook akceptuje dowolną strukturę JSON, a nie tylko pola, które zostały przez Państwa zmapowane. Należy z niej skorzystać, gdy treść żądania nadawcy jest dynamiczna lub nie mają Państwo nad nią kontroli. Zmapowane pola nadal trafiają do Shopify Flow w ten sam sposób - zobacz Mapowanie danych użytkowych i zmienne w Shopify Flow.
Powiązane
- Uwierzytelnianie - dane, które przeglądarka musi przesłać.
- Mapowanie danych użytkowych i zmienne w Shopify Flow - które pola trafiają do Shopify Flow.
- Zalogowani klienci w Państwa sklepie internetowym - wyłącznie zalogowani klienci, z identyfikatorem klienta w Shopify Flow.
- Plany i sposób użytkowania - każde wywołanie przeglądarki wlicza się do limitu.
