Jakub Szubart|29.09.2022|3min

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

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.

[caption id="" align="alignnone"]

Zródło: https://shopify.dev/apps/auth[/caption]

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: [caption id="" align="alignnone"]

Zródło: https://shopify.dev/api/usage/versioning[/caption]


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
j.szubart@brandactive.pl

Porozmawiajmy o wzroście Twojego biznesu.

Zrób pierwszy krok w stronę realnego skalowania:

  • Skonsultuj swoją strategię: Dowiedz się, jak Shopify Plus może obniżyć Twoje koszty operacyjne (TCO).
  • Zaplanuj bezpieczną migrację: Omów z nami plan przeniesienia sukcesu Twojej marki na nową platformę bez ryzyka utraty danych.
  • Audytuj i optymalizuj: Sprawdź, gdzie ukryty jest potencjał wzrostu Twojej konwersji.

Zobacz, w czym możemy Ci pomóc

Projektowanie i wdrożenia sklepów Shopify

Wykorzystujemy pełną moc ekosystemu Shopify do budowy Twojej przewagi. 
Nie ograniczamy się do standardowych szablonów. Jako pionierzy Shopify w Polsce, wiemy jak skonfigurować tę platformę, by stała się wydajnym silnikiem sprzedaży. Projektujemy rozwiązania, które łączą natywne funkcje Shopify z zaawansowanymi integracjami, zapewniając szybkość ładowania, intuicyjną obsługę i gotowość na każdy pik sprzedażowy. Tworzymy narzędzia, które dają Ci wolność w zarządzaniu biznesem, a nie generują bariery techniczne.

Zobacz całość
Strategiczne wdrożenia Shopify Plus (Enterprise)

Technologia klasy premium dla marek, które nie uznają kompromisów. 
Dla największych graczy wdrażamy Shopify Plus – rozwiązanie łączące nieograniczoną skalowalność z najniższym TCO (Total Cost of Ownership) na rynku. Projektujemy zaawansowane automatyzacje (Shopify Flow, Launchpad) i dedykowane checkouty, które przekładają się na miliony oszczędności i stabilność w skali globalnej.

Zobacz całość
Bezpieczne migracje do Shopify

Przenieś swój biznes na wyższy poziom bez ryzyka utraty danych. 
Kiedy dotychczasowy system staje się barierą, a nie wsparciem – czas na zmianę środowiska Migracja z Shoper, Magento, PrestaShop czy WooCommerce to operacja na otwartym sercu e-commerce. W Brand Active przeprowadzamy ją chirurgicznie: zabezpieczamy Twoje SEO, przenosimy historię klientów i zamówień, jednocześnie czyszcząc Twój biznes z długu technologicznego. Zmieniasz platformę, aby odzyskać zwinność, obniżyć koszty utrzymania (TCO) i zyskać fundament pod nieograniczone skalowanie. 

Audyty wzrostu i efektywności

Znajdziemy wąskie gardła, które blokują Twoje zyski. 
Audyt w naszym wykonaniu to nie suchy raport PDF. To głęboka analiza techniczna, analityczna i biznesowa Twojego sklepu. Wskazujemy konkretne punkty, w których uciekają Twoje pieniądze – od szybkości ładowania, przez błędy w lejku, aż po optymalizację retencji. Dostajesz gotowy backlog zmian, które napędzą Twój wzrost.

Zobacz całość
Projektowanie UX/UI napędzające sprzedaż

Projektujemy doświadczenia, które realnie konwertują. 
W Brand Active design służy sprzedaży. Łączymy unikalny branding z bezkompromisową użytecznością (Usability). Tworzymy interfejsy Data-Driven, które prowadzą klienta za rękę od pierwszej sekundy na stronie aż do finalizacji zakupu. Nie tworzymy ładnych obrazków – tworzymy maszyny do konwersji.