Wszystko o Shopify API: konfiguracja dostępów, liczba zapytań

Wszystko o Shopify API

Pojęcie API w systemach eCommerce to bardzo ważna kwestia, dzięki takim interfejsom różne systemy zewnętrzne mogą się ze sobą komunikować. W świecie, gdzie ekosystem sklepu eCommerce nie ogranicza się tylko do samego punktu sprzedaży, warto się przyjrzeć, jak takie API funkcjonuje.

 

Co to jest API?

Na początek warto wiedzieć, co skrót API oznacza. API (z ang. Application Programming Interface) to interfejs programowania aplikacji, który pozwala na wymianę danych między aplikacjami oraz usługami. Interfejs posiada swój zestaw reguł, który umożliwia poprawną komunikację. W praktyce aplikacje oparte o API działają jako pośrednik między dwoma systemami. Pozwalają one w szybki sposób przekazywać informacje bez potrzeby przełączania się między aplikacjami. Przykładowym zastosowaniem takiej komunikacji w świecie eCommerce jest zarządzanie produktami w sklepie w oparciu o systemy zarządzania informacjami produktowymi jak PIM Akeneo lub Pimcore. Dzięki takim integracjom, produkty w sklepie mogą posiadać bardziej zaawansowany zestaw informacji, co umożliwi potencjalnym klientom budowanie lepszych doświadczeń podczas korzystania z naszego sklepu.

 

Rozwiązania API w Shopify

Platforma Shopify (Shopify Polska) zapewnia szereg rozwiązań API, które pozwalają zarządzać sklepem na wielu płaszczyznach. Shopify API umożliwia m.in. manipulowanie danymi produktów, zarządzanie kodami rabatowymi lub klientami sklepu i nie tylko. To tylko część możliwości, jakie API prezentuje. W poniższym artykule zostanie przedstawione m.in., jak skonfigurować dostęp do Shopify API, jakie rodzaje API Shopify udostępnia oraz, w jaki sposób zapytania API są limitowane.

 

Konfiguracja dostępów Shopify API

Aby komunikacja ze sklepem poprzez API była bezpieczna, każde zapytanie musi być autoryzowane. Brak takiego zabezpieczenia mógłby spowodować, że osoby niepożądane mogłyby w łatwy sposób manipulować danymi w sklepie. Shopify podczas każdej komunikacji poprzez interfejs API wymaga autoryzacji zapytania za pomocą tokenów dostępu.

 

Do wygenerowania takiego tokenu potrzebna jest autoryzowana aplikacja Shopify, która w zależności od potrzeb może posiadać różny zestaw uprawnień pozwalający modyfikować lub przeglądać określone zasoby w sklepie. Używane przez aplikacje metody uwierzytelniania i autoryzacji będą się różnić w zależności od narzędzia użytego do jej stworzenia:

  • wszystkie aplikacje utworzone za pomocą interfejsu Shopify CLI lub za pośrednictwem pulpitu nawigacyjnego partnera korzystają z protokołu OAuth
  • jeśli aplikacja jest osadzona w panelu administracyjnym Shopify za pomocą App Bridge, będzie używać tokenów sesji
  • aplikacje utworzone w panelu administracyjnym Shopify korzystają z access tokenów generowanych w panelu administracyjnym Shopify.
Konfiguracja dostępów Shopify API

Rodzaje API w Shopify

Shopify nie ogranicza się do tylko jednego rodzaju interfejsu API, udostępnia ich kilka, między innymi:

  • Admin API – dostępne poprzez REST lub GraphQL. Pozwala na zarządzanie informacjami o produktach, klientach, zamówieniach, stanach magazynowych, informacjach o wysyłce i wiele więcej https://shopify.dev/api/admin
  • Storefront API – oferuje m.in. możliwość przeglądania produktów i kolekcji w sklepie. Dodatkowo umożliwia manipulowanie produktami w koszyku oraz częściowe zarządzanie checkout-em https://shopify.dev/api/storefront
  • Partner API – pozwala na dostęp do danych znajdujących się w panelu Partner Dashboard, aby zautomatyzować operacje front i back office https://shopify.dev/api/partner
  • Payments Apps API – daje dostęp do danych konfiguracji aplikacji do płatności. Dodatkowo pozwala zarządzać w pełni procesem płatności oraz zwrotami https://shopify.dev/api/payments-apps
  • Marketplaces API – oferuje możliwość uruchamiania zapytań oraz akcji dla wszystkich sklepów w marketplace https://shopify.dev/api/marketplaces
  • Messaging API – pozwala wysyłać wiadomości do aplikacji Shopify Inbox, która umożliwia sprzedawcom scentralizowanie ich rozmów biznesowych za pośrednictwem komunikatorów internetowych lub SMS. https://shopify.dev/api/messaging

 

Szablony Shopify są zbudowane za pomocą frameworka Liquid, tam również Shopify udostępnia dodatkowe interfejsy API aby móc kontrolować ich wygląd i styl:

  • Section Rendering API – umożliwia dynamiczne ładowanie całych sekcji bez potrzeby przeładowania całej strony https://shopify.dev/api/section-rendering
  • Ajax API – może być używany tylko na motywach stworzonych przez Shopify. Interfejs ten pozwala na modyfikowanie zawartości koszyka, czy również wyświetlanie sugerowanych produktów, bez potrzeby odświeżania strony przez kupującego. https://shopify.dev/api/ajax

 

Sama dokumentacja Shopify API jest bardzo rozbudowana, można w niej znaleźć wszystkie potrzebne informacje dotyczące zapytania, które nas interesuje. Dzięki temu praca z Shopify API sprawia przyjemność i daje dużo satysfakcji.

 

Wersjonowanie Shopify API

Wersjonowanie API pozwala na ciągły rozwój platformy Shopify, oferując deweloperom przewidywalną ścieżkę aktualizacji lub wycofywania określonych funkcji. Shopify udostępnia nową stabilną wersję API co 3 miesiące na początku kwartału. Nazewnictwo wersji jest oparte o datę jej wydania, przykładowo najnowsza wersja API 2022-07 została wydana 01.07.2022.

 

Każda stabilna wersja jest wspierana przez 12 miesięcy, co daje 9 miesięcy na przetestowanie i migrację aplikacji do nowszej wersji API, zanim obecna wersja API zostanie usunięta. Gdy jednak w zapytaniu zostanie użyta nieobsługiwana już wersja API, Shopify odpowie na nie według najstarszej obecnie obsługiwanej wersji. Zalecane jest ciągłe aktualizowanie wersji API do najnowszej, w celu zachowania ciągłości komunikacji między aplikacją a Shopify.

 

Nie wszystkie rodzaje API są jednak wersjonowane, do nich zaliczają się m.in.: Ajax API oraz Analytics API.

 

Poniżej znajduje się graficzne przedstawienie rocznego harmonogramu wsparcia poszczególnych wersji API:

Wersjonowanie Shopify API

 

Limity zapytań w Shopify

Aby zapewnić stabilność platformy Shopify wprowadził pewne ograniczenia dla wszystkich rodzajów API. Wszystkie interfejsy korzystają z algorytmu “Leaky Bucket” (metody tymczasowego przechowywania zmiennej liczby żądań i organizowania ich w formie pakietów wyjściowych o ustalonej szybkości w sieci w trybie transferu asynchronicznego (ATM). Metoda ta służy do implementacji nadzoru ruchu i kształtowania ruchu w sieciach Ethernet i komórkowych). W zależności od typu API metody ograniczeń są inne.

 

W Admin API w zależności od użytego paradygmatu limity są zdefiniowane w różny sposób:

  • REST – ograniczenie jest do maksymalnie 2 zapytań na sekundę, gdzie maksymalna ilość zapytań, którą można wykonać w minutę, to 40
  • GraphQL – ograniczenie występuje na podstawie kosztów zapytania mierzonych w punktach. Każde zwrócone przez zapytanie pole określoną liczbę punktów. Im bardziej złożone zapytanie, tym jego wykonanie będzie kosztowało więcej. Limit dla tego rodzaju API wynosi 50 punktów na sekundę, gdzie maksymalny koszt zapytań w minutę nie może wynieść więcej niż 1000. Limit ten odnawia się w tempie 50 punktów na sekundę.

 

Dla Storefront API limit nie dotyczy ilości zapytań, tylko czasu ich przetwarzania. Dodatkowo limit nie dotyczy identyfikatora sklepu, tylko adresu IP żądania. Limit ten wynosi 60 sekund czasu zapytań przypadający na jedną minutę.

 

Payments Apps API korzysta z GraphQL, więc ograniczenie dotyczy kosztów zapytania mierzonych w punktach. Limit dla tego rodzaju API to 910 punktów na sekundę.

 

Warto dodać, że dla subskrybcji Shopify Plus, wszystkie powyższe limity są podwojone.

 

Podsumowanie

API w platformach eCommerce odgrywa bardzo ważną rolę, pozwalając na komunikację z wieloma zewnętrznymi systemami, które w dzisiejszych czasach stanowią nieodzowną część ekosystemu sklepu. Dzięki wielu typom interfejsów API, jakie Shopify udostępnia, możliwe jest oddziaływanie sklep na wielu płaszczyznach. Zasady ograniczeń API, jakie Shopify proponuje, sprawiają, że komunikacja jest bezpieczna i stabilna. Przekłada się to na coraz większe zainteresowanie platformą Shopify zewnętrznych firm oferujących swoje unikalne rozwiązania wspomagające sprzedawcę.

 

Jeżeli jesteś zainteresowany jakimś rozwiązaniem lub integracją z Twoim sklepem, skontaktuj się z nami, na pewno znajdziemy dla Ciebie odpowiednie rozwiązanie.

 

Więcej informacji znajdziecie w dokumentacji Shopify API: 

 

https://shopify.dev/api

Jakub Szubart
Związany z branżą IT od 2019 roku. Programista języka PHP posługujący się frameworkami takimi jak Symfony oraz Laravel. Obecnie członek zespołu backendowego w Brand Active. Na co dzień tworzy aplikacje rozszerzające funkcjonalności platformy Shopify. Dodatkowo zajmuje się wdrażaniem, utrzymywaniem oraz integracją systemu PIM Akeneo.

Chcesz pracować z doświadczonymi specjalistami?

Porozmawiajmy o naszych rozwiązaniach dla Twojego biznesu.

Skontaktuj się z nami

Polecane wpisy

Brand Active Partnerem Shopify Plus!

Zostaliśmy Partnerem Shopify Plus! Po przejściu procedury weryfikacyjnej trafiliśmy do grona Agencji rekomendowanych przez Shopify.
12.10.2022
Czytaj więcej Strzałka

Avalara AvaTax – usługi podatkowe dla eCommerce

Avalara AvaTax jest rozwiązaniem opartym na chmurze, które zapewnia zgodność z przepisami podatkowymi, dodatkowo automatyzuje zawiłości zarządzania podatkami od sprzedaży, VAT, GST oraz cłem w sytuacji, gdy właściciel sklepu prowadzi sprzedaż na całym świecie. 
13.09.2022
Czytaj więcej Strzałka