Integracja WooCommerce korzysta z REST API sklepu. Część danych, które xSale pobiera albo wysyła, znajduje się w standardowych polach WooCommerce. Niektóre informacje, takie jak EAN, NIP lub numer paczkomatu, wymagają jednak dodatkowych pól w danych produktu albo zamówienia.
Ten wpis opisuje wtyczki i ustawienia, które mogą być potrzebne, aby WooCommerce przekazywał do xSale wszystkie wymagane dane.
W tym artykule znajdziesz
- jak przygotować obsługę kodu EAN,
- jak przekazywany jest punkt odbioru InPost Paczkomaty,
- jak przygotować pole NIP na zamówieniu,
- co sprawdzić przy wysyłaniu zdjęć przez REST API,
- krótką checklistę konfiguracji.
Kod EAN
Integracja WooCommerce może pobierać kod EAN z produktu lub wariantu do xSale. Podczas importu xSale sprawdza dostępne wartości w następującej kolejności:
ean– pole udostępniane przez wtyczkę EAN Barcode Generator for WooCommerce od WPFactory,global_unique_id– natywne pole WooCommerce oznaczone w panelu jako GTIN, UPC, EAN lub ISBN,_alg_ean– metadane używane przez wtyczkę WPFactory,_global_unique_id– metadane używane m.in. przez wtyczki Flexible EAN for WooCommerce oraz SkyServers EAN Barcode Finder.
xSale zapisuje pierwszą niepustą wartość tekstową. Jeżeli żadna z powyższych wartości nie jest dostępna, kod EAN pozostaje pusty, ale brak EAN-u nie blokuje importu produktu.
Nie trzeba instalować wszystkich wymienionych wtyczek. Wystarczy, że używane rozwiązanie zapisuje EAN w jednym z obsługiwanych pól i udostępnia tę wartość w REST API WooCommerce dla produktu lub wariantu.
Ważne dla synchronizacji w drugą stronę: podczas wysyłania oferty z xSale do WooCommerce kod EAN jest zapisywany w metadanych _alg_ean. Jeżeli sklep korzysta wyłącznie z rozwiązania zapisującego EAN w _global_unique_id, zapis z xSale może nie uzupełnić pola używanego przez tę wtyczkę.
Punkt odbioru InPost Paczkomaty
Jeżeli zamówienia z WooCommerce mają zawierać punkt odbioru Paczkomatu, WooCommerce musi przekazać do xSale dane punktu w metadanych zamówienia.
xSale odczytuje z zamówienia następujące klucze:
_parcel_machine_id– identyfikator punktu odbioru,_parcel_machine_desc– opis punktu odbioru.
Do takiej obsługi można użyć wtyczki InPost PL albo innego rozwiązania, które zapisuje punkt odbioru w powyższych polach metadanych zamówienia.
NIP na zamówieniu
xSale pobiera NIP z metadanych zamówienia WooCommerce z pola _billing_nip. Jeżeli sklep nie zapisuje NIP-u w tym polu, numer nie zostanie przekazany do xSale jako NIP kupującego.
Pole _billing_nip można dodać za pomocą wtyczek do edycji pól checkoutu, np. Flexible Checkout Fields for WooCommerce albo Checkout Field Editor (Checkout Manager). Można też użyć innego rozwiązania, jeżeli zapisuje wartość NIP w JSON zamówienia pod kluczem _billing_nip.
Przykładowa konfiguracja pola:
- Przejdź w WooCommerce do sekcji obsługującej pola zamówienia lub pola checkoutu.
- Dodaj nowe pole tekstowe.
- W etykiecie wpisz NIP.
- W nazwie pola wpisz dokładnie
_billing_nip. - Zapisz konfigurację i wykonaj testowe zamówienie, aby sprawdzić, czy NIP pojawia się w danych zamówienia.
Zdjęcia produktów przesyłane przez REST API
xSale może wysyłać zdjęcia produktu do WooCommerce przez standardowe pole REST API images. Do WooCommerce przekazywany jest adres URL zdjęcia oraz nazwa pliku.
Jeżeli WooCommerce odrzuca zdjęcia lub nie potrafi poprawnie rozpoznać typu pliku, można użyć wtyczki Code Snippets i dodać fragment kodu, który dopisuje rozszerzenie pliku na podstawie typu MIME.
Rekomendowana wtyczka: Code Snippets.
Po instalacji wtyczki przejdź do sekcji Fragmenty kodu, wybierz Dodaj nowy, wklej poniższy kod, zapisz zmiany i włącz fragment.
Kod do wklejenia:
add_filter('wp_handle_sideload_prefilter', 'add_extension_if_none_exists');
function add_extension_if_none_exists($file){
if ( pathinfo( $file['name'], PATHINFO_EXTENSION ) ) {
return $file;
}
$real_mime = wp_get_image_mime( $file['tmp_name'] );
$mime_to_ext = apply_filters(
'getimagesize_mimes_to_exts',
array(
'image/jpeg' => 'jpg',
'image/png' => 'png',
'image/gif' => 'gif',
'image/bmp' => 'bmp',
'image/tiff' => 'tif',
'image/webp' => 'webp',
)
);
if ( ! empty( $mime_to_ext[ $real_mime ] ) ) {
$file['name'] .= '.' . $mime_to_ext[ $real_mime ];
}
return $file;
}
Co sprawdzić po konfiguracji?
- Czy kod EAN jest dostępny w REST API produktu lub wariantu w jednym z obsługiwanych pól:
ean,global_unique_id,_alg_eanalbo_global_unique_id. - Czy zamówienie z Paczkomatem zawiera
_parcel_machine_idoraz_parcel_machine_desc. - Czy NIP zapisuje się na zamówieniu jako
_billing_nip. - Czy zdjęcia produktów są dostępne pod publicznym adresem URL i WooCommerce może je pobrać.
- Czy wszystkie wtyczki używane do powyższych pól są aktywne po stronie WordPress/WooCommerce.
EN





