Importa i dati dei clienti, inclusi indirizzi, gruppi di clienti e abbonamenti alla newsletter, nel tuo negozio XONIC tramite interfaccia XML. Supporta i codici cliente esterni per l'integrazione con sistemi ERP/WaWi.
Clienti
Definizione dei campi
I campi obbligatori sono contrassegnati da una matita. Le definizioni dei campi si basano sulla sintassi MySQL.
L'identificazione di un cliente esistente avviene tramite il numero cliente esterno (external) o il numero cliente interno (id). Se non viene trovata alcuna corrispondenza, viene creato un nuovo cliente.
Se specificato ed già esistente → Aggiornamento. Vuoto o 0 → Nuovo cliente con AUTO_INCREMENT.
Ha la precedenza su
id durante l'abbinamento dei clienti esistenti.m: maschile (Signor)f: femminile (Signora)d: divers
Viene salvata automaticamente in forma crittografata durante l'importazione. Se non viene specificata alcuna password, quella esistente viene mantenuta (in caso di aggiornamento) oppure non ne viene impostata alcuna (per i nuovi clienti).
Per i nuovi clienti con l'opzione «
XML_PORT_NEW_CUSTOMER_MAIL=true » attivata, viene generata automaticamente una password e inviata tramite e-mail di benvenuto.de: Tedesco (predefinito)en: inglese
language_id.I gruppi di clienti possono essere definiti/aggiornati nel blocco
<groups> del file XML.Se non specificato, viene impostato automaticamente sul primo indirizzo importato.
Se non specificato, viene impostato automaticamente sul primo indirizzo importato.
1: Iscritto (crea/aggiorna la voce dell'abbonato alla newsletter). A partire dalla versione 4.9.168 del negozio, solo in assenza di blocco della newsletter o di opposizione alla pubblicità per l’indirizzo e solo per account attivi e non bloccati; un abbonamento confermato mantiene la conferma e il link di disiscrizione.0: Cancellazione. A partire dalla versione 4.9.168 del negozio, l’importazione cancella l’iscrizione sia nel negozio che presso il fornitore della newsletter e registra un’opposizione alla pubblicità: le importazioni successive rifiuteranno l’indirizzo, una nuova registrazione sarà possibile solo tramite l’e-mail di conferma. Fino alla versione 4.9.167 l’abbonamento veniva cancellato solo nel negozio.- ⚠️ Le e-mail promozionali provenienti da Marketing & Automazioni (xoMarketing) non tengono ancora conto dell’opposizione alla pubblicità nella versione 4.9 dello shop; questa funzionalità sarà disponibile a partire dalla versione 4.10.
- ⚠️ Se un sistema di gestione delle scorte invia un’
0anche per gli indirizzi «non noti», disiscriverà così ogni registrazione effettuata dal negozio. In tal caso, inviare l’newslettersolo per gli abbonamenti noti oppure ometterla.
1: Imposta blocco. A partire dalla versione 4.9.171 dello shop, l'importazione dal file cancella tutte le iscrizioni dell'account, sia nello shop che presso il fornitore della newsletter; la risposta viene registrata innewsletter.locked_removed, mentre un errore presso il fornitore inunsubscribe_failed. Fino alla versione 4.9.170, l'importazione impostava solo il blocco, mentre l'iscrizione nello shop rimaneva attiva.- ⚠️ Le e-mail promozionali provenienti da Marketing & Automazioni (xoMarketing) non aggirano ancora il blocco in Shop 4.9; questa funzionalità sarà disponibile con Shop 4.10.
0: revoca solo il blocco e non reinserisce nessuno.
Indirizzi
È possibile importare più indirizzi per ogni cliente. Ogni indirizzo viene specificato come nodo <address> separato all'interno del blocco <addresses>. Il primo indirizzo viene automaticamente impostato come indirizzo di consegna e fatturazione predefinito.
m, f, d).Viene inoltre trasferito nel campo "
customers_company " del record cliente.DE123456789).DE, AT, CH).Consigliato al posto del campo
country.country_code).Viene risolto internamente in
country_id. Se non viene specificato né country_code né country, viene utilizzato il paese predefinito configurato nel negozio.Gruppi di clienti
I gruppi di clienti possono essere definiti nel blocco opzionale « <groups> » prima dei dati dei clienti. I gruppi esistenti vengono aggiornati in base all'ID, mentre i nuovi gruppi vengono creati automaticamente.
Campi aggiuntivi
Tramite il blocco " <extra_fields>" è possibile trasmettere campi aggiuntivi sotto forma di coppie nome-valore. I seguenti campi vengono elaborati in modo specifico:
true: Il cliente è bloccato (customers_lock = 1)false: Il cliente è attivo (customers_lock = 0)
Più responsabili di zona separati da punto e virgola. Prefisso
S per il flag di superutente.Esempio:
EXT-001;SEXT-002;EXT-003Il numero cliente esterno del responsabile di area viene convertito nell'ID interno.
Viene convertito nell’ID cliente interno e salvato come relazione dell’approvatore.
Sconti (discounts)
A partire dalla versione 4.8.6 dello Shop, all’interno dell’elemento « <customer> » è possibile trasmettere un nodo opzionale « <discounts> ». Ogni voce « <discount> » corrisponde a una riga di sconto nel campo «Sconti» della gestione clienti (x % sulla categoria N).
Se nel negozio sono presenti più account cliente con lo stesso numero cliente esterno (ad es. più referenti di un’azienda), a partire dalla versione 4.8.8 dello Shop gli sconti trasmessi vengono applicati automaticamente a tutti gli account associati a tale numero. I restanti dati del cliente (nome, e-mail, indirizzi) non vengono modificati.
0 = Livello principale – insieme a subcategories = 1, lo sconto si applica all’intero assortimento.È consentita la virgola decimale (ad es.
8,5). I valori superiori a 100 vengono limitati a 100, mentre quelli pari o inferiori a 0 vengono ignorati.0 / 1, impostazione predefinita: 1.0 / 1, Impostazione predefinita: 0.0 / 1, Impostazione predefinita: 0.Non si applica ai prezzi personalizzati per i clienti – vedi nota sotto la tabella.
0 / 1, Impostazione predefinita: 0.Per il nodo <discounts> si applica la semantica «Sostituisci, se presente»:
- Nodo con voci presenti: l’intero elenco degli sconti del cliente viene sostituito.
- Nodo vuoto (
<discounts></discounts>): tutti gli sconti del cliente vengono rimossi. - Nodo mancante: gli sconti rimangono invariati – i collegamenti esistenti non modificano nulla.
Il flag di attivazione interno del cliente viene aggiornato automaticamente: gli sconti hanno effetto immediato nel negozio online.
Interazione con i prezzi personalizzati per cliente: per impostazione predefinita, uno sconto di categoria viene applicato in aggiunta a un prezzo personalizzato per cliente (lo sconto si riflette quindi sul prezzo del cliente). A partire dalla versione 4.8.8 del negozio, è possibile disattivare questa funzione tramite l’impostazione «Sconti di categoria sui prezzi personalizzati» nella configurazione del negozio: il prezzo personalizzato diventa quindi il prezzo finale ed è escluso dallo sconto.
Esempio all’interno dell’elemento « <customer> »:
<discounts>
<discount>
<category_id>0</category_id>
<value>8,5</value>
</discount>
<discount>
<category_id>22</category_id>
<subcategories>0</subcategories>
<value>15</value>
<special>1</special>
</discount>
</discounts>
Esempio XML
Il file XML deve rispettare la seguente convenzione di denominazione:Customers(.)*.xml
Percorso di salvataggio: /xoport/xml/import/
Avviare l'importazione: /xpanel/xoport/import_customers.php (alias a partire dalla versione 4.8.6 dello shop: update_customers.php).
<customer_data><customers> — ogni cliente è un elemento <customer>(vedi esempio). A partire dalla versione 4.8.6 dello shop, viene accettato direttamente anche <customers> come elemento radice. Vengono scritti solo i campi presenti nel file — i campi dei dati anagrafici mancanti rimangono invariati (importazione delta, ad es. solo <external> + <discounts>); un campo trasmesso vuoto azzera il valore nello shop. A partire dalla versione 4.8.6, la risposta JSON segnala inoltre customers.imported / customers.skipped_unknown — imported: 0 indica un elemento radice errato o numeri cliente sconosciuti.<?xml version="1.0" encoding="UTF-8"?>
<customer_data>
<!-- Kundengruppen (optional) -->
<groups>
<group>
<id>1</id>
<name>Standardkunde</name>
</group>
<group>
<id>2</id>
<name>Premium</name>
</group>
</groups>
<!-- Kundendaten -->
<customers>
<customer>
<id></id>
<external>ERP-12345</external>
<group_id>1</group_id>
<language>de</language>
<gender>m</gender>
<firstname>Max</firstname>
<lastname>Mustermann</lastname>
<email_address>max@example.com</email_address>
<telephone>+49 371 123456</telephone>
<newsletter>1</newsletter>
<addresses>
<address>
<gender>m</gender>
<firstname>Max</firstname>
<lastname>Mustermann</lastname>
<company>Meine GmbH</company>
<tax_id>DE123456789</tax_id>
<street_address>Hauptstraße 1</street_address>
<postcode>09247</postcode>
<city>Chemnitz</city>
<country_code>DE</country_code>
<state>Sachsen</state>
</address>
</addresses>
<extra_fields>
<extra_field>
<name>belegsperre</name>
<value>false</value>
</extra_field>
</extra_fields>
<discounts>
<discount>
<category_id>0</category_id>
<value>8,5</value>
</discount>
</discounts>
</customer>
</customers>
</customer_data>
Last updated: 18 ottobre 2026