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

Jak utworzyć interfejs API usługi internetowej modułu Prestashop za pomocą Knowband

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?

Przewodnik krok po kroku autorstwa Knowband na temat konfiguracji usług sieciowych w Prestashop

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

Otwórz stronę Usługi sieciowe w obszarze Parametry zaawansowane

 

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:

ustawienie konfiguracji w zapleczu Prestashop

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?

Knowband — jak dodawać i aktualizować 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.

Strona usług sieciowych w zapleczu Prestashop

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.

Dodaj klucz usługi internetowej do kont usługi internetowej

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.

zaloguj się, aby uzyskać dostęp 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.

plik xml

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ą:

  • setObjectOutput
  • setWsObject
  • pobierzWsObject
  • pobierzWyjścieObject
  • setUrlSegment
  • getUrlSegmentu
  • Pobierz zawartość
  • zarządzać (gdzie przetwarzane są dane)

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:

wyjście pliku XML

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.

 

Knowband - Prestashop One Page Supercheckout Addon

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

Joe Parker

We boast of the best in the industry plugins for eCommerce systems and has years of experience working with eCommerce websites. We provide best plugins for platforms like - Magento, Prestashop, OpenCart and Shopify . We also provide custom module development and customization services for the website and modules..

Leave a Reply

Your email address will not be published. Required fields are marked *