Passa al contenuto principale

Smart Collection

La creazione di Smart Collection permette di andare a generare collezioni dinamiche che dipendono da condizioni applicate sui campi (di base e metafield) di ciascun prodotto.

  • È possibile definire condizioni multiple, collegate tra loro tramite AND o OR.
  • È possibile impostare il tipo di relazione della condizione (default: EQUAL)
  • Per i TAG la condizione di EQUAL viene gestita da Shopify come un CONTAINS
  • La chiave primaria per identificare una smart collection può essere title o handle, in base al valore configurato nell'header specifico (vedi sotto)
  • È possibile associare un immagine alla collection (N.B. in aggiornamento, se non fornita e presente su Shopify, verrà mantenuta quella presente)
  • È possibile associare metafields personalizzati alla collezione, a patto che siano stati defininiti come custom data su Shopify.
  • È possibile definire *traduzioni multilingua per i campi title, description, handle e per i metafields, così da supportare più lingue nella visualizzazione della collection
  • È possibile pubblicare sul solo Store Online di Shopify, oppure su tutti i canali di vendita previsti per lo shop.

Chiavi disponibili per le regole (key)

Queste chiavi rappresentano i campi base di Shopify utilizzabili nelle regole di una Smart Collection.

ChiaveDescrizione
metafieldvedi nell'esempio sotto (qui)
tagTag associati al prodotto
titleTitolo del prodotto
typeTipo di prodotto
compareAtPricePrezzo di confronto (utilizzato per indicare sconti)
inventoryQuantità disponibile in magazzino
pricePrezzo di vendita del prodotto
variant_titleTitolo della variante
weightPeso del prodotto
vendorFornitore/marca del prodotto

Operatori disponibili (operator)

Questi operatori determinano il tipo di confronto applicato tra il valore della chiave e quello indicato nella regola.

OperatoreDescrizione
EQUALSValore esattamente uguale
NOT_EQUALSValore diverso
GREATER_THANMaggiore di (solo per valori numerici)
LESS_THANMinore di (solo per valori numerici)
CONTAINSIl valore contiene la stringa indicata
NOT_CONTAINSIl valore non contiene la stringa indicata
STARTS_WITHIl valore inizia con la stringa indicata
ENDS_WITHIl valore termina con la stringa indicata
IS_SETIl campo è valorizzato
IS_NOT_SETIl campo non è valorizzato

Condizioni con Metafields

È possibile utilizzare i metafield come soggetti delle smart collection. Questi devono essere già configurati su Shopify nella sezione custom data. Per utilizzarli:

  • Impostare il campo key con il nome del metafield
  • Specifica conditionTarget per indicare dove è definito il metafield (sul prodotto o sulla variante)

ConditionTarget (solo per metafield)

Questi target vanno usati per indicare dove si trova il metafield:

Target (conditionTarget)Descrizione
PRODUCTIl metafield è associato al prodotto
PRODUCTVARIANTIl metafield è associato alla variante

Esempio

{
"rules": [
{
"conditionTarget": "PRODUCT",
"operator": "GREATER_THAN",
"key": "logistic_weight", // Chiave del metafield
"value": "10"
},
{
"conditionTarget": "PRODUCTVARIANT",
"key": "subtitle", // Chiave del metafield
"value": "subtitle value"
}
]
}

Gestione delle Traduzioni

Le Smart Collection supportano la definizione di traduzioni multi-lingua per i principali campi e per i metafields. Le traduzioni si definiscono all’interno di un oggetto translations, che contiene le lingue supportate e le relative stringhe tradotte.

Campi traducibili

  • title: titolo della collection
  • description: descrizione della collection
  • handle: identificativo univoco testuale usato per l’URL
  • metafields: traduzioni specifiche per ogni chiave di metafield

Esempio

{
"translations": {
"title": {
"it": "Smart Collection TAG Iphone 12",
"fr": "Collection intelligente TAG Iphone 12"
},
"description": {
"it": "Questa smart collection permette di raggruppare tutti i prodotti che hanno come tag Iphone12",
"fr": "Cette collection intelligente vous permet de regrouper tous les produits qui ont le tag Iphone12"
},
"handle": {
"it": "collezione-iphone-12",
"fr": "collection-iphone-12"
},
"metafields": {
"test": {
"it": "Metafield tradotto",
"fr": "Métachamp traduit"
},
"test_2": {
"it": "Metafield tradotto",
"fr": "Métachamp traduit"
}
}
}
}

Pubblicazione della collection

Nel suo comportamento standard, una Smart Collection viene pubblicata solamente sullo Store Online di Shopify. Qualora lo shop prevedesse più canali di vendita, è possibile pubblicare collezione su tutti i canali di vendita. Questo avviene attraverso il campo booleano isPublishedOnAllChannels, che se impostato al valore true consente di pubblicare la collezione su tutti i canali, mentre se impostato al valore false, o se non valorizzato, va a pubblicare solo sullo Store Online di Shopify.

Esempio

{
"title": "Smart Collection TAG Iphone 12",
"description": "This smart collection allows you to group all the products that have the Iphone12 tag",
"handle": "smart-collection-iphone-12",
"rules": [
{
"conditionTarget": "PRODUCT",
"operator": "GREATER_THAN",
"key": "logistic_weight",
"value": "10"
},
{
"conditionTarget": "PRODUCTVARIANT",
"key": "subtitle",
"value": "subtitle value"
}
],
"isPublishedOnAllChannels": true // pubblica la collection su tutti i canali di vendita
}

Esempi

1. Caso base: condizione singola con traduzioni

In questo esempio viene creata una smart collection che raggruppa tutti i prodotti con il tag Iphone12 e include le traduzioni.

{
"title": "Smart Collection TAG Iphone 12",
"description": "This smart collection allows you to group all the products that have the Iphone12 tag",
"handle": "smart-collection-iphone-12",
"rules": [
{
"key": "tag",
"value": "Iphone12"
}
],
"media": {
"alternativeText": "iphone12",
"url": "https://urldellimmagine.jpg"
},
"metafields": {
"test": "Translated metafield",
"test_2": ""
},
"translations": {
"title": {
"it": "Smart Collection TAG Iphone 12",
"fr": "Collection intelligente TAG Iphone 12"
},
"description": {
"it": "Questa smart collection permette di raggruppare tutti i prodotti che hanno come tag Iphone12",
"fr": "Cette collection intelligente vous permet de regrouper tous les produits qui ont le tag Iphone12"
},
"handle": {
"it": "collezione-iphone-12",
"fr": "collection-iphone-12"
},
"metafields": {
"test": {
"it": "Metafield tradotto",
"fr": "Métachamp traduit"
},
"test_2": {
"it": "Metafield tradotto",
"fr": "Métachamp traduit"
}
}
}
}

2.Condizioni multiple in AND

In questo caso le condizioni devono tutte essere verificate (logica AND).

{
"isConditionOr": false, // Condizioni in AND
"title": "Smart Collection TAG Iphone Pesanti",
"description": "Questa smart collection permette di raggruppare tutti i prodotti che hanno come tag Iphone12 e hanno un peso maggiore a 10 kg",
"handle": "collection-iphone-12-pesanti",
"rules": [
{
"key": "tag",
"value": "Iphone12"
},
{
"operator": "GREATER_THAN",
"key": "weight",
"value": "10"
}

]
}

3.Condizioni multiple in OR

In questo esempio le condizioni sono collegate con logica OR: viene inclusi prodotti che hanno almeno una delle condizioni vere.

{
"isConditionOr": true, // Condizioni in OR
"title": "Smart Collection TAG Iphone Pesanti",
"description": "Questa smart collection permette di raggruppare tutti i prodotti che hanno come tag Iphone12 e hanno un peso maggiore a 10 kg",
"handle": "collection-iphone-12-pesanti",
"rules": [
{
"key": "tag",
"value": "Iphone12"
},
{
"operator": "GREATER_THAN",
"key": "weight",
"value": "10"
}

]
}

Configurazioni flusso smart collections

Oltre alle configurazioni base del flusso dati è necessario aggiungere le seguenti impostazioni sui Settings Override:

CampoValoreNote
Base Urlhttps://adapt.flowlyze.comurl degli adapter
Resource Path/api/adp/shopify/egress/sync-smart-collection-to-shopifypath dell'adapter per le smart collections
Headers :: x-api-key**********api key di verifica interazione endpoint
Headers :: x-shopify-graphql-urlhttps://SHOPIFYURL.myshopify.com/url dello shopify con cui connettersi
Headers :: x-shopify-access-tokenshpat_CODICEALFANUMERICOsecret della custom app creata per l'integrazione
Headers :: x-collection-identifiertitle/handleIndica quale campo utilizzare come chiave univoca per identificare la smart collection durante le operazioni di creazione o aggiornamento (deafult: title)