Knowband Blog | Ecommerce Modules

Jak utworzyć interfejs API usługi internetowej modułu Prestashop?

Ten blog dotyczy tworzenia i używania interfejsu API usług internetowych Prestashop. Prestashop posiada domyślne narzędzie Web Services, które umożliwia dostęp do sklepu ze zdalnych aplikacji.

Wymagania wstępne

  1. Twój sklep Prestashop powinien mieć włączoną opcję „przepisywania modułów” dla Apache.
  2. W przypadku wywołań usług sieciowych lepiej jest używać protokołu SSL (https:) ponieważ pozwala to uniknąć problemów związanych z bezpieczeństwem typu „człowiek pośrodku”.
  3. Sprawdź, czy na serwerze obsługiwanych jest pięć metod GET, POST, PUT, DELETE i HEAD.

Aby zapewnić bezpieczeństwo i wydajność usług internetowych Prestashop, konieczne jest używanie protokołu SSL (HTTPS) dla wszystkich połączeń usług sieciowych. Zapobiega to atakom typu „man in the Middle”, chroniąc Twoje dane podczas transmisji. Dodatkowo sprawdzenie, czy Twój serwer obsługuje metody HTTP GET, POST, PUT, DELETE i HEAD, ma kluczowe znaczenie dla bezproblemowego działania. Konfigurując te ustawienia, optymalizujesz wydajność i bezpieczeństwo swojego sklepu, zapewniając niezawodny dostęp i zarządzanie zasobami Prestashop poprzez API.

Jak skonfigurować usługi internetowe w Prestashop?

1. Zaloguj się do panelu zaplecza Prestashop. 2. Przejdź do opcji Advance Parameters -> Web Services, aby otworzyć stronę Web Services.

 

3. Nastąpi przekierowanie do strony Usług WWW, na której znajduje się lista dostępnych Usług WWW oraz formularz konfiguracyjny umożliwiający skonfigurowanie usługi. 4. Formularz Konfiguracja zawiera następujące pola:

a) Włącz usługę internetową Prestashop: Włącz ustawienie umożliwiające korzystanie z usługi internetowej w sklepie Prestashop.

b) Włącz tryb CGI dla PHP: Włącz ustawienie, aby używać PHP jako skryptu CGI zamiast modułu Apache. 5. Kliknij przycisk Zapisz, aby zapisać konfigurację. Teraz możesz korzystać z usług internetowych w swoim sklepie Prestashop.

Jak dodać/zaktualizować usługi sieciowe w Prestashop?

1. Zaloguj się do panelu administracyjnego Prestashop 2. Przejdź do Advance Parameters -> Opcje menu Web Services, aby otworzyć stronę Web Services. 3. Nastąpi przekierowanie do strony usług sieciowych zawierającej listę dostępnych usług sieciowych.

4. Kliknij przycisk „Dodaj nowy klucz usługi internetowej”, aby dodać nowy klucz usługi internetowej i uzyskać dostęp tylko do niektórych zasobów sklepu Prestashop.

klucz: To jest unikalny klucz. Możesz wprowadzić go ręcznie lub kliknąć przycisk Generuj, aby wygenerować losowy klucz dla usługi internetowej Prestashop.

b) Kluczowy opis: Możesz podać opis dotyczący klucza dla lepszego zrozumienia.

c) Stan: Włącz klucz, aby zapewnić dostęp do danych za pomocą klucza.

d) Pozwolenie: Zezwól na dostęp do danych za pomocą określonego klucza. Możesz sprawdzić konkretne uprawnienia umożliwiające dostęp do danych, np. Dodaj, Edytuj, Usuń lub Wyświetl. Tutaj sprawdziliśmy uprawnienia do krajów i waluty. 5. Kliknij przycisk Zapisz, aby dodać klucz do usług sieciowych.

Jak uzyskać dostęp do Serwisu WWW?

Po utworzeniu klucza dla usługi internetowej i jej prawidłowej konfiguracji należy kliknąć w przeglądarce następujący adres URL: https://{ścieżka główna sklepu}/api/. Zostanie wyświetlony monit o podanie nazwy użytkownika i hasła dostępu do zasobu.

a) Nazwa użytkownika: Wprowadź klucz usługi internetowej, który został wygenerowany w powyższym kroku. Na przykład MWMHJVB9PBYBNYBSFTQ8ZXRCM43FQ2MW

b) Hasło: Powinno być puste, ponieważ hasło nie jest wymagane. Po zalogowaniu uzyskasz dostęp do listy zasobów i wszystkich dozwolonych opcji CRUD, które skonfigurowałeś w swoim sklepie Prestashop.

Pomyślnie nawiązałeś połączenie z usługą internetową Prestashop.

a) Aby POBRAĆ listę podmiotów dla konkretnego zasobu:

https://shop_root_url/api/resouce

Przykład: https://www.knowband.com/api/customers aby uzyskać listę wszystkich klientów.

b) Aby POBRAĆ konkretnego klienta według ID:

https://shop_root_url/api/customers/1

Na przykład: Aby uzyskać szczegółowe informacje o kliencie posiadającym identyfikator 10

https://www.knowband.com/api/customers/10

Poleć obejrzenie:

Jak utworzyć interfejs API usługi internetowej modułu Prestashop dla Prestashop 1.7?

Pokażemy Ci jak stworzyć moduł do pobierania klientów. W tym celu zarejestrujemy hak addWebserviceResources z ServiceRequest dla zasobów, zamiast zastępować funkcję getResources() klasy ServiceRequest w Prestashop 1.7. Tworzenie niestandardowych interfejsów API usług internetowych w Prestashop 1.7 wymaga użycia klasy WebserviceSpecificManagement. Pozwala to na zdefiniowanie konkretnych funkcjonalności i zarządzanie przetwarzaniem danych. Na przykład implementacja klasy WebserviceSpecificManagementKbCustomer umożliwia wydajną obsługę danych klientów. Dlatego takie podejście zapewnia elastyczne i solidne rozwiązanie rozszerzające możliwości Prestashop, umożliwiające dostosowane interakcje z danymi Twojego sklepu. Wykorzystując te zaawansowane opcje dostosowywania, możesz tworzyć bardziej dynamiczne i responsywne rozwiązania eCommerce, które spełniają unikalne potrzeby biznesowe. 1. Zarejestruj w module hak addWebserviceResources.

funkcja publiczna install() { parent::install(); $this->registerHook('addWebserviceResources'); zwróć wartość true; }

2. Dodaj detektor przechwytywania, aby zdefiniować klasę i opis. Ustaw spec_management na true, jeśli chcesz używać WebserviceSpecificManagement zamiast pliku ObjectModel.

funkcja publiczna hookAddWebserviceResources() { return array( 'kbcustomer' => array( 'description' => 'Knowband Custom Customer', 'specific_management' => true, ), 'kbaddress' => array( 'description' => 'Knowband Adres niestandardowy', 'class' => 'kbaddress' ) ); }

3. Utwórz plik klasy WebserviceSpecificManagement jako WebserviceSpecificManagementCLASSNAME, który implementuje WebserviceSpecificManagementInterface Na przykład – WebserviceSpecificManagementKbCustomer, który jest podobny do /classes/webservice/WebserviceSpecificManagementImages.php. Musisz uwzględnić funkcje zdefiniowane w klasie WebserviceSpecificManagementImages.php. To są:

1. Teraz dodaj klucz posiadający zasób kbcustomer w serwisie WWW na zapleczu. 2. Teraz odwiedź https://{youstore.com}/api/kbcustomer aby zobaczyć odpowiedź w formacie XML. W poniższym przykładzie wyświetlamy listę wszystkich klientów dostępnych w sklepie. Dodaj include_once(_PS_MODULE_DIR_.’NAZWA TWOJEGO MODUŁU/classes/WebserviceSpecificManagementKbCustomer.php’); w pliku modułu.

klasa WebserviceSpecificManagementKbcustomer implementuje WebserviceSpecificManagementInterface { /** @var WebserviceOutputBuilder */ chroniony $objOutput; chronione $wyjście; /** @var WebserviceRequest */ chroniony $wsObject; funkcja publiczna setUrlSegment($segmenty) { $this->urlSegment = $segmenty; zwróć $to; } funkcja publiczna getUrlSegment() { return $this->urlSegment; } funkcja publiczna getWsObject() { return $this->wsObject; } funkcja publiczna getObjectOutput() { return $this->objOutput; } /** * Musi to być ciąg znaków z określonymi wartościami, zgodnie z oczekiwaniami WebserviceRequest. * * @return string */ funkcja publiczna getContent() { return $this->objOutput->getObjectRender()->overrideContent($this->output); } funkcja publiczna setWsObject(WebserviceRequestCore $obj) { $this->wsObject = $obj; zwróć $to; } /** * @param WebserviceOutputBuilderCore $obj * @return WebserviceSpecificManagementInterface */ funkcja publiczna setObjectOutput(WebserviceOutputBuilderCore $obj) { $this->objOutput = $obj; zwróć $to; } funkcja publiczna zarządzaj() { $objects_products = array(); $objects_products['empty'] = nowy klient(); $customer_list = Klient::getCustomers(); foreach ($lista_klientów jako $lista) { $objects_products[] = nowy klient($lista['id_klient']); } $this->_resourceConfiguration = $objects_products['empty']->getWebserviceParameters(); $this->output .= $this->objOutput->getContent($objects_products, null, $this->wsObject->fieldsToDisplay, $this->wsObject->głębia, WebserviceOutputBuilder::VIEW_LIST, false); } }

Poniższy zrzut ekranu przedstawia wizualizację wyniku:

Jeśli chcesz uzyskać wynik w formacie JSON, dołącz &output_format=JSON na końcu adresu URL. Na przykład: https://{yourstore.com}/api/kbcustomer&output_format=JSON

Wyjście: {“customers”:[{“id”:1},{“id”:2},{“id”:3},{“id”:4},{“id”:5},{“id”:6},{“id”:7},{“id”:8},{“id”:9},{“id”:10},{“id”:11},{“id”:12},{“id”:13},{“id”:14},{“id”:15},{“id”:16},{“id”:17},{“id”:18},{“id”:19},{“id”:20},{“id”:21}]}

Na końcu!

Dzięki ponad 13-letniemu doświadczeniu technicznemu Knowband oferuje kompleksowe usługi tworzenia aplikacji i stron internetowych przy użyciu najnowszych technologii, w tym różnych frameworków PHP i React. Zapewniamy ponad 100 gotowych do użycia rozszerzeń dla popularnych platform eCommerce, takich jak Prestashop, Opencart, WooCommerce i Magento 2. W przypadku jakichkolwiek pytań prosimy o kontakt pod adresem support@knowband.com. Knowband jest także partnerem Premium Prestashop i sprzedawcą Superher oferującym ponad 100 modułów Prestashop, które zaspokoją wszystkie Twoje potrzeby eCommerce. Sprawdź nasze najpopularniejsze Jednostronicowy moduł Supercheckout dla Prestashop tutaj.

 

Prestashop Jednostronicowy dodatek Supercheckout

Dodatek Prestashop One Page Supercheckout firmy Knowband przyspiesza i ułatwia realizację transakcji, umieszczając wszystko na jednej stronie, co pomaga ograniczyć porzucanie koszyków.

Kupuj teraz