B2B - API dla kontrahentów sklepu
Atom User API to narzędzie pozwalające na komunikację klientów B2B ze sklepami korzystającymi z platformy AtomStore. Komunikacja odbywa się poprzez protokół SOAP. Przy użyciu ustalonych metod można wykonywać operacje odczytu i zapisu wybranych danych bez potrzeby otwierania stron sklepu i logowania się.
Narzędzie jest przeznaczone dla programistów po stronie klientów sklepu, zostało stworzone z myślą o automatyzacji procesów składania zamówień w sklepie i prezentacji oferty sklepu w serwisach kontrahentów.
Adres i autoryzacja
Adres WSDL:
{domena sklepu wraz z "http://"}/user_api/wsdl/user_api
W niektórych klientach SOAP zamiast adresu WSDL wskazuje się bezpośrednio adres interfejsu (endpoint). Dla Atom User API jest to:
{domena sklepu wraz z "http://"}/user_api/call/user_api
Do poprawnej autoryzacji potrzebne są standardowe login i hasło klienta sklepu przekazywane w obiekcie/tablicy do pierwszego parametru każdej z metod. Parametr ten powinien zawierać pola 'login' i 'password'. Zależnie od konfiguracji sklepu funkcja Atom User API może być wyłączona, dostępna tylko dla wybranych kontrahentów lub dla każdego zarejestrowanego klienta.
Przykładowe wywołanie (PHP)
$client = new SoapClient('http://demo.atomstore.pl/user_api/wsdl/user_api'); $authenticate = array('login' => 'jan@kowalski.pl', 'password' => 'kowalski123'); $response = $client->CheckConnection($authenticate); echo $response;
Powyższa metoda zwraca ciąg znaków "OK" lub "User API: nieudana autoryzacja" w przypadku:
- wyłączonego modułu Atom User API w sklepie,
- braku dostępu dla danego kontrahenta,
- niepoprawnego loginu lub hasła.
Format danych
Wiodącym formatem danych w Atom User API jest format XML:
- zwracany jako ciąg znaków (string) z metod do odczytu (np. GetProducts),
- przyjmowany jako ciąg znaków w parametrach funkcji do zapisu (np. SetOrders)
Niektóre proste metody do odczytu zwracają jednak zasadnicze dane bezpośrednio, nie w strukturze XML (np. GetOrderStatus - metoda zwracająca bieżący status wskazanego zamówienia). W ten sam sposób (bez struktury XML) zwracane są komunikaty błędów (np. o braku autoryzacji).