Introduzione
Il motore di regole consente di valutare i dati dei prodotti rispetto a condizioni specifiche e applicare trasformazioni o esclusioni nel momento in cui il feed viene esportato. A differenza delle modifiche dirette ai prodotti, le regole operano solo durante l'esportazione, lasciando intatti i dati originali nel sistema. Questo approccio offre flessibilità, consente di mantenere versioni diverse dello stesso prodotto per canali diversi e riduce il rischio di corruzione dei dati.
Le regole vengono create e gestite in DataHub, sezione Rules del pannello di controllo. Solo gli utenti con ruolo Editor e superiori possono creare, modificare e attivare le regole; gli utenti con ruolo Viewer possono visualizzarle in lettura.
Come funziona il motore di regole
Il motore di regole valuta ogni prodotto al momento dell'esportazione del feed. Ogni regola contiene:
- Condizioni: criteri che devono essere soddisfatti affinché la regola si applichi al prodotto.
- Azioni: operazioni da eseguire sul prodotto se le condizioni sono vere.
Le condizioni vengono valutate in ordine e combinate con logica AND oppure OR. Ogni condizione può essere negata per invertire il risultato. Se tutte le condizioni sono soddisfatte (o se la logica OR ne richiede almeno una), le azioni vengono applicate in sequenza.
Le azioni modificano il valore di un campo oppure escludono completamente il prodotto dal feed. Le trasformazioni non alterano i dati memorizzati nel sistema, ma solo il contenuto del feed esportato.
Tipi di regole
Regole di filtro
Le regole di filtro determinano quali prodotti includere o escludere dal feed in base a condizioni specifiche.
Inclusione: il prodotto viene incluso nel feed solo se soddisfa le condizioni definite. Utile per esportare solo prodotti attivi, in stock, o appartenenti a categorie specifiche.
Esclusione: il prodotto viene rimosso dal feed se soddisfa le condizioni. Utile per escludere articoli con prezzi non validi, prodotti disattivati o varianti non approvate.
Un prodotto escluso non appare affatto nel feed esportato, riducendo il carico di dati inviati al canale e migliorando la qualità complessiva.
Regole di trasformazione
Le regole di trasformazione modificano il valore di un campo applicando operazioni specifiche.
Manipolazione di stringhe: concatenazione, divisione, conversione di maiuscole/minuscole, rimozione di spazi, sostituzione di testo. Ad esempio, combinare il nome del brand e il modello in un nuovo titolo, oppure rimuovere caratteri non validi da una descrizione.
Operazioni numeriche: arrotondamento, moltiplicazione, divisione, addizione, sottrazione. Utile per applicare margini di prezzo, convertire unità di misura o ricalcolare quantità.
Estrazione con espressioni regolari (regex): estrarre una parte di una stringa in base a un modello. Ad esempio, estrarre il codice produttore da una stringa più lunga, o isolate il numero di modello dal titolo.
Mappatura di valori: associare un valore di input a un valore di output predefinito. Ad esempio, mappare i codici di categoria interni ai nomi di categoria standard richiesti dal canale.
Sostituzione tramite tabella di ricerca: utilizzare una tabella di ricerca per mappare molti valori di input a valori di output in un'unica operazione riutilizzabile.
Struttura di una regola
Ogni regola segue una struttura logica chiara:
| Elemento | Descrizione |
|---|---|
| Nome | Identificativo univoco della regola, utilizzato nei registri e nei rapporti |
| Condizioni | Uno o più criteri combinati con AND/OR; ogni condizione può essere negata |
| Logica condizioni | AND (tutte le condizioni devono essere vere) oppure OR (almeno una deve essere vera) |
| Azioni | Una o più operazioni applicate in sequenza se le condizioni sono soddisfatte |
| Ordine | Le regole vengono valutate in ordine; il primo match applica le azioni |
| Stato | Attiva o inattiva; solo le regole attive vengono eseguite all'esportazione |
Esempio di struttura logica:
SE (category = "Abbigliamento" AND price > 100)
ALLORA applica sconto del 10% al prezzo
Oppure:
SE (availability = "out of stock" OR status = "discontinued")
ALLORA escludi dal feed
Tabelle di ricerca
Le tabelle di ricerca consentono di mappare molti valori di input a valori di output in un'unica tabella riutilizzabile, senza dover creare una regola separata per ogni mappatura.
Una tabella di ricerca contiene:
- Nome: identificativo univoco della tabella.
- Colonna di input: i valori che cercare nei dati del prodotto.
- Colonna di output: i valori da sostituire.
- Valore predefinito: il valore da usare se l'input non è trovato nella tabella.
Esempio di tabella di ricerca per mappare codici di categoria interni a nomi di categoria standard:
| Input | Output |
|---|---|
| CAT_001 | Abbigliamento |
| CAT_002 | Calzature |
| CAT_003 | Accessori |
| CAT_004 | Elettronica |
Una volta creata la tabella, una regola di trasformazione può applicarla al campo category in una sola azione, garantendo coerenza e riducendo gli errori manuali.
Campi personalizzati
I campi personalizzati consentono di definire campi virtuali calcolati a partire da altri dati, senza modificare i campi originali.
Un campo personalizzato:
- Viene calcolato al momento dell'esportazione.
- Può combinare più campi sorgente.
- Può essere utilizzato nelle condizioni e nelle azioni di altre regole.
- Non viene memorizzato nel database, ma generato al volo.
Esempi di campi personalizzati:
- full_title: concatenazione di brand + nome prodotto + variante.
- discounted_price: prezzo originale meno uno sconto percentuale.
- sku_uppercase: SKU convertito in maiuscole.
- category_path: percorso gerarchico della categoria.
I campi personalizzati riducono la complessità delle regole e migliorano la riusabilità della logica.
Librerie di regole
Le librerie di regole sono insiemi precostruiti di regole che risolvono problemi comuni. Anziché creare regole da zero, è possibile distribuire una libreria in un solo clic.
Libreria di normalizzazione dati
Questa libreria contiene regole per standardizzare i dati dei prodotti secondo le migliori pratiche del settore:
- Rimozione di spazi bianchi non necessari.
- Conversione di maiuscole/minuscole coerente.
- Formattazione di prezzi e valute.
- Validazione di campi obbligatori.
- Normalizzazione di codici prodotto e SKU.
- Standardizzazione di unità di misura.
Utilizzare questa libreria garantisce che i dati siano puliti e coerenti prima dell'esportazione, migliorando l'approvazione nei canali e riducendo i rifiuti.
Libreria di best practice generali
Questa libreria contiene regole per conformarsi ai requisiti comuni dei canali di vendita online:
- Esclusione di prodotti senza immagine principale.
- Esclusione di articoli con prezzo zero o mancante.
- Applicazione di limiti di lunghezza per titoli e descrizioni.
- Aggiunta di testo obbligatorio a descrizioni incomplete.
- Mappatura di categorie interne a categorie standard del canale.
- Formattazione di URL di immagini e link.
Queste regole riducono i rifiuti di feed e accelerano l'approvazione dei prodotti.
Ubicazione nel pannello di controllo
Le regole si trovano in DataHub > Rules. Da qui è possibile:
- Creare una nuova regola.
- Modificare una regola esistente.
- Attivare o disattivare una regola.
- Testare una regola in anteprima rispetto a prodotti di esempio.
- Importare una libreria di regole precostruita.
- Visualizzare la cronologia delle modifiche e dei deployment.
Permessi e ruoli
| Ruolo | Permessi |
|---|---|
| Viewer | Visualizzazione in lettura di regole e librerie |
| Editor | Creazione, modifica e attivazione di regole |
| Admin | Creazione, modifica, attivazione e eliminazione di regole; gestione dei permessi |
Solo gli utenti con ruolo Editor e superiori possono creare e attivare regole. Questo garantisce che le modifiche ai feed siano controllate e tracciate.
Guida pratica: come utilizzare le regole
Fase 1: Identificare il problema
Prima di creare una regola, identificare il problema che si intende risolvere:
- Quali prodotti devono essere esclusi dal feed? (Es. articoli senza prezzo, disattivati, fuori stock.)
- Quali campi devono essere trasformati? (Es. titolo, prezzo, descrizione.)
- Quali valori devono essere mappati? (Es. categoria interna a categoria canale.)
Fase 2: Creare la regola
- Accedere a DataHub > Rules.
- Fare clic su "Crea regola".
- Assegnare un nome descrittivo alla regola (es. "Escludi prodotti fuori stock").
- Definire le condizioni:
- Selezionare il campo da valutare (es. availability).
- Scegliere l'operatore (es. "è uguale a", "contiene", "è maggiore di").
- Inserire il valore (es. "out of stock").
- Se necessario, aggiungere altre condizioni e scegliere AND/OR. - Definire le azioni:
- Per una regola di filtro, scegliere "Escludi dal feed".
- Per una regola di trasformazione, scegliere il campo da modificare e l'operazione (es. "Sostituisci con valore", "Applica regex", "Usa tabella di ricerca"). - Fare clic su "Salva".
Fase 3: Testare la regola in anteprima
- Nella pagina della regola, fare clic su "Anteprima".
- Selezionare alcuni prodotti di campione per testare la regola.
- Verificare che le condizioni si applichino correttamente e che le azioni producano i risultati attesi.
- Se il risultato non è corretto, modificare la regola e riprovare.
Fase 4: Attivare la regola
- Una volta testata, fare clic su "Attiva" per abilitare la regola.
- La regola inizierà a essere applicata al prossimo export del feed.
- Controllare il diff dell'export per verificare che i cambiamenti siano visibili.
Fase 5: Monitorare l'impatto
- Dopo l'attivazione, consultare i registri di export per verificare quanti prodotti sono stati modificati o esclusi.
- Se necessario, regolare le condizioni o le azioni della regola.
- Disattivare la regola se produce risultati indesiderati.
Cosa rappresenta il successo
Una regola è stata implementata con successo quando:
- La regola è creata e testata: la logica è corretta e produce i risultati attesi in anteprima.
- La regola è attivata: lo stato della regola è "Attiva" e viene eseguita a ogni export.
- L'effetto è visibile nell'export: il diff dell'export successivo mostra i cambiamenti attesi (campi trasformati, prodotti esclusi).
- I dati originali rimangono intatti: i cambiamenti si applicano solo al feed esportato, non ai dati memorizzati nel sistema.
- La qualità del feed migliora: meno rifiuti di feed, migliore approvazione nei canali, maggiore coerenza tra i dati.
Esempi di risultati misurabili:
- Numero di prodotti esclusi dal feed (es. "100 prodotti fuori stock esclusi").
- Numero di campi trasformati (es. "500 titoli standardizzati").
- Riduzione dei rifiuti di feed (es. "Rifiuti ridotti dal 15% al 5%").
- Tempo di approvazione ridotto nei canali.
Conclusione
Il motore di regole consente di mantenere i dati dei prodotti puliti e conformi ai requisiti dei canali, senza modificare i dati originali. Utilizzando filtri, trasformazioni, tabelle di ricerca e campi personalizzati, è possibile automatizzare operazioni complesse e ripetitive, migliorando la qualità dei feed e accelerando l'approvazione dei prodotti.
Le librerie precostruite accelerano ulteriormente il processo, consentendo di distribuire best practice consolidate in un solo clic. Con i permessi corretti e un flusso di test rigoroso, le regole diventano uno strumento essenziale per la gestione efficiente dei dati di catalogo.