CSV

Da Maxpho Commerce Wiki.

Indice

Premessa

In Maxpho Commerce esiste la possibilita' di importare i prodotti da fonti esterne in formato CSV.

Inserire un prodotto per volta puo' diventare un lavoro parecchio elaborioso che necessiterebbe di una persona dedicata all'inserimento degli articoli, sprecando moltissimo tempo.

Questa operazione risulta essere particolarmente utile quando si possiede gia' un magazzino di prodotti e si desidera trasferire tutti i gli articoli spendendo il minor tempo possibile.

L'utilizzo di questo modulo puo' essere utile anche per effettuare una sorte di Drop Shipping con aziende che forniscono i prodotti. Infatti e' possibile creare un automatismo in modo tale da avere perennemente aggiornato il proprio magazzino con quello che l'azienda offre, tenendo aggiornate le quantita' e i prezzi dei prodotti.

Un altro utilizzo dei csv puo' essere quello di esportare gli ordini e fornirlo ad un applicativo gestionale che si occupa della fatturazione e delle spedizioni.

Cos'e' un file csv?

Un CSV non e' altro che un file di testo che viene utilizzato per il trasferimento di una grossa mole di dati o per l'esportazione dei dati da una struttura di tipo tabellare (ad esempio un database o un foglio di calcolo).

Non esiste un vero e proprio standard per i CSV, infatti si possono trovare diverse tipologie di CSV. In linea di massima si devono comunque rispettare alcuni macro concetti:

  • Encoding: un CSV possiede una codifica dettata dal sistema che lo genera. La codifica piu' comune e piu' utilizzata (preferibile in Maxpho) e' la UTF-8. E' molto importante rispettare la codifica in quanto una importazione utilizzando una codifica differente comporterebbe una mal interpretazione dei dati.
  • Header: l'header (in italiano -> Testata) rappresenta la prima riga del CSV. Infatti questa riga serve al sistema che importa il file di capire e interpretare il significato dei campi che lo compongono. L'header non e' obbligatoria durante l'importazione tramite modulo CSV, ma lo diventa se si utilizzano i CSV PRO.
  • Delimiter: il delimitatore e' indispensabile affinche' il sistema distingua un campo da un altro di una riga. L'header infatti specifica il significato di ciascun campo separandoli da un delimitatore (in questa parte viene specificato il delimitatore che verra' utilizzato per tutto il documento). I caratteri delimitatori piu' comunemente utilizzati sono: ';' (punto e virgola), ',' (virgola), '|' (pipe) o la tabulazione.
  • Enclosure: serve per definire se i campi testuali che sono contenuti all'interno del CSV (ad esempio il titolo di un prodotto) sono contenuti o meno all'interno di delimitatori. Il piu' comune e' il carattere '"' (virgolette) che viene utilizzato come contenitore di campi testuali.
  • Escaping: nel caso in cui il carattere di enclosure possa essere contenuto all'interno del testo è necessario fornire un carattere di escape che non blocchi il parsing del valore. Il carattere di escape di default è il carattere '\'.

Di seguito potete trovare alcuni esempi di file csv:

Importazione prodotti

A questo link e' disponibile la guida sulla Gestione_manuale_file_CSV per l'importazione dei prodotti in Maxpho.


Nel nostro caso, ogni prodotto contenuto nel CSV e' rappresentato da una riga mentre le caratteristiche di ciascun prodotto (ad esempio il prezzo, il titolo, la descrizione o il codice) sono rappresentate dai campi.

Di seguito l'elenco dei campi che vengono presi in ingresso durante l'importazione di un file CSV

Nome Campo
Tipo valore
Esempio
Commento
Titolo TEXT "Cuffie auricolari" Il titolo del prodotto.
Descrizione TEXT "Descrizione di cuffie auricolari" La descrizione del prodotto.
Campo personalizzato TEXT "testo libero" Un campo libero. Non si tratta del campo personalizzato di eBay.
Nome Produttore/Marca TEXT Il nome del produttore
Data di Disponibilità DATETIME 2005-08-15 15:23:13 La data di disponibilità del prodotto
Immagine TEXT / URL immagine.png Il nome o il link dell'immagine
Categoria TEXT Il nome della categoria del prodotto (il formato è ad albero, ovvero deve essere passato tutto l'albero delle categoria del prodotto)
Sottotitolo eBay TEXT Il sottotitolo dell'inserzione ebay associata
Aumento visibilità eBay TEXT La vetrina o il grassetto dell'inserzione ebay associata
EAN TEXT Il codice EAN associato al prodotto
MPN TEXT Il codice MPN associato al produttore del prodotto
Modello TEXT JNKJ232jn Il modello del prodotto
Prezzo scontato netto INT 13.2 Il prezzo netto scontato
Prezzo sconato lordo INT 13.2 Il prezzo lordo scontato
Prezzo INT 13.2 Il prezzo netto del prodotto
Prezzo Lordo INT 13.2 Il prezzo lordo del prodotto
Prezzo netto di stock INT 13.2 Il prezzo netto per acquisti in stock del prodotto
Prezzo lordo di stock INT 132.3 Il prezzo lordo di stock per acquisti del prodotto
Quantità minima acquistabile INT 4 L'ordine minimo per l'applicazione del prezzo di stock
Tasso di aliquota IVA INT 21 Il valore della tassazione
Quantità INT 12 La quantità a magazzino
Peso INT 3.4 Peso del prodotto
Larghezza INT 2.3 Larghezza del prodotto
Altezza INT 2.3 Altezza del prodotto
Lunghezza INT 4.5 Lunghezza del prodotto
Stato BOOL 1 Lo stato, 1 se si vuole abilitare il prodotto, 0 altrimenti
Stato eBay BOOL 0 Lo stato di ebay
ID inserzione eBay TEXT 12321312432 Id dell'inserzione attiva su eBay
ID categoria eBay INT 1232 Id della categoria da assegnare al prodotto di eBay
ID categoria negozio eBay INT 3213142311412 La categoria del negozio ebay dell'inserzione associata

Gestione delle lingue con i CSV

E' possibile caricare per prodotti i dati relativi alle lingue, ad esempio se si dispone di un csv con titoli e descrizioni in lingue diverse dalla lingue di default dell'amministrazione.

I campi per i quali sono gestibili le lingue sono:

  • Titolo prodotto
  • Descrizione prodotto
  • Campo personalizzato prodotto

Sono disponibili due strategie per l'importazione di questo tipo di dato:

  • Disporre di tanti file CSV quante sono le lingue, di conseguenza effettuare piu' importazioni degli stessi prodotti aggiornando volta per volta la nuova lingua
  • Preddisporre il file CSV affinche' vi siano tutte le lingue in un unico file e che tali campi siano interpretati e importati correttamente da Maxpho.

In ogni caso, per fare in modo che il sistema riconosca e importi il valore del campo nella corretta lingua, nell'header dovrà essere presente il riferimento alla lingua.

Ad esempio se volessimo caricare i dati in lingua tedesca i campi dell'header dovranno essere formattati in questo modo:

  • titolo_de_de;descrizione_de_de;personalizzato_de_de;

Generalizzando, se l'importazione avviene per la lingua di default (ad esempio se i prodotti nel csv sono in lingua italiana e la lingua di default per Mapxho e' l'italiano) non e' necessaria una particolare formattazione. D'altro canto, se la lingua di importazione e' diversa dalla lingua di default per Maxpho, il campo riferito al titolo, descrizione e campo personalizzato devono necessariamente avere la seguente sintassi:

  • nomeCampo_codiceLingua

dove per codice lingua si intende quello contenuto in Maxpho, ad esempio:

  • it_it
  • de_de
  • fr_fr
  • es_es
  • etc.

E' disponibile un esempio di CSV di prodotti in piu' lingue cliccando qui.


Gestione dei listini di prezzo mediante importazione CSV

Di default il sistema, importando i prodotti tramite CSV, inserisce i prezzi nel listino di default.

Se si ha la necessita' di caricare prodotti in un listino diverso e' possibile specificare nell'header del CSV in quale listino deve essere inserito il prezzo.

Ad esempio, supponendo che in Maxpho esiste un listino chiamato "ListinoEuropa", la sintassi del campo dell'header deve essere:

  • prezzoLordo_ListinoEuropa;prezzoLordoScontato_ListinoEuropa;

I campi per cui e' possibile la gestione dei listini sono:

  • Prezzo Netto
  • Prezzo Lordo
  • Prezzo Netto Scontato
  • Prezzo Lordo Scontato

Generalizzando, la sintassi del campo che si deve utilizzare e':

  • nomeCampo_nomeListino


E' disponibile un esempio di CSV di prodotti con prezzi da listino differenti cliccando qui.

Gestione attributi mediante importazione CSV

È possibile importare gli attributi dei prodotti (ad esempio il colore o la taglia) attraverso il file CSV inserendo oppurtamente gli attributi in specifiche colonne.

Attributi Semplici

Con attributi semplici si intende la specifica dell'oggetto, ad esempio il tipo di materiale di una maglietta.

Per gestire questo tipo di dato, supponendo che in amministrazione esista un attributo chiamato "materiale", nel csv deve essere presente una colonna chiamata 'attribute_materiale' e, in ogni riga (dove presente l'attributo), deve comparire il valore dell'attributo (ad esempio cotone).

E' disponibile un esempio di CSV che gestisce gli attributi semplici cliccando qui.


Attributi Correlati

Con attributi correlati si intendono le coppie di attributi che possono identificare la referenza di un prodotto (ad esempio la taglia e il colore). In questo caso nel CSV ci dovranno essere tante righe quante possono essere le coppie di attributi precedute da una riga che identifica l'anagrafica e la quantità totale del prodotto.

E' disponibile un esempio di CSV che gestisce gli attributi correlati cliccando qui.

Gestione Categorie/Sottocategorie mediante importazione CSV

Nel CSV puo' essere specificata la categoria di appartenenza del prodotto o, se il vostro albero delle categorie lo prevede, la sottocategoria.

Se il prodotto deve essere associato ad una categoria e' sufficiente che vi sia una colonna nel CSV che rappresenta la categoria e per ciascuna riga del file specificare la categoria di appartenenza (ad esempio Accessori o Auto).

In alternativa, se il prodotto deve essere associato ad una sottocategoria, nel csv deve comunque esserci la colonna relativa alla categoria di appartenenza e per ciascuna riga deve essere specificato il path della categoria, separando ogni livello dal carattere '#'.

Ad esempio se la gerarchia di una vostra cartella e' la seguente:

- Auto
 - Ricambi
  - Interno

La sintassi che deve avere la riga relativa al prodotto della categoria "Interno" e' la seguente:

  • Auto#Ricambi#Interno

Importazione immagini mediante CSV

E' possibile utilizzare i file CSV per importare le immagini dei prodotti. Per effettuare questa operazione sono disponibili due strategie:

  • Precaricare le immagini tramite ftp o S3 (per il caricamento dei file tramite S3 consultare la guida Amazon S3

E sufficiente caricare le immagini dentro alla cartella _upload, all'interno del csv nel campo Immagine inserire il percorso dell'immagine partendo dalla cartella _upload.

Ad esempio, se il percorso reale dell'immagine e': http://www.nomedominio.com/images/products/_upload/cartella1/cartella2/immagineprodotto.jpg nel CSV dovra' essere indicato: /cartella1/cartella2/immagineprodotto.jpg

  • Scaricare le immagini tramite http: se l'immagine e' su un server remoto e' sufficiente, nel csv, inserire nel campo Immagine l'url dell'immagine.

Esportazione Ordini

Maxpho fornisce la possibilita' di utilizzare i CSV anche per esportare gli ordini ricevuti, in modo tale da inserirli, ad esempio, in un applicativo gestionale in grado di elaborare i CSV e gestire la fatturazione e le spedizioni.

E' possibile inoltre addestrare il sistema affinche' vengano esportati gli ordini automaticamente con un intervallo di tempo stabilito. Seguire la guida Gestione_automatica_file_CSV per la configurazione di tale funzionalita'.

N.B. se nell'ordine sono presenti piu' prodotti, nel csv vi saranno tante righe quanti sono i prodotti che appartengono allo stesso ordine, con la referenza dello stesso ordine in modo tale da ricevere le informazioni di ogni articolo.

E' possibile vedere un esempio di csv contenente alcuni ordini cliccando qui.

Di seguito i campi che vengono esportati da Maxpho per gli ordini:

Campo
Tipo
Esempio
Commenti
orders_id INT 7 ID dell'ordine su Maxpho
customers_id INT 2 ID del cliente su Maxpho
customers_summary TEXT Mario Rossi

via Roma, 83
37067 -Verona VR

Italy
Sommario cliente
customers_name TEXT Mario Rossi Nome cliente
customers_company TEXT Mario Rossi S.r.l. Nome Società cliente
customers_street_address TEXT Via Roma, 83 Via e numero civico cliente
customers_suburb TEXT Alpo Frazione cliente
customers_city TEXT Verona Città cliente
customers_post_code TEXT 37067 Codice Postale cliente
customers_state TEXT Verona Provincia cliente
customers_zone_code TEXT VR Codice Provincia cliente
customers_country TEXT Italy Nazione cliente
customers_country_isocode2 TEXT IT Iso 2 Nazione cliente
customer_phone TEXT 555 123456789 Numero di telefono cliente
customers_email TEXT mario.rossi@mariorossisrl.it Indirizzo e-mail cliente
delivery_summary TEXT Mario Rossi

via Roma, 83
37067 -Verona VR

Italy
Sommario spedizione
delivery_name TEXT Mario Rossi Nome destinatario
delivery_company TEXT Mario Rossi S.r.l. Nome Società destinatario
delivery_street_address TEXT Via Roma, 83 Via e numero civico destinatario
delivery_suburb TEXT Alpo Frazione destinatario
delivery_city TEXT Verona Città destinatario
delivery_post_code TEXT 37067 Codice Postale destinatario
delivery_state TEXT Verona Provincia destinatario
delivery_zone_code TEXT VR Codice Provincia destinatario
delivery_country TEXT Italy Nazione destinatario
delivery_country_isocode2 TEXT IT Iso 2 Nazione destinatario
billing_summary TEXT Mario Rossi

via Roma, 83
37067 -Verona VR

Italy
Sommario fatturazione
billing_name TEXT Mario Rossi Nome per la fatturazione
billing_company TEXT Mario Rossi S.r.l. Nome Società per la fatturazione
billing_vat_number TEXT 123546789789 P. IVA per la fatturazione
national_identification_number TEXT 12345689A546 Codice Fiscale per la fatturazione
billing_street_address TEXT Via Roma, 83 Via e numero civico per la fatturazione
billing_suburb TEXT Alpo Frazione per la fatturazione
billing_city TEXT Verona Città per la fatturazione
billing_post_code TEXT 37067 Codice Postale per la fatturazione
billing_state TEXT Verona Provincia per la fatturazione
billing_zone_code TEXT VR Codice per la fatturazione
billing_country TEXT Italy Nazione per la fatturazione
billing_country_isocode2 TEXT IT Iso 2 Nazione per la fatturazione
payment_type TEXT Pay Pal Nome pagamento su Maxpho
payment_code TEXT paypal Codice pagamento su Maxpho
date_of_payment DATE 2012-01-05 21:00:00 Data di pagamento
delivery_type TEXT Tariffa Forfettaria Nome modalità di spedizione
status_id INT 1 ID stato dell'ordine su Maxpho
status_name TEXT In attesa Nome dello stato dell'ordine
number_of_products INT 1 Numero di prodotti acquistati
name_product TEXT SCHERMO DISPLAY LCD VETRO Nome prodotto
code TEXT 12AA Codice prodotto su Maxpho
private_field TEXT Testo privato Campo personalizzato su Maxpho
vat DECIMAL 21,0000 Aliquota IVA
product_net_price DECIMAL 11,9167 Prezzo netto prodotto
product_gross_price DECIMAL 14,30004 Prezzo lordo prodotto
total_products_net_price DECIMAL 11,9167 Prezzo netto totale prodotti nell'ordine
total_products_gross_price DECIMAL 14,30004 Prezzo lordo totale prodotti nell'ordine
sub_total DECIMAL 11,9167 Subtotale ordine
tax DECIMAL 3,2167 Valore Tasse ordine
shipping DECIMAL 4,1667 Valore spedizione
low_order_fee DECIMAL 1 Costo aggiuntivo dell'ordine
total DECIMAL 19,3000 Totale ordine
currency TEXT EUR Valuta
currency_value DECIMAL 1,0000 Tasso di cambio rispetto alla valuta di default su Maxpho
date_purchased DATE 07/12/2011 17:46:53 Data di acquisto
last_modify DATE 07/12/2011 17:46:53 Data di ultima modifica dell'ordine
comments TEXT Commento all'ordine Commenti sull'ordine
Strumenti personali