Integracje

⌘K
  1. Strona główna
  2. Integracje
  3. Sklep – WooCommerce
  4. Wymagane wtyczki

Wymagane wtyczki

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

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.

Wtyczka do obsługi kodów EAN w 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.

Ustawienia REST API dla kodu EAN w WooCommerce

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.

Wtyczka InPost PL dla WooCommerce

Ustawienia wtyczki InPost PL w WooCommerce

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:

  1. Przejdź w WooCommerce do sekcji obsługującej pola zamówienia lub pola checkoutu.
  2. Dodaj nowe pole tekstowe.
  3. W etykiecie wpisz NIP.
  4. W nazwie pola wpisz dokładnie _billing_nip.
  5. Zapisz konfigurację i wykonaj testowe zamówienie, aby sprawdzić, czy NIP pojawia się w danych zamówienia.

Dodawanie pola NIP w WooCommerce

Konfiguracja pola NIP w WooCommerce

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.

Dodawanie fragmentu kodu w Code Snippets

Konfiguracja Code Snippets dla zdjęć WooCommerce

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_id oraz _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.

Czego brakuje w tym artykule?