PrestaShop scopriamo come importare da file CSV, XML o EXCEL iniziando dal formato da utilizzare.

Un'operazione spesso vitale non solo in ambito di dropshipping, ma anche quando spesso è l'unica modalità possibile per importare e sincronizzare il nostro catalogo con il nostro gestionale. PrestaShop ha una sua funzione nativa per l'importazione dei dati, ma risulta molto limitata. Mentre le API sono di PrestaShop sono più complesse e destinate agli sviluppatori. 

Requisiti che il file deve avere per importare il catalogo

Indipendentemente dal formato scelto, ci sono dei requisiti minimi che il file deve avere per importare il catalogo prodotti in PrestaShop, questi requisiti sono indispensabili anche per l'importazione in altri sistemi. 

I requisiti sono i seguenti:

  • Codifica dei caratteri che deve essere in UTF-8, questa codifica UNICODE, esiste dal 1992 ed è compatibile praticamente con tutti i sistemi.
  • Deve contenere i dati minimi per effettuare l'importazione o sincronizzazione dei prodotti, quindi è indispensabile che il file contenga un codice univoco per il prodotto (ID, EAN13, Riferimento, ecc..) e il nome del prodotto.
  • Non deve presentare caratteri speciali non ammessi nei relativi campi da PrestaShop, o questi sono da filtrare prima dell'importazione.
  • Il prezzo non deve presentare separatore delle migliaia e i decimali devono essere separati da un punto e non dalla virgola. Deve quindi essere in formato numerico (float o integer) privo di simboli di valuta, o va filtrato prima dell'importazione.
  • Eventuali campi immagini devono  essere in .jpg o .png, devono presentare il nome del file completo, rispettando maiuscole e minuscole e relativo percorso raggiungibile tramite protocollo HTTP.

Quale formato preferire?

Il formato più diffuso e che offre la migliore compatibilità è il CSV (comma-separated values), viene usato da prima dell'avvento dei personal computer, il formato era supportato già nel 1972 in IBM Fortran. Il suo legame stretto con SQL, lo rende il formato più semplice da utilizzare. Ha però diversi limiti che hanno portato oggi a utilizzare per l'interscambio di dati: XML, JSON e YAML. È possibile importare anche dal formato Microsoft Excel, tale formato è più pratico per gli utenti meno esperti che usano Windows e il MS Office, ma è bene sottolineare che al fine del trasferimento il file XLSX deve contenere solo e solamente testo e numeri, nessuna formula, immagine. Se vogliamo lavorare con i file CSV consiglio di installare sul proprio PC, per modificare i file in modo semplice, LibreOffice.

Ricapitolando dunque il formato per l'intescambio dei dati da scegliere è tra i seguenti:

  • CSV (comma-separated values) per la sua maggiore diffusione e compatibilità, con questo formato si deve fare molta attenzione che nei campi non sia presente il carattere usato come separatore di testo e delimitatore di colonna; Una particolarità del CSV è anche la facilità con cui può essere diviso in più parti (vedi qui), cosa molto comodo per evitare timeout (errore 502) da parte del server, se usiamo l'importazione nativa di PrestaShop o un modulo che effettua l'importazione senza AJAX, 
  • XML (eXtensible Markup Languag) è molto più robusto, largamente diffuso e permette la gestione di qualsiasi tipo di informazione. Per le fatture elettroniche non a caso è stato scelto XML. Importante per i campi HTML e di testo utilizzare la sitassi CDATA.

Il formato JSON (Javascript Object Notation), può essere usato per importare dati, dove la semplicità di rappresentazione, nella serializzazione e trasmissione conferisce al formato, una migliore agilità in determinati contesti. Mentre è ottimo abbinato a tecnologie come Ajax e Javascript, utilissimo per i dati strutturati e i rich snippet per i quali oggi si usa appunto JSON-LD, non lo ritengo valido per importare cataloghi prodotti, clienti e dati in gestionali e PrestaShop, in quanto scarsamente diffuso per tale attività.

Purtroppo, può capitare che qualche fonditore vi fornisca accesso a API che vi forniscono i dati in questo formato. Anche le API di PrestaShop permettono di fornire i dati in JSON, il motivo è semplice è supportato in modo nativo da molti linguaggi e richiede meno lavoro rispetto a XML nella generazione.

Il formato YAML non è molto diffuso, risulta più semplice da leggere per l'essere umano ed estende il formato JSON, difficilmente vi capiterà di trovarvi a importare dati da questo formato in PrestaShop.

Esempio file per importazione catalogo in XML

Di seguito un esempio di un file XML usato per inviare a Criteo il catalogo prodotti, il formato è molto simile a quello di Google Merchant Center. XML infatti è molto usato per la sincronizzazione di dati tra piattefome Web, quindi troverete spesso la necessità di esportare il vostro catalogo in questo formato verso i Marketplace e i comparatpri di prezzo es. Trovaprezzi.it. Molti di loro comunque vi permettono di usare in alternativa il formato CSV. Se vuoi approfondire questo aspetto trovi la guida qui.

importare xml in excel

Potete notare i campi necessari a una corretta e completa importazione del catalogo:

  • ID prodotto (un codice univoco) può essere anche omesso se presente un codice univoco come SKU (vedi guida) o EAN13
  • Title, il nome del prodotto
  • Descrizione del prodotto
  • GTIN, il codice EAN13 vedi guida qui, ormai indispensabile.
  • URL dell'immagine, in caso di più immagini possiamo o inserirle in più campi, oppure semplicemente suddividerle come elenco con una virgola (es: urlimmagine1,urlimmagine2)
  • Le categorie, come per le immagini vi sono diverse modalità, quella presente nell'esempio è la più semplice per l'importazione.
  • Prezzo del prodotto

Esempio file per importazione catalogo in CSV

Aprendo un file CSV con un editor di testo non riusciremo a leggere quasi nulla, infatti è un formato testo con delimitatori e privo di ritorni a capo. Però come accennato è largamente supportato, sia Microsoft Excel che LibreOffice e OpenOffice possono permettervi di leggere questo formato.

catalogo csv

Utilizzare LibreOffice

LibreOffice quando apriamo un file CSV ci permette di selezionare la codifica del carattere e il tipo di separatore, non esiste uno standard quindi può essere un qualsiasi carattere, in genere si usa il punto e virgola o la virgola, nell'esempio è un file CSV per l'esportazione del catalogo verso trovaprezzi.it, e il carattere di separazione è: | che abbiamo indicato con Altro. Altri paramenti molto utili sono la selezione del delimitatore di stringa. LibreOffice ci permette inoltre di indicare prima dell'apertura la tipologia di campo. Questa funzione è molto utile con codici quali GTIN (EAN13) che vanno impostati come testo. 

Importare csv Excel

importare csv excel

Excel aprirà direttamente il file CSV, ma utilizzando la virgola come delimitatore predefinito. Una volta aperto dovremo Selezionare tutte le righe della colonna A e poi andare in DATI -> Testo in colonne e seguire le istruzioni per visualizzare correttamente il nostro CSV.

Consiglio di utilizzare i più comodi LibreOffice o OpenOffice per lavorare sui file CSV.

Usare LibreOffice per aprire un CSV
Usare XML Notepad

Strumenti utili per lavorare con CSV e XML

Esistono diverse utility che ci permettono di lavorare con questi file, essendo file di testo qualsiasi editor ci permette di aprirli e modificarli, tra cui Notepad++, ma non sempre è agevole, soprattutto quando i file sono di dimensioni considerevoli. Di seguito alcuni programmmi utili:

  • LibreOffice o OpenOffice, già citati nella presente guida.
  • XML Notepad, un comodo editor XML dotato di ricerca incrementale e vista ad albero e testo.
  • Simple Text Splitter Files, permette di suddividere un CSV in più file.

Note: per quanto riguarda la fattura elettronica come accennato è in formato XML e può essere aperta oggi da diversi software e pure da app sia Android che iOS.

Conclusioni

Il formato più semplice rimane dal 1972 ad oggi il CSV, potete modificarlo in modo agevole con qualsiasi editor e con i fogli di calcolo da ExcelLibre Office Calc. Questo formato lo usavo negli anni '80 con Lotus 1-2-3 e IBM DB2, lo appresi addirittura nei primi corsi di informatica su Commodore 64. Oggi XML si fa sempre più strada ed è ottimo per l'accesso ai dati tramite API e l'interscambio di dati. Se state progettando un esportazione di dati dal vostro gestionale questi due formati vi permetteranno d'essere compatibili con ogni sistema e nel dubbio vi consiglio di esportare il catalogo con campi e formattazione simile a quella richiesta per i feed di Google.

Autore: Loris Modena

Loris Modena

SENIOR DEVELOPER

Per Ind Loris Modena titolare di Arte e Informatica, inizia a lavorare nel settore informatico nel 1989 quale sistemista addetto alla manutenzione e installazione di sistemi informatici. Inizia a programmare per il web nel 1997 occupandosi di programmazione CGI in PERL e successivamente passando alla programmazione in PHP e JavaScript. In questo periodo si avvicina al mondo Open source e alla gestione di server Linux. 

prodotto aggiunto alla lista