Nexto.API
Transkrypt
Nexto.API
e-Kiosk S.A. ul. Prosta 51, 00-838 Warszawa KRS: 0000304553, NIP: 895-182-75-13 Nexto.API Przykładowy klient PHP5 do systemu zamówień NextoAPI Przygotował Rafał Ozga © 2004-2015 e-Kiosk S.A. Maj 2015, Maj 2015, Wersja: 1.5 strona 1 e-Kiosk S.A. ul. Prosta 51, 00-838 Warszawa KRS: 0000304553, NIP: 895-182-75-13 Historia zmian Lp. Data Zmiany 1 28/05/15 Zmiana danych firmy Maj 2015, Wersja: 1.5 strona 2 e-Kiosk S.A. ul. Prosta 51, 00-838 Warszawa KRS: 0000304553, NIP: 895-182-75-13 1. Wstep Przykładowa implementacja modułu składania zamówień poprzez API.Nexto w PHP5 oparta jest na tzw. SOAP Extension– bibliotece oferującej podstawowy zestaw klas do budowania rozwiązań bazujących na komunikacji WebServices/SOAP. W naszym przypadku głównym komponentem jakiego używamy jest oczywiście SoapClient, niemniej, by móc w wygodny sposób przy każdym wywołaniu zdalnych metod dodawać do tworzonych wiadomości SOAPowych wymagane przez WebService NextoAPI nagłówki WS-Security , rozszerzyliśmy tę klasę do postaci WSSoapClient. Kody źródłowe plików są do pobrania ze strony Narzędzia API po zalogowaniu się w panelu administracyjnym NextoAPI 2. Implementacja Schemat działania modułu jest następujący: 1. stwórz instancję WSSoapClient podając url WebServicu NextoAPI: include(’WSSoapClient.class.php’); $url = "https://www.nextoapi.pl/services/OrderService?wsdl"; $client = new WSSoapClient($url); 2. dodaj parametry nagłówka UsernameToken: $client->__setUsernameToken(’Twoje_API_ID’,’secret’); 3. przygotuj parametry potrzebne do złożenia zamówienia poprzez NextoAPI Zakładając że chcemy zamówić egzemplarz o identyfikatorze 3509 a także, że operujemy w modelu, w którym linki z zamówienia wysyłane są do partnera API, przygotowanie parametrów wygląda tak: $params=array(’api_id’=>’Twoje_API_ID’, ’issue_id’=>3509, ’pass’=>’secret’, //’email’=>’sample@pl’, ’linksDirectlyToClient’ => ’FALSE’); $createOrderRequest = array(’createOrderRequest’ => $params); Jeśli nasz model współpracy z NextoAPI polega na tym, że linki wysyłane są bezpośrednio do klienta w powyższym kodzie należy odkomentować email wprowadzając właściwy email klienta, a także zmienić flagę linksDirectlyToClient na TRUE. Maj 2015, Wersja: 1.5 strona 3 e-Kiosk S.A. ul. Prosta 51, 00-838 Warszawa KRS: 0000304553, NIP: 895-182-75-13 4. wywołaj procedurę tworzącą zamówienie: $result=$client->__soapCall(’createOrder’,$createOrderRequest); 5. odczytaj wyniki: Najpierw wyniki konwertujemy do tablicy: $createOrderResponse = obj2array($result); a następnie odczytujemy interesujące nas informacje, np: echo $createOrderResponse[’statusMessage’] funkcją print_r możemy wydrukować całą zawartość createOrderResponse. Jej fragment może wyglądać np. tak: [items] => Array ( [id] => 24 [order] => 24 [prodID] => 1608 [issueID] => 3509 [title] => Barbara Radziwiłłówna z Jaworzna-Szczakowej [price] => 16.05 [links] => http://www.nexto.pl/rf/fc?id=l75y3g266qeqoz867z2e&direct [type] => 0 ) 6. powtórnie pobierz zamówienie: $resendParams=array(’api_id’=>’twoj-api-id’, ’pass’=>’twoje-haslo’, ’order_id’=>ORDER_ID); $resendOrderRequest = array(’resendOrderRequest’ => $resendParams); $result=$client->__soapCall(’resendOrder’,$resendOrderRequest); $resendOrderResponse = obj2array($result); print_r($resendOrderResponse); Maj 2015, Wersja: 1.5 strona 4 e-Kiosk S.A. ul. Prosta 51, 00-838 Warszawa KRS: 0000304553, NIP: 895-182-75-13 3. Uruchamianie Przykładowego klienta można uruchomić np. z linii poleceń poleceniem: • php -f orderserviceclient.php Maj 2015, Wersja: 1.5 strona 5