Nawiązanie połączenia w celu wymiany/synchronizacji danych
Integracja sklepu internetowego działającego na platformie PrestaShop z systemem MetaKocka umożliwia:
- automatyczne przesyłanie zamówień wraz ze wszystkimi danymi klienta (odbiorca, płatnik, forma płatności, rabaty oraz zamówione produkty),
- synchronizację produktów (produkty mogą być przesyłane ze sklepu internetowego do MetaKocka wraz ze wszystkimi danymi, które zostały już wprowadzone w sklepie internetowym),
- automatyczną synchronizację stanów magazynowych.
Faktury generowane są automatycznie na podstawie przesłanych zamówień, bez konieczności wykonywania dodatkowych czynności. Są one również weryfikowane w systemie FURS dla prawnie określonych metod płatności, a w przypadku wydanych towarów stan magazynowy jest odpowiednio zmniejszany i aktualizowany również w sklepie internetowym (jeżeli taka opcja została skonfigurowana).
Uzyskanie kluczy API
Aby ustanowić połączenie ze sklepem internetowym PrestaShop, należy uzyskać następujące dane:
- adres sklepu internetowego,
- klucz dostępu do usługi internetowej (PrestaShop WebService Key).
Klucz dostępu do usługi internetowej pozostaje aktywny do momentu jego anulowania.
Procedura krok po kroku:
1. Zaloguj się do panelu administracyjnego sklepu internetowego PrestaShop, a następnie w lewym menu, w sekcji Konfiguracja, wybierz:
Parametry zaawansowane (Advanced Parameters)
2. Z dostępnych opcji wybierz:
Webservice.

3. Na tej stronie w prawym górnym rogu wybierz opcję: „Add new webservice key” (Dodaj nowy klucz usługi internetowej).

4. Otworzy się strona dodawania nowego klucza dostępu do usługi internetowej.
5. Pole „Key” jest parametrem obowiązkowym. Można wprowadzić klucz ręcznie lub wygenerować go automatycznie, klikając przycisk „Generate” (zalecana opcja).
6. Pole „Key description” służy do wpisania własnego opisu przeznaczenia klucza. W tym przypadku opis powinien brzmieć:
„Connection with MetaKocka service”
7. Następnie należy wybrać status nowego klucza. Może on być:
- aktywny (Yes),
- nieaktywny (No).
W przypadku połączenia z MetaKocka klucz musi zostać aktywowany, ponieważ w przeciwnym razie połączenie może nie działać poprawnie.
8. Ostatnim krokiem dodawania nowego klucza dostępu do usługi internetowej sklepu PrestaShop jest wybór uprawnień, które MetaKocka będzie posiadać.
W tym przypadku wystarczy zaznaczyć wszystkie opcje:
- View (GET),
- Modify (PUT).

9. Po zakończeniu wyboru uprawnień kliknij „Save”, aby zapisać ustawienia i aktywować klucz.
10. Następnie w interfejsie internetowym MetaKocka należy wprowadzić adres sklepu internetowego oraz właśnie utworzony klucz.
Przejdź do:
Ustawienia / Połączenia (1)
następnie:
- dodaj połączenie dla PrestaShop (2),
- wprowadź adres URL swojego sklepu internetowego (3),
- wprowadź klucz otrzymany ze sklepu internetowego (4),
- zapisz ustawienia (5).
Po zapisaniu kliknij „Test połączenia”, aby sprawdzić, czy integracja działa poprawnie.



Problemy z połączeniem
Błąd 401 Unauthorized
W przypadku otrzymania błędu „401 Unauthorized error” należy wprowadzić odpowiednie zmiany w konfiguracji Apache.
Opis problemu oraz rozwiązanie dostępne są pod poniższymi linkami:
https://github.com/Bukimedia/PrestaSharp/issues/177
https://stackoverflow.com/questions/31411979/401-error-when-connecting-to-prestashop-webservice-from-android
http://forge.prestashop.com/browse/PSCSX-4818
Szybkie rozwiązanie:
Należy wprowadzić zmiany w pliku .htaccess znajdującym się w głównym katalogu sklepu internetowego.
Przed zmianą:
RewriteRule . - [E=REWRITEBASE:/]
RewriteRule ^api$ api/ [L]
Po zmianie (dodano pogrubioną linię):
RewriteRule . - [E=REWRITEBASE:/]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteRule ^api$ api/ [L]
Nieprawidłowy klucz a problemy z dostępem do API
Jeżeli Apache nie jest poprawnie skonfigurowany w sklepie, otrzymasz następujący błąd:
401 Unauthorized
Jeżeli klucz jest nieprawidłowy, odpowiedź również będzie miała kod 401, ale z następującą zawartością:
{"errors":[{"code":20,"message":"Authentification key is not active"},{"code":21,"message":"No permission for this authentication key"}]}
Symulacja wywołania za pomocą klienta REST
Funkcjonalność można sprawdzić za pomocą klienta REST w następujący sposób:
Przykład:
- adres sklepu internetowego:
http://18.196.116.84
- wartość klucza:
1234
Należy utworzyć adres URL do testu połączenia:
http://18.196.116.84/api/configurations/?display=full&output_format=JSON
Następnie należy przekonwertować klucz do formatu Base64 (np. za pomocą strony https://www.base64encode.org/) i umieścić go w nagłówku Authorization z wartością:
Basic NEY2VjgzVDFLRURSQkpLWEkxWlVaRQ=
Po wykonaniu wywołania powinna zostać zwrócona odpowiedź zawierająca dane.
Przykład działania został przedstawiony na poniższym obrazku.

Czy ten artykuł był pomocny?
To wspaniale!
Dziękujemy za opinię
Przepraszamy, że nie udało nam się pomóc!
Dziękujemy za opinię
Wysłano opinię
Doceniamy Twój wysiłek i postaramy się naprawić artykuł
