---
title: Eksportowanie produktów z platformy Shopify do formatu CSV
date: 2025-03-28
categories:
  - ai
  - data-integration
  - json
  - xml
tags:
  - ai-assistants
  - data-mapping
  - json-editor
  - pdf
  - xml-editor
description: Narzędzia graficzne w programie MapForce ułatwiają eksport danych z platformy Shopify i zapisywanie ich w innych formatach, takich jak XML, bazy danych lub arkusze kalkulacyjne Excel.
---
Status: #blog

Tags:  #mapforce #shopify

Categories: [data-integration](/blog/pl/category/data-integration.md) | [etl](/blog/pl/category/etl.md) 
# Eksportowanie produktów z platformy Shopify do formatu CSV

Shopify to niezwykle popularna platforma e-commerce, szeroko wykorzystywana przez firmy handlowe, zarówno duże, jak i małe. Chociaż Shopify oferuje łatwe w użyciu narzędzia do tworzenia i prowadzenia sklepów internetowych, zarządzanie ogromną ilością danych, takich jak katalogi produktów, informacje o klientach, zapisy zamówień i stan magazynowy, może szybko stać się skomplikowane.

Firmy często muszą integrować dane z platformy Shopify z bazami danych, systemami ERP, systemami CRM, hurtowniami danych lub innymi platformami, aby usprawnić działanie, przeprowadzać bardziej szczegółowe analizy lub wspierać automatyzację procesów.

Właśnie dlatego narzędzie do mapowania danych, które obsługuje platformę Shopify, staje się niezbędne, umożliwiając firmom efektywne i precyzyjne przekształcanie, mapowanie i przesyłanie danych między platformą Shopify a innymi systemami.

Przyjrzyjmy się przykładowi typowej sytuacji – eksportu danych produktów z platformy Shopify do pliku CSV – przy użyciu narzędzi wizualnych w programie MapForce.

![Post na blogu Shopify](/blog/images/Shopify_CSV1_blog.jpg)

<!--more-->
## How Can You Get Data Out of Shopify?

Chociaż Shopify udostępnia narzędzia, których firmy potrzebują do stworzenia i zarządzania swoimi sklepami internetowymi, pozyskiwanie danych potrzebnych do innych zadań z tej platformy jest nieco bardziej skomplikowane.

Shopify od dawna udostępniało wiele interfejsów API i narzędzi, które miały ułatwić programistom dostęp do danych i ich eksport. Ostatnio jednak firma znormalizowała swoje rozwiązania, preferując format [**GraphQL**](https://graphql.org/) jako główny interfejs API. Wkrótce firma będzie wymagała, aby wszystkie nowe aplikacje dla Shopify korzystały z GraphQL. Podejście oparte na GraphQL umożliwia precyzyjne zapytania, pozwalając sprzedawcom na żądanie tylko tych konkretnych danych, których potrzebują, w pojedynczym zapytaniu do API, co poprawia wydajność i redukuje niepotrzebny transfer danych.

![Logo firmy Shopify z symbolem GraphQL](/blog/images/shopify-graphql.png)

Shopify oferuje dwie główne interfejsy API oparte na GraphQL, które pomagają programistom lub specjalistom IT uzyskać dostęp do danych sklepu:

- **Interfejs API GraphQL dla panelu administracyjnego Shopify**: Jest to główny interfejs API służący do operacji administracyjnych. Zapewnia dostęp do danych sklepu, takich jak produkty, zamówienia, klienci, stan magazynowy, informacje o realizacji zamówień i wiele innych. Programiści mogą wykorzystać interfejs API GraphQL dla panelu administracyjnego do pobierania i przekształcania danych w celu integracji z innymi systemami.

- **Interfejs GraphQL dla sklepu Shopify**: Chociaż interfejs API dla sklepu jest przede wszystkim wykorzystywany do tworzenia niestandardowych rozwiązań e-commerce i aplikacji front-end, zapewnia również dostęp do publicznie dostępnych danych sklepu, takich jak listy produktów, kolekcje i proces składania zamówień. Jest to szczególnie przydatne dla firm, które chcą zintegrować dane Shopify z platformami skierowanymi do klientów, takimi jak dedykowane aplikacje mobilne.

## Wykorzystanie MapForce do integracji danych z platformy Shopify

Programiści mogą wykorzystać MapForce do [integracji danych z platformy Shopify](https://www.altova.com/pl/mapforce/convert-shopify-graphql) z innymi formatami danych i systemami, tworząc niestandardowe mapowania, które bezpośrednio korzystają z tych interfejsów GraphQL. MapForce, obsługując połączenia z Shopify jako źródło lub cel w każdym projekcie integracji danych, działa jako most, przekształcając struktury danych Shopify w formaty wymagane przez docelową strukturę danych – lub odwrotnie.

Aby rozpocząć, programiści muszą stworzyć **aplikację niestandardową** w swoim sklepie Shopify. Aplikacja niestandardowa dostarcza niezbędne dane uwierzytelniające i uprawnienia, umożliwiając bezpieczną interakcję z interfejsami API Shopify. W przeciwieństwie do aplikacji publicznych, dostępnych w **Sklepie Aplikacji Shopify**, które są oferowane przez partnerów Shopify do użytku ogólnego, aplikacje niestandardowe są opracowywane specjalnie dla konkretnego sklepu i jego specyficznych potrzeb, i nie są dostępne dla innych sklepów. To daje firmom pełną kontrolę nad tym, w jaki sposób dane są pobierane i wykorzystywane w ich projektach integracji danych lub [projektach ETL](https://www.altova.com/pl/etl).

## Integracja MapForce z interfejsami GraphQL

Aby zintegrować dane z Shopify z innymi systemami za pomocą interfejsów GraphQL dla panelu administracyjnego lub sklepu, właściciele sklepów muszą wykonać kilka kluczowych kroków wewnątrz platformy Shopify:

1. **Umożliwienie tworzenia niestandardowych aplikacji** 
	Domyślnie, platforma Shopify ogranicza możliwość tworzenia niestandardowych aplikacji, aby chronić sprzedawców przed nieautoryzowanym dostępem do interfejsu API. Zanim właściciel sklepu lub administrator będzie mógł stworzyć niestandardową aplikację, musi najpierw włączyć opcję tworzenia takich aplikacji w ustawieniach administracyjnych Shopify.

2.   **Utwórz własną aplikację („Twórz aplikacje”)**
	Po włączeniu możliwości tworzenia niestandardowych aplikacji, kolejnym krokiem jest stworzenie samej aplikacji. Można to zrobić za pomocą sekcji "**Tworzenie aplikacji**", w której właściciel sklepu lub programista może zdefiniować nową aplikację, przeznaczoną specjalnie do integracji z API.

3.   **Przypisz odpowiednie zakresy dostępu do API**
	Shopify wykorzystuje szczegółowe zakresy uprawnień, aby kontrolować, do jakich danych aplikacja może uzyskać dostęp. W zależności od konkretnego zastosowania biznesowego, aplikacji należy przyznać odpowiednie zakresy uprawnień dla API administracyjnego lub API sklepu (np. dostęp do odczytu zamówień, dostęp do zapisu produktów, dostęp do odczytu danych klientów).

4.   **Zainstaluj aplikację niestandardową w sklepie Shopify**  
	Po skonfigurowaniu aplikacji i przypisaniu odpowiednich uprawnień, należy ją zainstalować bezpośrednio w sklepie Shopify. Proces instalacji generuje niezbędne dane uwierzytelniające API, w tym token dostępu do API.

5.   **Pobierz i zapisz token dostępu do API**  
	Token dostępu zapewnia bezpieczny i autoryzowany dostęp do interfejsów API platformy Shopify. Ten token będzie wykorzystywany przez zewnętrzne narzędzie do mapowania danych w celu uwierzytelniania żądań API.

## Mapowanie danych Shopify do formatu CSV 

Teraz przyjrzyjmy się przykładowemu mapowaniu GraphQL w programie MapForce. Ten projekt mapowania spełnia popularne wymaganie: ekstrakcji danych produktów z platformy Shopify do pliku CSV, który można następnie przesłać do innego systemu, a nawet po prostu otworzyć w Excelu w celu analizy.

Podczas dodawania komponentu Shopify do projektu mapowania, MapForce przeprowadzi Cię przez proces wprowadzania nazwy Twojego sklepu, wyboru interfejsu API (Admin lub Storefront) oraz wprowadzenia tokenu dostępu do API. Następnie możesz zdefiniować ustawienia połączenia, skonfigurować ustawienia zabezpieczeń HTTP (jeśli to konieczne), dodać odpowiednie parametry nagłówków oraz utworzyć zapytanie lub mutację.

![Ustawienia API platformy Shopify](/blog/images/shopify-api-settings.png)

Aby to zrobić, można dynamicznie budować zapytanie GraphQL po lewej stronie, wybierając elementy z dostępnych opcji po prawej, co pomoże w procesie. Można również nacisnąć przycisk "Pobierz schemat", aby poprosić MapForce o automatyczne utworzenie definicji schematu JSON dla odpowiedzi API, na podstawie introspekcji serwera i zapytania GraphQL (a można zapisać lokalną, buforowaną wersję tego schematu do późniejszego wykorzystania podczas otwierania mapowania).

W tym przykładzie użyjemy zapytania dotyczącego produktów i określimy, jakie dane chcemy otrzymać dla poszczególnych elementów (węzłów) po lewej stronie, podczas konstruowania zapytania: identyfikator, tytuł oraz warianty wraz z ich odpowiednimi kodami SKU i cenami. W tym wpisie na blogu nie omówimy wszystkich szczegółów działania GraphQL, ale istnieje wiele dostępnych zasobów online, takich jak [https://graphql.org/learn/](https://graphql.org/learn/) i [https://www.shopify.com/partners/blog/getting-started-with-graphql](https://www.shopify.com/partners/blog/getting-started-with-graphql), które mogą pomóc w pogłębieniu wiedzy na ten temat.

Następnie MapForce wstawia wywołanie Shopify jako komponent graficzny, który wyświetla strukturę żądania i odpowiedzi API.

![Wywołanie API Shopify w programie MapForce](/blog/images/shopify-api-call.png)

W tym momencie sytuacja staje się nieco bardziej skomplikowana: ponieważ API GraphQL firmy Shopify opiera się na paginacji i zwraca tylko określoną liczbę wyników przy każdym wywołaniu API (czyli jedną stronę wyników), będziemy musieli wywołać API wielokrotnie, aby pobrać wszystkie elementy wynikowe z naszego zapytania. Zrobimy to, opakowując to wywołanie API w niestandardową funkcję, którą nazywamy "getProducts". Jeśli istnieje więcej stron wyników do pobrania, możemy wywołać tę funkcję rekurencyjnie.

Można to zobaczyć w prawym dolnym rogu mapy, która znajduje się wewnątrz funkcji `getProducts`:

![Funkcja MapForce](/blog/images/MapForce-function.png)

W zasadzie, gdy pierwsze wywołanie API zwraca wartość "true" dla parametru "hasNextPage", wywołujemy tę samą funkcję ponownie, rekurencyjnie, ustawiając zmienną "$after" na wartość "endCursor" zwróconą przez poprzednie wywołanie API. Dodatkowo, pomiędzy kolejnymi wywołaniami API wprowadzamy 1-sekundową pauzę, aby uniknąć przekroczenia limitu zapytań API.

Oczywiście, wynik wywołania funkcji `getProducts` wewnątrz funkcji (rekurencyjnie) jest również dodawany do wyniku działania zewnętrznej funkcji `getProducts`, dzięki czemu ostatecznie zwracamy wszystkie wyniki do głównego modułu.

Otaczając rzeczywisty wywołanie API funkcją `getProducts`, osiągamy również bardzo czytelny i przejrzysty sposób organizacji głównego procesu, w którym pobieramy wyniki z wywołania API i przekształcamy je w wynikowy plik CSV

![Wyodrębnij dane z platformy Shopify](/blog/images/Shopify-data-mapping%201.png)

Ten przykładowy projekt jest dostarczany z programem MapForce, a do jego uruchomienia należy wprowadzić nazwę własnego sklepu Shopify oraz token dostępu. Aby to zrobić, otwórz plik przykładu Shopify_ExportAllProducts.mfd znajdujący się w folderze z przykładami, następnie dwukrotnie kliknij funkcję "getProducts", a na końcu dwukrotnie kliknij obiekt wywołania metody POST usługi internetowej. W tym miejscu należy wprowadzić adres URL swojego sklepu, a także poprawny ciąg znaków dla tokenu dostępu do Shopify.

Po wykonaniu tego kroku, powinniście być w stanie przełączyć się na zakładkę "Wyjście" i zobaczyć podgląd listy wszystkich Waszych produktów, generowanej w formacie CSV.

![Dane z Shopify wyeksportowane do formatu CSV](/blog/images/Shopify-CSV.png)

Można zapisać wynik bezpośrednio lub wdrożyć ten projekt mapowania na serwerze [MapForce Server](https://www.altova.com/pl/mapforce-server) w celu zapewnienia wysokiej wydajności automatyzacji.


Narzędzia graficzne w programie MapForce ułatwiają eksport danych z platformy Shopify do formatu CSV, a także do innych formatów, takich jak XML, bazy danych, Excel i inne.



**Wypróbuj to samodzielnie, korzystając z [bezpłatnej 30-dniowej wersji próbnej MapForce](https://www.altova.com/pl/mapforce/download).**



Przeczytaj więcej o integracji danych w Shopify w naszym artykule poświęconym tworzeniu aplikacji mobilnej dla [zbieranie informacji o stanie magazynowym i ich integracja z platformą Shopify](https://www.altova.com/blog/updating-shopify-inventory-from-a-mobile-app/) w czasie rzeczywistym.

---

