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
xSale zapisuje i odczytuje kod EAN w metadanych produktu lub wariantu WooCommerce. W kodzie integracji używany jest klucz _alg_ean.
Do obsługi tego pola można użyć wtyczki dodającej EAN do produktów WooCommerce, np. wtyczki widocznej poniżej. Ważne jest, aby pole EAN było dostępne przez REST API WooCommerce.
Po zainstalowaniu wtyczki przejdź w WooCommerce do jej ustawień. W zakładce General, w sekcji REST API, zaznacz opcje dla Products i Orders, aby pole EAN było dostępne w komunikacji API.
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 pole EAN jest dostępne w REST API produktu lub wariantu jako
_alg_ean. - 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







