Visser Labs – Wtyczki WooCommerce

  1. Strona główna
  2. Baza wiedzy
  3. WooCommerce Store Exporter Deluxe
  4. Automatyzacja i harmonogramowanie
  5. Jak wysyłać eksporty do zdalnego adresu URL w Store Exporter Deluxe
  1. Strona główna
  2. Baza wiedzy
  3. WooCommerce Store Exporter Deluxe
  4. Jak wysyłać eksporty do zdalnego adresu URL w Store Exporter Deluxe

Jak wysyłać eksporty do zdalnego adresu URL w Store Exporter Deluxe

Przekazywanie pliku eksportu innemu systemowi ręcznie, czy to narzędziu raportowania, systemowi inwentaryzacji, czy skryptowi, który sam uruchamiasz, oznacza, że ktoś musi się zalogować, pobrać plik i ponownie go przesłać. Store Exporter Deluxe może wykonać ostatni krok za Ciebie. Za każdym razem, gdy uruchamiany jest zaplanowany eksport, wysyła gotowy plik na wybrany przez Ciebie adres internetowy za pomocą żądania HTTP POST.

Poniżej konfigurujesz POST do adresu URL, widzisz dokładnie, co otrzymuje Twój punkt końcowy i potwierdzasz, że każdy plik dotarł. Deweloperzy otrzymują również sposób na dodawanie nagłówków, takich jak token API.

Wymagania wstępne

WymaganieSzczegóły
WtyczkaStore Exporter Deluxe jest aktywny
Zaplanowane eksportyZaplanowane eksporty są włączone w sekcji Ustawienia → Harmonogram → Włącz zaplanowane eksporty. Jeśli są wyłączone, ekran Zaplanowane eksporty wyświetla komunikat „Zaplanowane eksporty są obecnie wyłączone.” z przyciskiem Włącz zaplanowane eksporty.
Punkt końcowy odbierającyAdres internetowy (URL), który akceptuje żądania POST i jest dostępny z serwera Twojej witryny
Dostęp do punktu końcowegoSposób na sprawdzenie logów systemu odbierającego, aby potwierdzić, że pliki dotarły

Jak to działa

Kiedy uruchamia się harmonogram korzystający z opcji POST do adresu URL, Store Exporter Deluxe tworzy plik eksportu jak zwykle, a następnie wysyła go na Twój Zdalny adres URL POST w jednym żądaniu HTTP POST. Żądanie jest zawsze typu POST. Nie ma ustawienia, aby przełączyć je na inną metodę.

Co otrzymuje Twój punkt końcowy

Twój punkt końcowy otrzymuje zawartość pliku eksportu jako surowe ciało żądania. Nie dociera ono jako formularz przesyłania plików, więc nie ma pola formularza, z którego można odczytać plik. Jeśli opis Ustawienia zdalnego adresu URL na Twoim ekranie wspomina o żądaniu multipart POST, kieruj się tym fragmentem: plik jest surowym ciałem żądania.

Część żądaniaCo zawiera
MetodaPOST
CiałoPełna zawartość pliku eksportu, dokładnie tak, jakby pojawiła się w pobranym pliku
Nagłówek content-typeTyp MIME pasujący do Twojego Formatu eksportu (patrz tabela poniżej)
Nagłówek acceptTen sam typ MIME co nagłówek content-type
Nagłówek user-agentWordPress/ wraz z Twoją wersją WordPress

Store Exporter Deluxe nie wysyła nazwy pliku, dodatkowych pól formularza ani żadnych danych logowania. Czeka do 60 sekund na odpowiedź i nie śledzi przekierowań, więc wprowadź ostateczny adres swojego punktu końcowego.

Nagłówek content-type zależy od Formatu eksportu wybranego dla harmonogramu:

Format eksportuWartość content-type
CSVtext/csv
TSVtext/tab-separated-values
Excel (XLS)application/vnd.ms-excel
Excel (XLSX)application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
XMLapplication/xml
RSS 2.0application/rss+xml

Wysyłanie POST do adresu URL

Poniższe kroki obejmują tworzenie nowego zaplanowanego eksportu. Aby zamiast tego zmienić istniejący harmonogram, otwórz go z ekranu Zaplanowane eksporty. Więcej informacji o tworzeniu i zarządzaniu harmonogramami znajdziesz w Jak zaplanować eksporty w Store Exporter Deluxe.

Krok 1: Otwórz formularz nowego harmonogramu

  1. Przejdź do WooCommerce → Eksport sklepu.
  2. W bocznym pasku Store Exporter kliknij Zaplanowane eksporty.
  3. Kliknij Nowy harmonogram. Formularz otworzy się z nagłówkiem Dodaj nowy zaplanowany eksport i pięcioma krokami u góry: Ogólne, Filtry, Metoda, Harmonogram i Zaawansowane.
Ekran Zaplanowanych Eksportów z podświetlonym przyciskiem Nowy Harmonogram w prawym górnym rogu

Krok 2: Wybierz, co wyeksportować

W kroku Ogólne skonfiguruj sam eksport.

  1. Wprowadź nazwę w polu Nazwa harmonogramu. To pole jest wymagane.
  2. Wybierz typ danych z pola Typ eksportu, na przykład Produkty lub Zamówienia.
  3. Wybierz typ pliku z pola Format eksportu. Wybierz format, który Twój punkt końcowy może odczytać z tabeli Format eksportu poniżej „Co otrzymuje Twój punkt końcowy”.
  4. W sekcji Pola eksportu wybierz Wszystkie pola, Użyj szablonu lub Zapisany wybór.

Krok Ogólne zawiera również opcje formatowania plików i danych, takie jak separator kolumn i formatowanie nagłówków. Pozostaw je bez zmian, chyba że Twój punkt końcowy oczekuje określonego układu.

Krok Ogólne formularza nowego harmonogramu, pokazujący Nazwę Harmonogramu, Format Eksportu i opcje Pola Eksportu oznaczone od 1 do 3

Krok 3: Zawęź eksport za pomocą filtrów (opcjonalnie)

Otwórz krok Filtry, jeśli chcesz wysłać tylko niektóre rekordy, na przykład zamówienia o określonym statusie. Pomiń go, aby wysłać wszystkie pasujące rekordy.

Krok 4: Wybierz Wysyłanie POST do adresu URL

  1. Kliknij krok Metoda.
  2. W sekcji Metoda dostawy wybierz kartę Wysyłanie POST do adresu URL.
  3. W sekcji Ustawienia adresu URL zdalnego wprowadź adres swojego punktu końcowego w polu Zdalny adres URL POST, na przykład https://example.com/webhook/receive.
Karty Metody Dostawy z wybraną opcją POST do adresu URL i panelem Podsumowanie Harmonogramu pokazującym Metodę jako POST do Zdalnego Adresu URL

Panel Podsumowanie harmonogramu po prawej stronie zaktualizuje się, pokazując Wysyłanie POST do zdalnego adresu URL po wybraniu karty.

Pole Zdalny Adres URL POST wypełnione przykładowym adresem

Pole Zdalny adres URL POST jest jedynym ustawieniem tej metody dostawy. Użyj pełnego adresu, w tym https://.

Krok 5: Ustaw, kiedy ma się uruchomić

W kroku Harmonogram wybierz, jak często eksport ma się uruchamiać.

  • Co godzinę: co godzinę.
  • Codziennie: raz dziennie.
  • Tygodniowo: raz w tygodniu.
  • Miesięcznie: pierwszego dnia każdego miesiąca.
  • Niestandardowy: powtarzalny interwał ustawiony w polu Uruchamiaj co.
  • Ręcznie: tylko wtedy, gdy uruchomisz je samodzielnie.

Wybierz czas i strefę czasową dla uruchomienia, a także zdecyduj, czy ma się ono rozpocząć natychmiast, czy w wybranym przez Ciebie terminie. Aby uruchomić zgodnie z lokalnym czasem sklepu, zobacz Jak zaplanować eksporty według lokalnego czasu.

Krok Harmonogramowanie pokazujący opcje Częstotliwości, pola czasu i strefy czasowej oraz opcje Rozpocznij oznaczone od 1 do 3

Krok 6: Przejrzyj zaawansowane opcje

Krok Zaawansowane zawiera więcej opcji, takich jak nazewnictwo plików, zarządzanie archiwami i logowanie. Dwie z nich są najważniejsze dla POST do adresu URL:

  • Wzorzec nazwy pliku: nazywa plik eksportu w Twojej witrynie. Nazwa pliku nie jest wysyłana do Twojego punktu końcowego.
  • Poziom logowania: określa, ile szczegółów rejestruje Dziennik audytu dla tego harmonogramu. Ta opcja pojawia się tylko wtedy, gdy Dziennik audytu jest włączony, a źródło logowania Eksporty zaplanowane nie jest ustawione na Brak (Ustawienia → Dziennik audytu → Źródła logowania).

Krok 7: Zapisz harmonogram

  1. Sprawdź panel Podsumowanie harmonogramu po prawej stronie. Metoda powinna brzmieć POST do zdalnego adresu URL.
  2. Kliknij Utwórz harmonogram. W przypadku istniejącego harmonogramu ten przycisk brzmi Zapisz harmonogram.

Sprawdzenie, czy plik dotarł

Store Exporter Deluxe rejestruje, czy udało mu się dotrzeć do Twojego punktu końcowego, ale nie odczytuje odpowiedzi Twojego punktu końcowego. Sprawdź więc obie strony:

  1. Otwórz dziennik żądań swojego punktu końcowego lub narzędzie odbierające i poszukaj żądania POST w czasie, gdy harmonogram był uruchomiony.
  2. Potwierdź, że treść żądania to plik eksportu i że otwiera się poprawnie.
  3. W WordPress przejdź do Eksporty zaplanowane w bocznym pasku Store Exporter. Lista Ostatnia aktywność pokazuje każde uruchomienie. Kliknij Tylko błędy obok Cała aktywność, aby wyświetlić tylko nieudane uruchomienia. Kliknij Cała aktywność, aby ponownie zobaczyć każde uruchomienie.
  4. Aby uzyskać więcej szczegółów, otwórz Dziennik audytu z tego samego paska bocznego i znajdź uruchomienie.
Lista Ostatnia Aktywność na ekranie Zaplanowane Eksporty z podświetlonym przyciskiem Tylko Błędy

Dziennik audytu jest domyślnie włączony. Pozycja Dziennik audytu pojawia się w bocznym pasku Store Exporter tylko wtedy, gdy Dziennik audytu jest włączony. Jeśli jest wyłączony, przejdź do Ustawienia w bocznym pasku Store Exporter, otwórz sekcję Dziennik audytu i włącz Włącz Dziennik audytu.

Aby przetestować bez czekania na następne zaplanowane uruchomienie, skieruj Zdalny adres URL POST na usługę przechwytującą żądania podczas konfiguracji. Na ekranie Eksporty zaplanowane kliknij menu z trzema kropkami w wierszu harmonogramu i kliknij Wykonaj teraz, a następnie sprawdź, co dotarło. Następnie przełącz adres na swój rzeczywisty punkt końcowy.

Jeśli żądanie w ogóle nie może się połączyć, na przykład z powodu błędnie wpisanego adresu, niedostępnego serwera lub przekroczenia limitu czasu połączenia, uruchomienie jest oznaczone jako nieudane w Dzienniku audytu. Store Exporter Deluxe wysyła plik raz na uruchomienie. Następne zaplanowane uruchomienie tworzy i wysyła nowy plik.

Dodawanie klucza API lub innych nagłówków (dla programistów)

Ekran ustawień nie zawiera pól do nagłówków uwierzytelniających. Jeśli Twój punkt końcowy wymaga klucza API lub tokenu, programista może dodać nagłówki za pomocą filtru wsed_scheduled_export_post_args. Dodaj ten kod do niestandardowej wtyczki lub pliku functions.php Twojego motywu potomnego:

add_filter( 'wsed_scheduled_export_post_args', function ( $args ) {
    $args['headers']['Authorization'] = 'Bearer YOUR_API_TOKEN';
    return $args;
} );

Zastąp YOUR_API_TOKEN tokenem, którego oczekuje Twój punkt końcowy. Kod dodaje się do istniejących nagłówków zamiast je zastępować, więc nagłówek content-type pozostaje na miejscu.

Ten filtr dotyczy każdego harmonogramu, który używa opcji POST do adresu URL, w tym Wyzwalacza nowego zamówienia w Ustawieniach. Nie może wysyłać różnych nagłówków do różnych punktów końcowych.

Rozwiązywanie problemów

Dziennik audytu pokazuje nieudaną próbę dla mojego harmonogramu POST do adresu URL
Sprawdź, czy Zdalny adres URL POST jest poprawnie napisany i zawiera https://. Następnie upewnij się, że serwer odbierający jest online i nie blokuje żądań z adresu IP Twojego dostawcy hostingu. Store Exporter Deluxe rejestruje błąd, gdy nie może połączyć się z Twoim punktem końcowym.
Próba zakończyła się pomyślnie, ale nic nie dotarło do mojego punktu końcowego
Sprawdź własne logi punktu końcowego pod kątem odrzuconego żądania, takiego jak błąd logowania lub nieprawidłowy typ zawartości. Jeśli wymaga klucza API, dodaj nagłówek za pomocą filtru w sekcji dla programistów powyżej. Store Exporter Deluxe oznacza próbę jako zakończoną, gdy żądanie dotrze do Twojego serwera, niezależnie od odpowiedzi serwera.
Mój punkt końcowy odbiera żądanie, ale nie może znaleźć pliku
Plik to surowa treść żądania, a nie pole formularza. Zaktualizuj swój punkt końcowy, aby odczytywał treść żądania bezpośrednio, zamiast szukać przesłanego pliku.
Mój punkt końcowy przekierowuje żądanie na inny adres
Store Exporter Deluxe nie śledzi przekierowań. Wprowadź ostateczny adres w Zdalny adres URL POST, na przykład adres https://, jeśli Twój punkt końcowy przekierowuje z http://.
Nie mogę znaleźć Eksportów zaplanowanych w bocznym pasku Store Exporter
Przejdź do Ustawień w bocznym pasku Store Exporter, otwórz sekcję Zaawansowane i wyłącz opcję Ukryj kartę Eksporty zaplanowane. Gdy ta opcja jest włączona, element Eksporty zaplanowane jest usuwany z paska bocznego.
Duży eksport przekracza limit czasu
Store Exporter Deluxe czeka do 60 sekund na odpowiedź Twojego punktu końcowego. Jeśli Twój punkt końcowy potrzebuje więcej czasu, zawęź eksport na etapie Filtry, aby wygenerować mniejszy plik.

Często zadawane pytania

Czy mogę użyć PUT lub innej metody zamiast POST?
Nie. Żądanie jest zawsze metodą HTTP POST.
Czy mogę dodać klucz API lub nagłówek autoryzacyjny?
Nie z ekranu ustawień. Programista może dodać nagłówki za pomocą filtru wsed_scheduled_export_post_args. Zobacz sekcję dla programistów powyżej.
Czy plik jest wysyłany jako formularz?
Nie. Zawartość pliku to surowa treść żądania, z nagłówkiem content-type pasującym do formatu eksportu.
Czy Store Exporter Deluxe ponawia próbę, jeśli żądanie się nie powiedzie?
Nie. Wysyła plik raz na próbę. Następna zaplanowana próba wysyła nowy plik.
Czy punkt końcowy otrzymuje nazwę pliku?
Nie. Wysyłane są tylko zawartość pliku i nagłówki wymienione powyżej.
Czy funkcja POST do adresu URL jest dostępna w darmowej wtyczce Store Exporter?
Nie. Zaplanowane Eksporty i każda metoda dostawy są częścią Store Exporter Deluxe.

Potrzebujesz pomocy?

Jeśli masz pytanie lub napotkasz jakiekolwiek problemy, jesteśmy tutaj, aby pomóc.

Czy ten artykuł był pomocny?

Powiązane artykuły

Zasoby i pomoc