Producten exporteren vanuit Shopify als CSV-bestand
Shopify is een zeer populair e-commerceplatform dat door zowel grote als kleine detailhandelbedrijven wordt gebruikt. Hoewel Shopify gebruiksvriendelijke tools biedt voor het opzetten en beheren van een webwinkel, kan het beheren van de enorme hoeveelheid data achter de schermen, zoals productcatalogi, klantgegevens, bestelgegevens en voorraad, snel complex worden.
Bedrijven hebben vaak de behoefte om Shopify-gegevens te integreren met backend-databases, ERP-systemen, CRM-systemen, datawarehouses of andere platforms, om processen te optimaliseren, diepgaandere analyses uit te voeren of automatiseringsworkflows te ondersteunen.
Hier komt een tool voor data-integratie met Shopify-ondersteuning van pas, waardoor bedrijven data efficiënt en nauwkeurig kunnen transformeren, toewijzen en verplaatsen tussen Shopify en andere systemen.
Laten we eens kijken naar een voorbeeld van een veelvoorkomende situatie: het extraheren van productgegevens van Shopify naar een CSV-bestand, met behulp van visuele tools in MapForce.

How Can You Get Data Out of Shopify?
Hoewel Shopify de tools biedt die bedrijven nodig hebben om hun webshops op te zetten en te beheren, is het verkrijgen van de gegevens die ze nodig hebben voor andere taken uit het platform iets complexer.
Shopify heeft in het verleden verschillende API's en tools aangeboden die ontwikkelaars helpen om data te benaderen en te exporteren, maar ze hebben onlangs gestandaardiseerd op GraphQL als het voorkeursformaat voor API's. Sterker nog, ze zullen binnenkort eisen dat alle nieuwe Shopify-apps GraphQL gebruiken. De GraphQL-aanpak maakt het mogelijk om zeer gerichte vragen te stellen, waardoor verkopers alleen de specifieke data kunnen opvragen die ze nodig hebben in één API-oproep. Dit verbetert de prestaties en vermindert onnodige dataoverdracht.

Shopify biedt twee hoofd-GraphQL-API's die ontwikkelaars of IT-professionals kunnen gebruiken om toegang te krijgen tot winkelgegevens:
Shopify Admin GraphQL API: Dit is de belangrijkste API voor beheerfuncties. Het biedt toegang tot winkelgegevens, zoals producten, bestellingen, klanten, voorraad, informatie over verzending en meer. Ontwikkelaars kunnen de Admin GraphQL API gebruiken om gegevens op te halen en te integreren met andere systemen.
Shopify Storefront GraphQL API: Hoewel de Storefront API voornamelijk wordt gebruikt om aangepaste winkelervaringen en front-end applicaties te ondersteunen, biedt het ook toegang tot openbare winkelgegevens, zoals productlijsten, collecties en afrekenprocessen. Dit is vooral nuttig voor bedrijven die Shopify-gegevens willen integreren in klantgerichte platforms, zoals aangepaste mobiele apps.
Het gebruik van MapForce voor het integreren van Shopify-gegevens
Ontwikkelaars kunnen MapForce gebruiken om Shopify-gegevens te integreren met andere dataformaten en systemen door aangepaste mappings te creëren die rechtstreeks deze GraphQL-API's aanroepen. MapForce ondersteunt het gebruik van Shopify-gegevens als bron of bestemming voor elk data-integratieproject en fungeert als een brug, waarbij de datastructuren van Shopify worden omgezet in de formaten die vereist zijn door de doeldatastructuur – of omgekeerd.
Om te beginnen, moeten ontwikkelaars een aangepaste app maken binnen hun Shopify-winkel. Een aangepaste app biedt de benodigde API-credentials en -rechten om veilig met de Shopify-API's te communiceren. In tegenstelling tot openbare apps die vermeld staan in de Shopify App Store, en die worden aangeboden door Shopify-partners voor algemeen gebruik, worden aangepaste apps specifiek ontwikkeld voor het privégebruik van één enkele winkel en zijn ze niet beschikbaar voor andere winkels. Dit geeft bedrijven volledige controle over hoe gegevens worden benaderd en gebruikt in hun data-integratieprojecten of ETL-projecten.
Het verbinden van MapForce met GraphQL-API's
Om Shopify-gegevens in andere systemen te integreren met behulp van de Admin- of Storefront GraphQL API, zijn er verschillende belangrijke stappen die winkelbeheerders binnen Shopify moeten uitvoeren:
- Maak het mogelijk om aangepaste applicaties te ontwikkelen Shopify beperkt standaard de mogelijkheid om aangepaste apps te maken, om verkopers te beschermen tegen ongeautoriseerde toegang tot de API. Voordat een verkoper of beheerder een aangepaste app kan maken, moet deze eerst de optie voor het ontwikkelen van aangepaste apps inschakelen in de Shopify-beheerinstellingen.
2. Maak een aangepaste app ("Apps ontwikkelen") Zodra de mogelijkheid tot het ontwikkelen van aangepaste apps is ingeschakeld, is de volgende stap het daadwerkelijk creëren van de app. Dit gebeurt via het onderdeel "Apps ontwikkelen", waar de eigenaar van de winkel of de ontwikkelaar een nieuwe app kan definiëren, specifiek bedoeld voor integratie met API's.
3. Wijs de juiste API-toegangsrechten toe Shopify gebruikt gedetailleerde toegangsrechten om te bepalen welke gegevens een app kan inzien. Afhankelijk van het specifieke gebruik van de app, moeten de juiste toegangsrechten voor de Admin API of de Storefront API worden toegekend (bijvoorbeeld: toegang tot het lezen van bestellingen, het aanpassen van producten, of het lezen van klantgegevens).
4. Installeer de aangepaste app in de Shopify-winkel
Nadat de app is geconfigureerd en de benodigde toegangsrechten zijn toegewezen, moet deze direct in de Shopify-winkel worden geïnstalleerd. Dit installatieproces genereert de benodigde API-credentials, waaronder het API-toegangstoken.
5. Haal de API-toegangstoken op en bewaar het
Het toegangstoken biedt een veilige en geauthenticeerde toegang tot de Shopify API's. Dit token wordt door uw externe tool voor data-integratie gebruikt om API-verzoeken te authenticeren.
Koppel Shopify aan een CSV-bestand
Laten we nu eens kijken naar een voorbeeld van een GraphQL-mapping in MapForce. Dit mapping-project vervult een veelvoorkomende behoefte: het extraheren van productgegevens van Shopify naar een CSV-bestand, om dit bestand vervolgens te uploaden naar een ander systeem, of simpelweg om de gegevens in Excel te importeren voor analyse.
Bij het integreren van een Shopify-component in een mappingproject, begeleidt MapForce u door het proces van het invoeren van uw winkelnaam, het selecteren van de Admin- of Storefront API, en het invoeren van uw API-toegangstoken. Vervolgens kunt u de verbindingsinstellingen definiëren, de HTTP-beveiligingsinstellingen configureren (indien nodig), relevante headerparameters toevoegen en een query of een mutatie aanmaken.

Om dat te doen, kunt u de GraphQL-query aan de linkerkant dynamisch opbouwen door elementen te selecteren uit de beschikbare opties aan de rechterkant. Dit begeleidt u door het proces. U kunt ook op de knop "Schema ophalen" klikken om MapForce te vragen om automatisch de JSON-schema-definitie voor de API-reactie te genereren, op basis van de introspectie van de server en de GraphQL-query. U kunt een gecacheerde versie van dit schema lokaal opslaan voor toekomstig gebruik wanneer u de mapping opent.
Voor dit voorbeeld gebruiken we een query voor producten, en we specificeren welke gegevens we willen terugkrijgen voor de verschillende elementen (nodes) aan de linkerkant, terwijl we de query opbouwen: het ID, de titel, en de varianten met hun respectievelijke SKU en prijs. We zullen in dit blogbericht niet alle details uitleggen over hoe GraphQL werkt, maar er zijn veel online bronnen beschikbaar, zoals https://graphql.org/learn/ en https://www.shopify.com/partners/blog/getting-started-with-graphql, die u kunt gebruiken om er meer over te leren.
Vervolgens plaatst MapForce de Shopify-oproep als een grafische component die de structuur van het API-verzoek en de API-reactie weergeeft.

Dit is het punt waar het een beetje ingewikkeld wordt: omdat de Shopify GraphQL API gebaseerd is op paginering en slechts een bepaald aantal resultaten per aanroep van de API retourneert (dus één pagina met resultaten), moeten we de API meerdere keren aanroepen om alle resultaten van onze query op te halen. We gaan dat doen door deze API-aanroep in te pakken in een aangepaste functie, die we "getProducts" noemen. Deze functie kunnen we dan recursief aanroepen als er nog meer pagina's met resultaten moeten worden opgehaald.
Dit is wat u kunt zien in de rechteronderhoek van de weergave binnen de functie getProducts:

In essentie, wanneer de eerste aanroep van de API true retourneert voor hasNextPage, gaan we dezelfde functie opnieuw aanroepen, recursief. Bij deze herhaalde aanroep zetten we de variabele $after op de waarde van de endCursor die door de vorige aanroep van de API is geretourneerd. We voegen ook een pauze van 1 seconde in tussen de API-aanroepen om te voorkomen dat we de limiet van het aantal toegestane aanroepen overschrijden.
En, uiteraard, het resultaat van die recursieve aanroep van getProducts wordt ook toegevoegd aan het resultaat van de buitenste getProducts-functie, zodat we uiteindelijk alle resultaten teruggeven aan de hoofdmapping.
Door de daadwerkelijke API-oproep in deze getProducts-functie te verpakken, bereiken we ook een mooi en overzichtelijk ontwerp voor de hoofdverwerking, waarbij we de resultaten van de API-oproep ophalen en omzetten in het uiteindelijke CSV-bestand

Dit voorbeeldproject wordt geleverd met MapForce, en u kunt uw eigen Shopify-winkelnaam en toegangstoken invoeren om het te gebruiken. Om dit te doen, opent u het voorbeeldbestand Shopify_ExportAllProducts.mfd uit het project met voorbeelden, klik vervolgens dubbel op de functie "getProducts" en klik ten slotte dubbel op het object voor de web service POST-aanroep. Hier moet u de URL van uw winkel invoeren, evenals de juiste string voor uw Shopify-toegangstoken.
Zodra u dat heeft gedaan, kunt u naar het tabblad "Output" gaan en een voorbeeld bekijken van de lijst met al uw producten, die in CSV-formaat wordt gegenereerd.

U kunt de uitvoer direct opslaan, of dit mappingproject implementeren op MapForce Server voor geavanceerde automatisering.
Met de grafische tools in MapForce kunt u eenvoudig gegevens van Shopify exporteren naar CSV, maar ook naar andere formaten zoals XML, databases, Excel en meer.
Probeer het zelf met een gratis proefperiode van 30 dagen voor MapForce.
Lees meer over de integratie van Shopify-gegevens in ons artikel over het maken van een mobiele app voor Het verzamelen van informatie over de voorraad en het koppelen ervan aan Shopify in real-time. of in realtime.