Prodotti

Definizione dei campi

I campi obbligatori sono contrassegnati da una matita. Le definizioni dei campi si basano sulla sintassi MySQL.

Tutti i campi vengono analizzati in base al loro tipo prima dell'importazione. Se in parent_id si inserisce una stringa vuota, questa verrà convertita in uno 0 tramite cast a tipo INT.

model
varchar(255)
Il codice articolo univoco del prodotto.
L'aggiornamento o la creazione di un prodotto avviene sempre in base al codice articolo.
status
tinyint(1)
Stato del prodotto: attivo/inattivo
  • 1: attivo (impostazione predefinita)
  • 0: inattivo
  • 2: attivo in una categoria inattiva
mappa del sito
tinyint(1)
Inserire il prodotto nella mappa del sito XML sì/no
  • 1: sì (impostazione predefinita)
  • 0: no
storage_comment
varchar(64)
Magazzino (magazzino principale)
ean
varchar(256)
GTIN, più valori separati da virgola (ad es. nel caso di un set)
quantity
decimal(16,8)
Livello delle scorte nel magazzino principale
profilo_spedizione
int(11)
ID profilo semaforo
cost
decimale(16,8)
Prezzo di acquisto netto
evp
decimale(16,8)
Prezzo di vendita consigliato netto
sconto
decimale(16,8)
 
prodotti_eol
tinyint(1)
Il prodotto è fuori produzione (EOL)? Sì/No
  • 1: sì
  • 0: no (impostazione predefinita)
date_added
datetime
Data di creazione
Formato: AAAA-mm-gg HH:ii:ss
Se non viene specificata alcuna data, come timestamp viene impostato NOW().
last_modified
datetime
Data di modifica
Formato: AAAA-mm-gg HH:ii:ss
Se non viene specificata alcuna data, viene impostato NOW() come timestamp.
products_date_available
datetime
Data di disponibilità
Formato: AAAA-mm-gg HH:ii:ss
Se non viene specificata alcuna data, come timestamp viene impostato NULL.
products_date_reservable
datetime
Data di prenotazione
Formato: AAAA-mm-gg HH:ii:ss
Se non viene specificata alcuna data, come timestamp viene impostato NULL.
peso
decimal(16,8)
Peso (nell'unità di misura predefinita del negozio, solitamente kg)
products_bulky_good
tinyint(1)
Articoli ingombranti sì/no
  • 1: sì
  • 0: no (impostazione predefinita)
tax_class
int(11)
ID delle classi fiscali
ordinato
decimale(16,8)
Contatore ordini
viene utilizzato nei punti critici per le prestazioni al posto della valutazione in tempo reale.
sort_order
int(11)
Ordine di ordinamento delle categorie di prodotto
L'ordinamento delle categorie allo stesso livello avviene in ordine crescente
family
varchar(128)
Famiglia di prodotti (gruppo master/slave). Identico per tutti gli articoli di un gruppo: il valore corrisponde al codice articolo (model) del master. Vedi la sezione Articoli master/slave (famiglie di prodotti).
products_family_type
int(11)
Tipo di visualizzazione della selezione delle varianti
  • 0: Elenco (predefinito)
  • 1: Selezione
  • 2: Pulsante di opzione
  • 3: Pulsante di opzione (pulsante)
  • 4: Opzione (finestra a comparsa)
products_master
—
Non viene valutato nell'importazione XML. L'assegnazione master/slave avviene esclusivamente tramite family – vedi la sezione Articoli master/slave (famiglie di prodotti). Il prodotto master può essere impostato direttamente tramite ID solo tramite l'API REST/JSON e il CSV Porter.
free_shipping
tinyint(1)
Spedizione gratuita
  • 1: sì
  • 0: no (impostazione predefinita)
non_cod
tinyint(1)
Pagamento in contrassegno disabilitato
  • 1: sì
  • 0: no (impostazione predefinita)
non_cart
tinyint(1)
Carrello bloccato
  • 1: sì
  • 0: no (impostazione predefinita)
non_price
tinyint(1)
Visualizzazione del prezzo disabilitata
  • 1: sì
  • 0: no (impostazione predefinita)
special_shipping_cost
decimale(16,8)
Costi di spedizione speciali al netto
ordered
decimale(16,8)
Contatore ordini
viene utilizzato nei punti critici per le prestazioni al posto della valutazione in tempo reale.
prezzo_base
decimale(16,8)
Fattore del prezzo base
top_new
tinyint(1)
Novità/Consiglio di acquisto
  • 1: sì
  • 0: no (impostazione predefinita)
products_topnew_begin
datetime
Novità/Consigli per l'acquisto - Inizio
products_topnew_end
datetime
Novità/Consigli per l'acquisto Fine
highlight
tinyint(1)
In primo piano
  • 1: sì
  • 0: no (impostazione predefinita)
featured_begin
datetime
Inizio in evidenza
featured_end
datetime
Fine dell'evento in primo piano
punti
int(11)
 
lingue
language
Ogni nodo "languages" contiene [1..n] nodi "language_{languages_code}". Il " {languages_code} " è il codice ISO-2 della rispettiva lingua.
language_{languages_code}
name
varchar(255)
Nome del prodotto
description
longtext
Descrizione estesa
descrizione_breve
testo_esteso
Descrizione breve
descrizione_carrello_prodotti
testo_esteso
Caratteristiche principali del prodotto (informazioni sul checkout)
products_contracts_description
testo medio
Descrizione del contratto
products_url
varchar(255)
link esterno al prodotto (solo a titolo informativo interno)
seo_name
varchar(255)
Nome SEO del prodotto
domainname.tld/ProduktSEOName.html/
Se non viene specificato alcun nome SEO, come nome SEO verrà utilizzato il nome del prodotto.
title_tag
mediumtext
Meta tag titolo
desc_tag
mediumtext
Meta tag Descrizione
tag_parole_chiave
testo_medio
Meta tag parole chiave (separate da virgola)
titolo_immagine_prodotto
varchar(255)
Descrizione dell'immagine principale
products_image_title
varchar(255)
Descrizione dell'immagine principale
unit_single
varchar(255)
Unità (denominazione singolare)
unit_multi
varchar(255)
Unità (nome plurale)
unit_base
varchar(255)
Unità di prezzo base
special_shipping_description
varchar(255)
Descrizione spedizione speciale
categorie
categoria
Ogni nodo "categories" contiene [1..n] nodi "category". Deve essere presente almeno un collegamento valido a una categoria.
categoria
 
int(11)
ID categoria
extra_fields
campo_aggiuntivo
Ogni nodo extra_fields contiene [1..n] nodi extra_field.
extra_field
nome
varchar(64)
Nome
value
text
Valore
tipo
 
 
etichette
etichetta
Ogni nodo "labels" contiene [1..n] nodi "label".
label
ID_categoria_etichetta
int(11)
ID categoria etichetta
label_id
int(11)
ID etichetta
desc_id
int(11)
ID descrizione etichetta
badges
badge
Ogni nodo badges contiene [1..n] nodi badge.
badge
badge_id
int(11)
ID del badge del prodotto (deve essere > 0)
sort
int(11)
Ordine di ordinamento del badge
xsells
xsell
Ogni nodo xsells contiene [1..n] nodi xsell.
xsell
products_model
varchar(255)
Codice articolo del prodotto X-Sell
sort_order
int(11)
Ordine di ordinamento
upsells
upsell
Ogni nodo upsells contiene [1..n] nodi upsell.
upsell
 
varchar(255)
Codice articolo del prodotto di up-sell
images
immagine
Ogni nodo «images» contiene [1..n] nodi «image».
immagine
file
varchar(255)
Nome del file dell'immagine OPPURE link esterno all'immagine
sort
int(11)
Ordine di ordinamento dell'immagine
videos
video
Ogni nodo "videos" contiene [1..n] nodi "video".
video
videos_file
varchar(255)
Nome del file video OPPURE link esterno al video
videos_preview_image
varchar(255)
Nome del file dell'immagine di anteprima del video
manufacturers
manufacturer
Ogni nodo manufacturers contiene [1..n] nodi manufacturer.
manufacturer
id
int(11)
ID del produttore
nome
varchar(255)
Nome del produttore
fornitori
fornitore
Ogni nodo suppliers contiene [1..n] nodi supplier.
fornitore
id
int(11)
ID del fornitore. Se viene passato insieme a name, il fornitore viene creato o aggiornato. Se viene passato solo l'ID, viene associato un fornitore esistente.
name
varchar(255)
Nome del fornitore. Se viene passato solo il nome senza l'ID, viene effettuata una ricerca in base al nome. Se non esiste alcun fornitore con quel nome, ne viene creato automaticamente uno nuovo.
products_to_marketplaces
products_to_marketplace
Ogni nodo products_to_marketplaces contiene [1..n] nodi products_to_marketplace.
products_to_marketplace
marketplace_id
int(11)
ID del marketplace
marketplace_status
tinyint(1)
Stato sul marketplace
  • 1: attivo
  • 0: inattivo (impostazione predefinita)
dati_prodotti_per_i_marketplace
dati_prodotti_per_i_marketplace
Ogni nodo products_to_marketplaces_data contiene [1..n] nodi products_to_marketplace_data.
products_to_marketplaces_data
marketplace_id
int(11)
ID del marketplace
languages_id
int(11)
ID della lingua
products_to_marketplaces_data_id
int(11)
ID della configurazione del marketplace
products_to_marketplaces_data_value
varchar(255)
Valore della configurazione del marketplace
bonus_free_features
max_bonus
int(4)
 
max_free
int(4)
 
status_bonus
bool
Stato (prodotto bonus)
status_free
bool
Stato (prodotto gratuito)
auto_free
bool
Stato (prodotto gratuito automatico)
punti_bonus
int(11)
 
bonus_value
int(11)
 
special
prezzo
decimale(16,8)
Prezzo netto dell'offerta speciale
nome
varchar()
Nome dell'offerta speciale
status
int(1)
Stato (offerta speciale)
begin
datetime
Inizio dell'offerta speciale
end
datetime
Fine dell'offerta speciale
customers_group_id
int(11)
ID del gruppo di clienti per offerte speciali specifiche per gruppo di clienti
tabs
tab
Ogni nodo tabs contiene [1..n] nodi tab.
tab
tabname
varchar()
Nome della scheda
tabcontent
mediumtext
Contenuto della scheda
tablng
varchar(2)
Codice lingua ISO-2
tabsort
int(11)
Ordine di ordinamento della scheda
mask_tab_id
int(11)
ID del modello di scheda
groups
group
Ogni nodo groups contiene [1..n] nodi group.
group
id
int(11)
ID del gruppo di clienti
price
decimale(16,8)
Prezzo del gruppo di clienti (netto)
prices
price
Ogni nodo «prezzi» contiene [1..12] nodi «prezzo».
prezzo
valore
decimale(16,8)
Prezzo scalare
quantità
decimale(16,8)
Quantità per prezzo scalare
quantità_blocchi
decimale(16,8)
Scaglioni di quantità
quantità minima
decimale(16,8)
Quantità minima d'ordine
max_quantity
decimale(16,8)
Quantità massima dell'ordine
customers
customer
Si trova all'interno del nodo " groups" (<groups><customers><customer>): ogni nodo "customers" contiene [1..n] nodi "customer" con prezzi specifici per ciascun cliente.
Nota: funziona a partire dall'API xoPort 2.57.1 (luglio 2026) – le versioni precedenti dello shop ignoravano silenziosamente questo blocco durante l'importazione XML.
Importante – Semantica di sostituzione/rimozione:
  • L’importazione dei prodotti sostituisce, per ogni prodotto importato, l’intero elenco dei prezzi per cliente relativi a quel prodotto (riepilogo completo).
  • Rimozione: reimportare il prodotto senza la voce « customer » (o senza il blocco « customers » del tutto).
  • I prezzi cliente gestiti manualmente nel negozio online sopravvivono all’importazione del prodotto solo se il nodo di importazione customers_prices è disattivato nella configurazione di xoPort oppure se il prodotto presenta la protezione dall’importazione «Prezzi (prezzi cliente)» (price_customers) nella scheda «Interfaccia dati xoPort (XML)».
customer
id
int(11)
ID cliente
esterno
varchar(64)
Numero cliente WaWi (customers_id_extern)
price
decimal(16,8)
Prezzo cliente (netto)
prezzi
price
Ogni nodo "prices" contiene [1..12] nodi "price".
price
valore
decimale(16,8)
Prezzo scalare
quantità
decimale(16,8)
Quantità per prezzo scalare
quantità_blocchi
decimale(16,8)
Scaglioni di quantità
quantità minima
decimale(16,8)
Quantità minima d'ordine
max_quantity
decimale(16,8)
Quantità massima dell'ordine
caratteristiche
feature
Ogni nodo features contiene [1..n] nodi feature.
Regole di elaborazione importanti:
  • Raggruppamento: più feature con lo stesso name vengono raggruppate in UNA sola opzione, mentre voci value diverse vengono create come valori dell'opzione.
  • Esempio: due feature con name="Farbe" e value="Rot" o value="Blau" generano un menu a tendina "Colore" con i valori "Rosso" e "Blu".
  • Nuove opzioni: i nomi e i valori delle opzioni non esistenti vengono creati automaticamente in tutte le lingue.
  • Elaborazione delle immagini: le immagini vengono copiate automaticamente da /images/product/src/ a /images/optionen/src/, le miniature vengono rigenerate.
funzionalità
name
varchar()
Nome opzione
valore
varchar
Valore opzione
tipo
stringa/int(11)
Tipo di opzione
Valori stringa (consigliati):
  • select: menu a tendina (impostazione predefinita, diventa Tipo 0)
  • text: Campo di immissione su una riga (tipo 1)
  • radio: Pulsanti di opzione (Tipo 2)
  • textarea: Area di testo multilinea (Tipo 4)
  • show_only: Solo visualizzazione, non selezionabile (Tipo 5, predefinito in caso di Tipo mancante/vuoto)
  • hide: Nascosto (Tipo 6, imposta automaticamente required=0)
  • radio_button: Pulsanti di opzione classici (Tipo 7)
  • radio_popup: Pulsanti di opzione con informazioni a comparsa (Tipo 9)
Valori numerici (legacy):
  • 0: Select
  • 1: Testo
  • 2: Pulsante di opzione
  • 3: Casella di controllo
  • 4: Area di testo
  • 5: Mostra solo (impostazione predefinita in assenza di "type")
  • 6: Nascondi (imposta automaticamente required=0)
  • 7: Pulsante opzione (pulsante)
  • 8: Casella di selezione (pulsante)
  • 9: Pulsante radio (popup)
  • 12: Carrello
Importante: per select, radio, radio_button e radio_popup, diverse funzionalità con lo stesso name vengono raggruppate in UN'UNICA opzione. Per hide e show_only, required viene impostato automaticamente su 0.
ean
varchar(255)
EAN/GTIN delle opzioni
model
varchar(255)
Suffisso codice articolo opzioni
Importante: al valore viene automaticamente anteposto un punto e virgola (,)!
Esempio: Input ROT → Salvato: ,ROT
Il codice prodotto completo è composto da: Basis-Artikelnummer,Suffix
(ad es. ART-12345,ROT)
immagine
varchar(255)
Fonte immagine delle opzioni (nome file o link)
Elaborazione automatica dell'immagine:
  • L'immagine viene copiata da /images/product/src/ a /images/optionen/src/
  • Le miniature esistenti vengono automaticamente eliminate e rigenerate
  • Dimensioni delle miniature supportate: mini, small, medium, large, xlarge
quantity
decimale(16,8)
Quantità disponibile per le opzioni
Quantità disponibile per questa variante specifica (ad es. "Colore: rosso" ha 10 pezzi disponibili)
prezzo
decimale(16,8)
Maggiorazione/riduzione di prezzo dell'opzione (netto)
Nota: come separatori decimali sono accettati sia la virgola (,) che il punto (.).
Sono ammessi valori negativi per gli sconti (ad es. -2.50)
peso
decimale(16,8)
Peso dell'opzione in kg
Nota: come separatori decimali sono accettati sia la virgola (,) che il punto (.).
richiesto
tinyint(1)
Campo obbligatorio dell'opzione
  • 0: No (impostazione predefinita)
  • 1: Sì - Il cliente DEVE effettuare una selezione
Importante: nei casi type=hide e type=show_only viene impostato automaticamente su 0 (non modificabile).
sort
int(11)
Ordine di ordinamento delle opzioni
pre_select
tinyint(1)
Opzione preselezionata
  • 0: No (impostazione predefinita)
  • 1: Sì - Questa opzione è preselezionata all'apertura della pagina
Importante: per ogni opzione (stesso name) può essere preselezionato solo UN valore. In caso di più pre_select=1 prevale la prima voce.
text_type_details
varchar(255)
Attributi del testo dell’opzione (rilevanti solo per i tipi di opzione text o textarea )
Può contenere regole di convalida, segnaposto o ulteriori specifiche per i campi di testo.

Articoli master/slave (famiglie di prodotti)

Le varianti di un articolo (ad es. formati di confezione o colori) vengono rappresentate tramite una famiglia di prodotti. L’assegnazione avviene esclusivamente tramite l’elemento family:

  • Tutti gli articoli di un gruppo hanno lo stesso valore in family.
  • L’articolomaster è esattamente quello il cui valore model è identico al proprio family.
  • Tutti gli altri articoli con lo stesso valore di family diventano automaticamente sue varianti.

Il collegamento interno viene calcolato automaticamente dal negozio. Nell’importazione XML non è presente un elemento products_master.

<product>
  <model>ABC-100</model>              <!-- Master: model == family -->
  <family>ABC-100</family>
  <products_family_type>3</products_family_type>
  <groups><group><id>0</id><price>19.90</price></group></groups>
</product>
<product>
  <model>ABC-100-250</model>          <!-- Variante -->
  <family>ABC-100</family>
  <products_family_type>3</products_family_type>
  <groups><group><id>0</id><price>19.90</price></group></groups>
</product>
<product>
  <model>ABC-100-1000</model>         <!-- Variante -->
  <family>ABC-100</family>
  <products_family_type>3</products_family_type>
  <groups><group><id>0</id><price>59.90</price></group></groups>
</product>

Note:

  • L'ordine nel feed non ha alcuna importanza: l'articolo principale può anche trovarsi dopo le sue varianti.
  • family è limitato a 128 caratteri e deve corrispondere esattamente, carattere per carattere.
  • Se in un feed successivo il campo « family » viene fornito vuoto, il gruppo viene nuovamente sciolto. Nei feed che contengono solo dati di magazzino o prezzi, inviare quindi il valore – oppure deselezionare contemporaneamente « products_family » e « products_master » dalla selezione dei campi dell’importazione.
  • products_family_type Impostare lo stesso valore per tutti gli articoli del gruppo.
  • Il prezzo proviene da groups/group con id 0 (gruppo clienti predefinito). Un price direttamente sotto groups non viene letto.

Esempio di XML

Il file XML deve rispettare la seguente convenzione di denominazione:
Products(.)*.xml

Scarica gli esempi:

Scarica il file di esempio

Scarica il file di esempio Master/Slave

Scarica la definizione XSL (non XSD!)

Last updated: 9 ottobre 2026