Podręcznik Integracji
Transkrypt
Podręcznik Integracji
Podręcznik Integracji Spis treści 1. Integracja oferty ..................................................................................................................... 3 1.1. Samodzielne wprowadzanie oferty sklepu .................................................................. 3 1.2. Automatyczne wprowadzanie oferty z pliku XML..................................................... 3 1.3. Cyklicznie pobieranie oferty ze strony........................................................................ 3 1.4. Lista obsługiwanych formatów XML ......................................................................... 3 2. Mapowanie (przypisywanie kategorii)................................................................................... 4 3. API – dla Partnerów rozliczających się za faktyczną sprzedaŜ.............................................. 4 3.1. Autoryzacja ................................................................................................................. 4 3.2. Lista moŜliwych operacji ............................................................................................ 5 3.3. Odpowiedzi zwracane przez dostępne metody ........................................................... 6 3.4. Przykłady zwracanych danych .................................................................................... 6 1. Integracja oferty Proces integracji polega na wprowadzeniu oferty do pasaŜu. Wymagania jakie musi spełniać sklep: • mieć koszyk oraz dawać moŜliwość zakupów przez Internet • umoŜliwiać eksport swojej oferty w jednym z obsługiwanych formatów • jeśli Partner rozlicza się za sprzedaŜ, musi mieć moŜliwość zgłaszania transakcji przez API pasaŜu Przygotowaliśmy trzy metody integracji: • Metoda ręczna – samodzielne wprowadzanie oferty sklepu • Metoda automatyczna – automatyczne wprowadzanie oferty z pliku XML • Metoda automatyczna ze strony – cyklicznie pobieranie oferty ze strony 1.1. Samodzielne wprowadzanie oferty sklepu Metoda ta polega na ręcznym wprowadzaniu kaŜdej oferty z państwa sklepu. Aby wgrać produkty naleŜy zalogować się na panel i wybrać z menu „Wgraj produkty”. Pojawi nam się strona z trzema formularzami, wypełniamy formularz w sekcji „Ręcznie – pojedyncze oferty” i zatwierdzamy ‘Wyślij’. Po poprawnym wprowadzeniu wszystkich produktów z Państwa sklepu naleŜy jeszcze przypisać swoje kategorie do kategorii pasaŜu. (Zobacz punkt 2) 1.2. Automatyczne wprowadzanie oferty z pliku XML Jeśli generują Państwo plik XML dla jednej z obsługiwanych przez nas porównywarek cen (Zobacz listę obsługiwanych porównywarek Rozdział 1.4), system moŜe automatycznie pobrać całą ofertę sklepu z podanego pliku XML. Aby jednorazowo wgrać plik XML naleŜy zalogować się na panel i wybrać „Wgraj produkty”. Pojawi nam się strona z formularzem „Automatycznie – pliki XML”. Plik z ofertą moŜemy wybrać z dysku lub podać adres pliku XML który istnieje w Internecie oraz wybieramy format pliku przygotowanego dla porównywarki. 1.3. Cyklicznie pobieranie oferty ze strony Cykliczne pobieranie oferty ze strony to funkcja która umoŜliwia automatyczne pobieranie oferty ze wskazanego przez Państwa pliku XML. Plik z ofertą powinien być w jednym z obsługiwanych przez nas formatów (Zobacz listę punkt 1.4) Na stronie „Wgraj produkty” wypełniamy ostatni formularz „Automatycznie ze strony”. Podajemy poprawny adres URL pliku dostępnego w Internecie, login i hasło (jeśli plik jest zabezpieczony hasłem), wybieramy format pliku przygotowanego dla porównywarki oraz częstotliwość pobierania oferty. 1.4. Lista obsługiwanych formatów XML Oto lista obsługiwanych przez nasz system porównywarek cen wraz z adresem do specyfikacji formatu lub przykładowego pliku XML • • Cenuj - http://www.cenuj.pl/cenuj.xml (przykładowy plik XML) Kupujemy.pl – http://www.kupujemy.pl/wymiana-danych.html • • • • • • Najtaniej24.pl – http://www.najtaniej24.pl/shop/integracja_najtaniej24.pdf Nokaut - http://www.nokaut.pl/dl/nokaut-integracja.pdf Od ręki http://www.odreki.pl/?mode=instrukcja_integracji&shops=1&download=1&file=integ racja_z_odreki_pl.pdf Okazje.info.pl - http://www.okazje.info.pl/r/files/okazje-integracja.pdf OnetZakupy - http://zakupy.onet.pl/panel/_i/podrecznik_integracji.pdf Radar - http://www.radar.pl/download/radar_-_instrukcja_integracji.pdf 2. Mapowanie (przypisywanie kategorii) Proces mapowania polega na przypisywaniu kategorii sklepu, w których znajdują się produkty, do kategorii pasaŜu (Czynność mapowania nie jest konieczna w przypadku ręcznego dodawania produktów). Na stronie panelu w sekcji Mapowanie kategorii wybieramy „Przypisz kategorię” – wyświetli nam lista z zaimportowanymi kategoriami, które powinniśmy przypisać do kategorii pasaŜu. Aby zmapować daną kategorię wybieramy kategorię z listy i przechodzimy na stro1nę „Zmień kategorię”. Następnie naleŜy wybrać odpowiednią kategorię z naszego serwisu oraz zatwierdzamy „Zmień”. Jeśli nie ma odpowiadającej kategorii, klient moŜe zmienić szablon produktu wchodząc na „Twoje produkty w pasaŜu”, wybierając produkt i kliknąć edytuj produkt. Następnie wybieramy szablon produktu i akceptujemy . 3. API – dla Partnerów rozliczających się za faktyczną sprzedaŜ KaŜdy Partner, który rozlicza się za faktyczną sprzedaŜ musi sprawdzać przy kaŜdym wejściu na sklep, czy nagłówek HTTP_REFERER wskazuje na stronę pasaŜu. JeŜeli uŜytkownik przychodzi z naszego pasaŜu to Partner powinien zapisać o tym informację w cookies lub sesji i przy kaŜdym jego zakupie (do zamknięcia przeglądarki) transakcja musi wprowadzana przez nasz interfejs programistyczny (API) pasaŜu. Architektura interfejsu programistycznego PasaŜu jest zgoda z wzorcem REST gdzie jednostką informacji jest zasób. Jako format danych uŜywamy formatu JSON Korzystanie z zasobów interfejsu wymaga autoryzacji Partnera poprzez wcześniej wygenerowany API_KEY. (więcej informacji punkt 3.1. Autoryzacja) Komunikacja z interfejsem programistycznym odbywa się poprzez adres URL: http://muratordom.pl/api/transactions/ 3.1. Autoryzacja Partner rozliczający się za faktyczną sprzedaŜ powinien pobrać klucz api_key oraz secret. KaŜde zapytanie aby było poprawnie uwierzytelnianie musi zawierać w nagłówku następujące dane: • • • • _api_ver - uŜywana wersja API (w tym dokumencie opisana jest wersja 0.1) _api_key - klucz api który moŜna pobrać z panelu klienta _timestamp - czas wykonania zapytania _signature - unikalna sygnatura identyfikująca dane zapytanie timestamp - Czas wykonania zapytania w postaci liczby sekund od godz. 00:00 1 stycznia 1970 r (standardowy UNIXowy timestamp). Uwaga, naleŜy upewnić się, Ŝe na komputerze z którego wykonywane jest zapytanie jest ustawiony poprawny czas. Np. 1264167558 Secret - ciąg znaków pobrany razem z kluczem api z panelu klienta Np. "kDk&/T~2zDuqJx:ye$! Kroki generowania _signature: 1. Sklejamy ciągi znaków w następującej kolejności: uri, timestamp, secret Przykładowy wynik: /api/transactions/1264167558"kDk&/T~2zDuqJx:ye$! (zwróć uwagę na brak spacji) 2. Dla otrzymanego ciągu obliczamy sumę kontrolną SHA1 Przykładowy wynik dla danych z poprzedniego punktu: d4812548af61216e88765a3c408aeea43149a2fd Przykładowa implementacja w języku Python: signature = sha1( "%s%s%s" % (uri, timestamp, secret) ).hexdigest() Uwaga, timestamp oraz sygnatura muszą być za kaŜdym razem generowane na nowo. Nawet powtarzając zapytanie, które z jakiegoś powodu nie zostało wykonane pomyślnie. 3.2. Lista moŜliwych operacji Operowanie na transakcjach odbywa się przez zasób transactions (http://wymarzonyogrod.pl/api/transactions/), który posiada funkcje takie jak: • GET /api/transactions/ Lista wszystkich transakcji danego klienta. • GET /api/transactions/{transaction_id} Szczegółowe informacje o wybranej transakcji • POST /api/transactions/ Dodanie transakcji do systemu • DELETE /api/transactions/{transaction_id} Usunięcie wybranej transakcji Wymagane parametry przy dodawaniu transakcji: passage – symbol amount – kwota transakcji client_ip – identyfikator klienta client_browser – przeglądarka klienta transaction_number – numer transakcji elements – lista produktów elements składa się z następujących pól: object_id – identyfikator produktu w sklepie name – nazwa produktu quantity – ilość produktów price – cena produktu value – wartość produktu 3.3. Odpowiedzi zwracane przez dostępne metody KaŜdy zasób zwraca kod odpowiedzi który informuje o rezultacie wykonania danej operacji. 200 OK – operacja została wykonana prawidłowo 201 CREATED – operacja tworzenia nowego obiektu została wykonana pomyślnie 204 NO CONTENT – operacja usuwania obiektu została wykonana pomyślnie 400 BAD REQUEST – zły format zapytania 401 UNAUTHORIZED – błąd autoryzacji 403 FORBIDDEN – brak dostępu 410 GONE – obiekt nie istnieje 3.4. Przykłady zwracanych danych Zasoby pobierające dane z naszego systemu zwracają dane w formacie JSON. Przykład danych zwróconych przy pobieraniu transakcji: GET /api/transactions/14/ { ‘transaction_number’, 14, ‘amount’: 500, ‘client_ip’: 127.0.0.1, ‘client_browser’: ‘Firefox’, ‘elements’: { ‘object_id’: 4, ‘name’: ‘Wiertarka udarowa’, ‘quantity’: 1, ‘price’: 500, ‘value’: 500 }} Przykład danych zwróconych przy listowaniu transakcji: GET /api/transactions/ {{ ‘id’, 14, ‘passage’: ‘WO’, ‘amount’: ‘10’, ‘transaction_number’, 1 }, { ‘id’, 15, ‘passage’: ‘WO’, ‘settlement: ‘CPT’, ‘amount’: ‘20’, ‘transaction_number’, 2 }}