Nawigacja  

   

Kategorie  

   

Flag Counter  

   

Ankieta  

Najbardziej elastyczny język programowania ?

   

Korzystanie z WebService na platformie IAI.shop.com

Ocena użytkowników:  / 2
SłabyŚwietny 
Szczegóły

Przykład przedstawia po kolei jakie kroki należy wykonać, aby połączyć się z jednym z udostępnianych WebService'ów przez platformę IAI-Shop.com.

Do połączenia wykorzystany zostanie mechanim SOAP. Aby się połączyć na początku należy zdefiniować tablicę, z parametrami logowania:

 
// dane do logowania 
$login = "login do panelu IAI"; 
$password = "hasło do panelu IAI"; 
 
// tablica z parametrami logowania 
$authenticate = array(
 'system_key' => sha1(date('Ymd').sha1($password)),
 'system_login' => $login
);
 

 

 

Ważne jest zachowanie nazw parametrów w tablicy z parametrami logowania, w razie zadeklarowania niepoprawnej nazwy bramka zwróci nam błąd.

 

Hasło do brami wysyłane jest po podwójnym zakodowaniu algorytmem sha1.

 
// adres bramki nasłuchjącej
$service_name = "http://_domena_sklepu_.iai-shop.com/edi/api-getproducts.php?wsdl";
 

 

 

Aby otrzymać jakiekolwiek wyniki, niezbędne jest określenie przynajmniej jednego parametru "wyszukiwania". Dla przykładu zostanią wykorzystane parametry odpowiedzialne za:

  1. available - dostępność produktu w sklepie
  2. results_limit - ilość elementów pobieranych na jednej stronie
  3. results_page- numer strony z wynikami

 



 
// parametry wyszukiwania produktów
$params = array(
 'available' => 'y' //-- dostępne - y, niedostępne - n
 ,'results_limit' => '20' //-- domyślnie 100
 ,'results_page' => '1' //-- numeracja zaczyna się od 0
);
 
//podgląd parametrów
print_r($params);

 

 

Parametry logowania oraz parametry wyszukiwania należy spakować do jednej tabeli, która będzie przekazana w wywołaniu funkcji udostępnionej przez WebService. Również tutaj niezbędne jest zachowanie poszczególnych nazw kolumn:

 

// pełna tablica parametrów
$parametry = array(
 'authenticate' => $authenticate,
 'params' => $params
);
 
//podgląd pełnej listy parametrów
print_r($parametry);
 

 

Po deklaracji niezbędnych zmiennych możemy przejść do utworzenia klienta obiektu łączącego SOAP oraz wywołania udostępnionej funkcji wraz z zadeklaroanymi parametrami:

 



 
// utworzenie klienta
$service = new SoapClient($service_name,array($parametry));
 
// pobranie produktów
$result = $service->getProducts($parametry);
 

 

Wyniki zwracane są w postaci złożonej tablicy, zawierającej w swej strukturze między innymi parametry logowania oraz informacje na temat produktów. Zwrócone wyniki należy "przepakować" do tablicy, z której będzie można wyciągnąć poszczególne informacje(np dane logowania czy ilość wyników):

 

 

$wyniki = (array)$result;
 
//dane logowania
$dane_logowania = (array)$wyniki['authenticate'];
 
 
echo "Podany login: ".$dane_logowania['system_login'];
echo "Podane hasło: ".$dane_logowania['system_key'];
 
echo "Wszystkich produktów: ".$wyniki['results_number_all'];
echo "Ilość produktów na stronę: ".$wyniki['results_number_page'];
echo "Numer strony: ".$wyniki['results_page'];
echo "Limit produktów na stronę: ".$wyniki['results_limit'];
 

 

Dane na temat produktów znajdują się w podtabeli "products". Dane te również należy "przepakować" przed ich obróbką:

 



 
//tablica z pobranymi produkatami
$tablica_dane_produktu = (array)$wyniki['products'];
 
//podgląd pełnej z pobranymi produkatami
print_r($tablica_dane_produktu);
 

 

Wyświetlanie wyników zostało opisane w odrębnym artykule: Prezentacja pobranych danych z WebService IAI

Skrypty do pobrania w dziale Downloads

   

Aktualnie online

Odwiedza nas 18 gości oraz 0 użytkowników.

   
© TRAFAS.EU