Vai al contenuto principale

Come utilizzare le funzioni nei canali Xyxle?

A volte, gli attributi in Xyle non corrispondono alle esigenze del webshop. Usa le funzioni di mapping per adattarli, manualmente o con l’IA.

Aggiornato oltre una settimana fa

Come utilizzare le funzioni per il mapping degli attributi?

Quando esporti i dati di prodotto verso un webshop, può capitare che gli attributi grezzi presenti nel PIM non corrispondano al formato richiesto dalla destinazione.
Per gestire questa situazione, puoi usare le funzioni per trasformare i dati prima che vengano mappati.

Questo articolo spiega come funzionano le funzioni, come crearle e include esempi pratici che puoi copiare e utilizzare direttamente.

Cosa sono le funzioni?

Le funzioni ti permettono di applicare trasformazioni ai tuoi dati in modo che rispettino i requisiti del webshop. Puoi ripulire testi, unire campi, applicare logiche, convertire unità e molto altro.

Ecco le funzioni attualmente supportate:

  • CONCAT — Unisce più attributi in una singola stringa

  • FILTER — Filtra una lista in base a una condizione

  • IF — Restituisce il valore A se la condizione è vera, altrimenti B

  • IFBLANK — Restituisce un valore di riserva se un attributo è vuoto

  • JOIN — Unisce attributi con un delimitatore (es. virgola)

  • NOT — Restituisce il contrario di una condizione

  • OR — Restituisce vero se una qualsiasi condizione è vera

  • AND — Restituisce vero solo se tutte le condizioni sono vere

  • REPLACE — Sostituisce una parte di una stringa di testo

  • SUBSTITUTE — Sostituisce tutte le occorrenze di una sottostringa

  • SEARCH — Restituisce la posizione di una sottostringa nel testo

  • CONTAINS — Verifica se una stringa contiene una parola chiave

  • ConvertMassUnit — Converte da un'unità di massa a un'altra

  • ConvertMetricUnit — Converte da un'unità metrica a un'altra

  • GreaterThan — Verifica se un valore è maggiore di un altro

  • IFEXISTS — Verifica se un valore esiste

  • NTH — Restituisce il valore N-esimo da una lista

  • MAPKEYS — Rimappa le chiavi di un oggetto o di una lista


Come creare una funzione

Hai due opzioni:

1. Inserimento manuale

Nel campo funzione:

  • Digita $ per sfogliare le funzioni disponibili

  • Digita / per sfogliare gli attributi disponibili

Puoi annidare funzioni, combinarle e usare più attributi nella stessa espressione.

Esempi che puoi usare:

Sostituire un testo con un altro valore

SUBSTITUTE({composition.storageInfo}, 'Store dry and cool', 'Max. 10°C')

Verificare se una proprietà contiene un valore specifico

CONTAINS({composition.composition}, 'milk')

Verificare se un elenco codificato contiene un valore specifico

CONTAINS({nutrition.gdsnDietTypeCode}, 'VEGAN')

Verificare se è presente un allergene specifico (es. AP)

CONTAINS({allergy.items}, 'AP')

Verificare se è presente un allergene specifico (es. AF)

CONTAINS({allergy.items}, 'AF')

Convertire l’unità di massa da grammi a chilogrammi

CONVERT-MASS-UNIT({properties.gdsnNetContent}, 'g', 'kg')

Convertire l’unità metrica da millimetri a centimetri

CONVERT-METRICS-UNIT({properties.depth}, 'mm', 'cm')

Verificare se un valore numerico è maggiore di una soglia

GREATER-THAN({properties.gdsnNetContent}, 50)

Restituire un valore di riserva se l’attributo esiste

IFEXISTS({composition.composition}, 'NO')

Ottenere l’N-esimo elemento da un array

NTH({composition.use[].code}, 2)

Mappare le chiavi in una nuova struttura (esempio: codici e testi)

MAPKEYS({composition.use}, [['code','code_new'], ['text','text_new']])

Mappare le chiavi per identificatori aggiuntivi

MAPKEYS({core.additional_identification}, [['code','code_new'], ['value','value_new']])

Concatenare due proprietà

CONCAT([{composition.composition}, {composition.countryOrigin}])

Logica IF semplice

IF({core.gdsnIsOrderableUnit}, YES, NO)

Valore di riserva se l’attributo è vuoto

IFBLANK({composition.nonFoodComposition}, {composition.composition})

Unire più valori con un separatore

JOIN([{composition.gdsnUsage}, {composition.storageInfo}], '- ')

Negare una condizione booleana

NOT({core.gdsnNonSoldReturnable})

Applicare logica OR a più valori

OR([{composition.nonFoodComposition}])

Applicare logica AND a più valori

AND([{composition.composition}])

Sostituire parte di una stringa

REPLACE({composition.gdsnUsage}, 0, 0, 'MDH:')

2. Utilizza l'Assistente AI

Se non sai come scrivere la funzione, clicca semplicemente sul pulsante AI. Si aprirà un'area di chat dove potrai descrivere ciò che desideri ottenere. L'AI genererà la funzione corretta per te. Poi potrai rivederla e cliccare su Applica.

All'interno del pannello AI troverai anche:

  • Cancella sessione — reimposta la conversazione

  • Chiudi sessione — esce dalla chat

Flussi supportati:

  • Flusso 1 – Descrivi la funzione → l’AI restituisce il risultato → lo applichi

  • Flusso 2 – Descrivi → l’AI restituisce il risultato → chiedi una modifica (altra funzione, attributo o logica) → l’AI la aggiorna

  • Flusso 3 – Incolli una funzione esistente + descrivi come modificarla → l’AI la riscrive

Puoi combinare tutti e tre i flussi durante una sessione.

⚠️ Le descrizioni devono essere in inglese, francese, tedesco o italiano. Altre lingue restituiranno un risultato vuoto.


Limitazioni conosciute

  • A volte l’AI sceglie OR al posto di AND se la descrizione è troppo vaga. Sii specifico.

  • L’AI può non rilevare attributi che corrispondono all’etichetta ma non al codice. Puoi specificare:

    Aggiungi anche gli attributi che hanno ‘aroma’ nell’etichetta

  • JOIN e CONCAT potrebbero confondersi se il prompt è ambiguo.

  • Le sessioni chat più lunghe possono consumare più token e rallentare le risposte. Usa “Cancella sessione” se qualcosa va storto.


Consiglio finale

Se qualcosa sembra sbagliato o non funziona come previsto, non perdere tempo a fare debug alla cieca. Apri la chat AI e spiega cosa correggere. È spesso più veloce e affidabile rispetto al cercare di decifrare la logica da solo.


Facci sapere se riscontri casi limite o se hai suggerimenti per nuove funzioni. Questa funzionalità è progettata per crescere, e la miglioriamo costantemente grazie al tuo feedback.

Hai ricevuto la risposta alla tua domanda?