Esportare prodotti da Shopify in formato CSV

Shopify è una piattaforma di e-commerce estremamente popolare, ampiamente utilizzata da aziende di vendita al dettaglio di tutte le dimensioni. Sebbene Shopify offra strumenti facili da usare per creare e gestire un negozio online, la gestione dell'enorme quantità di dati che si cela dietro le quinte, come cataloghi prodotti, informazioni sui clienti, registri degli ordini e inventario, può rapidamente diventare complessa.

Le aziende spesso devono integrare i dati di Shopify con database interni, sistemi ERP, CRM, data warehouse o altre piattaforme, al fine di ottimizzare le operazioni, effettuare analisi più approfondite o supportare processi di automazione.

È in questi casi che uno strumento di mappatura dei dati, con supporto per Shopify, diventa essenziale, consentendo alle aziende di trasformare, mappare e trasferire i dati tra Shopify e altri sistemi in modo efficiente e preciso.

Esaminiamo un esempio di una situazione comune: l'estrazione di dati sui prodotti da Shopify e la loro esportazione in un file CSV, utilizzando strumenti visivi in MapForce.

How Can You Get Data Out of Shopify?

Sebbene Shopify fornisca gli strumenti necessari alle aziende per creare e gestire i propri negozi online, estrarre i dati necessari per altre attività dalla piattaforma può essere un po' più complicato.

Storicamente, Shopify ha fornito diverse API e strumenti progettati per aiutare gli sviluppatori ad accedere ed esportare dati, ma recentemente ha adottato GraphQL come formato API preferito. Infatti, a breve, Shopify richiederà che tutte le nuove applicazioni utilizzino GraphQL. L'approccio GraphQL consente di effettuare richieste molto specifiche, permettendo ai commercianti di richiedere solo i dati di cui hanno effettivamente bisogno con una singola chiamata all'API, migliorando così le prestazioni e riducendo qualsiasi trasferimento di dati non necessario.

Shopify offre due principali API GraphQL che consentono agli sviluppatori o ai professionisti IT di accedere ai dati dei negozi:

  • API GraphQL per l'amministrazione di Shopify: Questa è l'API principale per le operazioni lato server. Fornisce l'accesso ai dati del negozio online, come prodotti, ordini, clienti, inventario, informazioni sulla spedizione e altro ancora. Gli sviluppatori possono utilizzare l'API GraphQL per l'amministrazione di Shopify per estrarre e mappare i dati ad altri sistemi.

  • API GraphQL per l'interfaccia utente di Shopify: Sebbene l'API per l'interfaccia utente sia utilizzata principalmente per creare esperienze di acquisto personalizzate e applicazioni front-end, offre anche l'accesso a dati pubblici relativi al negozio, come elenchi di prodotti, collezioni e processi di checkout. Questo è particolarmente utile per le aziende che desiderano integrare i dati di Shopify in piattaforme rivolte ai clienti, come applicazioni mobili personalizzate.

Utilizzo di MapForce per l'integrazione dei dati di Shopify

Gli sviluppatori possono utilizzare MapForce per integrare i dati di Shopify con altri formati e sistemi, creando mappature personalizzate che richiamano direttamente queste API GraphQL. Grazie al supporto per le chiamate a Shopify come sorgente o destinazione di qualsiasi progetto di integrazione dati, MapForce funge da ponte, trasformando le strutture dati di Shopify nei formati richiesti dalla struttura dati di destinazione, o viceversa.

Per iniziare, gli sviluppatori devono creare un applicazione personalizzata all'interno del loro negozio Shopify. Un'applicazione personalizzata fornisce le credenziali API e le autorizzazioni necessarie per interagire in modo sicuro con le API di Shopify. A differenza delle applicazioni pubbliche elencate nel Negozio di applicazioni di Shopify, che vengono offerti dai partner di Shopify per un utilizzo generale, le app personalizzate vengono sviluppate specificamente per un singolo negozio e per un utilizzo privato, e non sono disponibili per altri negozi. Questo offre alle aziende il pieno controllo su come i dati vengono accessi e utilizzati nei loro sistemi di integrazione dati o Progetti ETL.

Collegare MapForce alle API GraphQL

Per integrare i dati di Shopify in altri sistemi utilizzando le API GraphQL dell'interfaccia di amministrazione o del negozio online, ci sono diverse fasi fondamentali che i proprietari dei negozi devono completare all'interno di Shopify:

  1. Abilita lo sviluppo di applicazioni personalizzate Shopify limita, di default, la creazione di applicazioni personalizzate per proteggere i commercianti da accessi non autorizzati alle API. Prima di creare un'applicazione personalizzata, il proprietario del negozio o l'amministratore devono prima abilitare lo sviluppo di applicazioni personalizzate nelle impostazioni di amministrazione di Shopify.

2.   Crea un'applicazione personalizzata ("Sviluppa applicazioni") Una volta abilitato lo sviluppo di applicazioni personalizzate, il passo successivo è creare l'applicazione stessa. Questo si fa tramite la sezione "Sviluppa applicazioni", dove il proprietario del negozio o lo sviluppatore possono definire una nuova applicazione specificamente per l'integrazione con le API.

3.   Assegnare le autorizzazioni di accesso corrette all'API Shopify utilizza permessi dettagliati per controllare a quali dati un'applicazione può accedere. A seconda dell'utilizzo specifico dell'applicazione, sarà necessario concedere all'applicazione gli ambiti (scopes) appropriati per l'API di amministrazione o per l'API del negozio (ad esempio, read_orders, write_products, read_customers).

4.   Installare l'applicazione personalizzata nel negozio Shopify
Una volta configurata l'applicazione e assegnati i permessi necessari, è necessario installarla direttamente all'interno del negozio Shopify. Questo processo di installazione genera le credenziali API necessarie, inclusi i token di accesso all'API.

5.   Recuperare e salvare il token di accesso all'API
Il token di accesso fornisce un accesso sicuro e autenticato alle API di Shopify. Questo token verrà utilizzato dal vostro strumento di mappatura dati esterno per autenticare le richieste alle API.

Mappare Shopify con un file CSV

Ora, esaminiamo un esempio di mappatura GraphQL in MapForce. Questo progetto di mappatura soddisfa un'esigenza comune: estrarre i dati dei prodotti di Shopify in un file CSV per caricarli in un altro sistema, oppure semplicemente per importarli in Excel per l'analisi.

Quando si inserisce un componente Shopify in un progetto di mappatura, MapForce guida l'utente attraverso il processo di inserimento del nome del negozio, la selezione dell'API di amministrazione o del negozio, e l'inserimento del token di accesso all'API. Successivamente, è possibile definire le impostazioni di connessione, configurare le impostazioni di sicurezza HTTP (se necessario), aggiungere parametri di intestazione pertinenti e creare una query o una mutazione.

Per farlo, è possibile costruire dinamicamente la query GraphQL sul lato sinistro, selezionando gli elementi disponibili sul lato destro, il che vi guiderà attraverso il processo. È inoltre possibile premere il pulsante "Ottieni schema" per chiedere a MapForce di creare automaticamente la definizione dello schema JSON per la risposta dell'API, basandosi sull'analisi interna del server e sulla query GraphQL (e si può salvare una versione memorizzata nella cache di tale schema localmente per un utilizzo futuro quando si apre la mappatura).

Per questo esempio, utilizzeremo una query per i prodotti e specificheremo quali dati desideriamo ottenere per ciascun elemento (nodo) a sinistra, man mano che costruiamo la query: l'ID, il titolo e le varianti, con il relativo codice SKU e il prezzo. In questo articolo del blog, non tratteremo tutti i dettagli del funzionamento di GraphQL, ma sono disponibili numerose risorse online, come https://graphql.org/learn/ e https://www.shopify.com/partners/blog/getting-started-with-graphql, che potete utilizzare per approfondire l'argomento.

Successivamente, MapForce inserisce la chiamata a Shopify come un componente grafico che visualizza la struttura della richiesta e della risposta dell'API.

Ecco il punto in cui le cose si fanno un po' più complesse: poiché l'API GraphQL di Shopify si basa sulla paginazione e restituisce solo un certo numero di risultati per ogni chiamata all'API (cioè, una pagina di risultati), dovremo chiamare l'API più volte per recuperare tutti i risultati della nostra query. Lo faremo racchiudendo questa chiamata all'API in una funzione personalizzata che chiameremo "getProducts", che potremo quindi chiamare ricorsivamente se ci sono altre pagine di risultati da recuperare.

Ecco cosa si può vedere nell'angolo in basso a destra della mappa, all'interno della funzione getProducts:

In sostanza, quando la prima chiamata all'API restituisce "true" per il parametro "hasNextPage", richiameremo la stessa funzione in modo ricorsivo, impostando la variabile "$after" con la posizione del "endCursor" restituita dalla chiamata precedente all'API. Inoltre, introdurremo una pausa di 1 secondo tra le chiamate all'API per evitare di superare i limiti di utilizzo dell'API.

E, ovviamente, il risultato di quella chiamata ricorsiva alla funzione getProducts viene anch'esso aggiunto al risultato della funzione getProducts esterna, in modo che, alla fine, vengano restituiti tutti i risultati alla funzione principale.

Avvolgendo la chiamata API effettiva all'interno della funzione "getProducts", otteniamo anche un design molto pulito ed elegante per la parte principale del processo, in cui prendiamo i risultati della chiamata API e li trasformiamo nel file CSV finale

Questo progetto di esempio viene fornito con MapForce, e per eseguirlo è possibile inserire il nome del proprio negozio Shopify e il token di accesso. Per farlo, aprire il file di esempio "Shopify_ExportAllProducts.mfd" presente nella cartella degli esempi, quindi fare doppio clic sulla funzione "getProducts" e, infine, fare doppio clic sull'oggetto che effettua la chiamata POST al servizio web. È in questa sezione che è necessario inserire l'URL del proprio negozio, nonché la stringa corretta per il token di accesso di Shopify.

Una volta completata questa operazione, dovreste poter passare alla scheda "Output" e visualizzare un'anteprima dell'elenco di tutti i vostri prodotti, generato in formato CSV.

È possibile salvare direttamente il risultato oppure distribuire questo progetto di mappatura su MapForce Server per un'automazione ad alte prestazioni.

Gli strumenti grafici di MapForce semplificano l'esportazione dei dati da Shopify in formato CSV, nonché in altri formati come XML, database, Excel e altro ancora.

Provatelo di persona con una prova gratuita di 30 giorni di MapForce.

Per saperne di più sull'integrazione dei dati di Shopify, consultate il nostro articolo su come creare un'applicazione mobile per acquisire le informazioni sull'inventario e associarle a Shopify in tempo reale.