Show Menu
SUJETS×

Utilisation d’attributs à plusieurs valeurs

Vous pouvez parfois utiliser un champ à plusieurs valeurs. Prenons les exemples suivants :
  • Vous des films aux utilisateurs. Un film donné a plusieurs acteurs.
  • Vous vendez des billets pour des concerts. Un utilisateur donné possède plusieurs groupes favoris.
  • Vous vendez des vêtements. Une chemise est disponible en plusieurs tailles.
Pour gérer les recommandations dans ces scénarios, vous pouvez transmettre des données à plusieurs valeurs Target Recommendations et utiliser des opérateurs spéciaux à plusieurs valeurs.
Pour permettre Recommendations d’identifier des données à plusieurs valeurs, elles doivent être envoyées sous forme de tableau JSON, comme dans les exemples de code ci-dessous.

Transmettre un paramètre à plusieurs valeurs dans JavaScript

function targetPageParams() { 
  return { 
    'entity.id':                   '123', 
    'entity.categoryId':            '["A", "A:B", "A:B:C", "A:B:C:D"]',        
    'entity.MultiValueAttribute':   '["X", "Y", "Z"]', 
    'entity.event.detailsOnly':     'true', 
    'excludedIds":                  '[123, 3232, 2323, 4344]', 
    'orderId":                      '123456', 
    'orderTotal":                   '195.32', 
    'productPurchaseId":            '[001,002,003]' 
  }; 
}

Pour plus d’informations, voir Implémentation d’attributs à plusieurs valeurs dans Attributs d’entité personnalisés.

Transmettre un attribut d’entité à plusieurs valeurs dans un fichier CSV

## RECSRecommendations Upload File,,,,,,,,,,,,,,,,,,,
## RECS''## RECS'' indicates a Recommendations pre-process header. Please do not remove these lines.,,,,,,,,,,,,,,,,,,,
## RECS,,,,,,,,,,,,,,,,,,,
## RECSUse this file to upload product display information to Recommendations. Each product has its own row. Each line must contain 19 values and if not all are filled a space should be left.,,,,,,,,,,,,,,,,,,,
## RECSThe last 100 columns (entity.custom1 - entity.custom100) are custom. The name 'customN' can be replaced with a custom name such as 'onSale' or 'brand'.,,,,,,,,,,,,,,,,,,,
## RECSIf the products already exist in Recommendations then changes uploaded here will override the data in Recommendations. Any new attributes entered here will be added to the product''s entry in Recommendations.,,,,,,,,,,,,,,,,,,,
## RECSentity.id ,entity.name,entity. categoryId ,entity. message ,entity.thumbnailUrl ,entity.value ,entity.pageUrl ,entity.inventory ,entity.margin ,entity.custom1 ,entity.custom2 ,entity.custom3 ,entity.custom4,entity.custom5,entity.custom6,entity.custom7,entity.custom8,entity.custom9,entity.custom10,
1,Sample Product 1,category1,Save 10%,http://sample.store/products/images/product1_th.jpg,325,http://sample.store/products/product_detail.jsp?productId=1,1000,48,a,"[ ""v1"", ""v2"" ]",, , , , , , , ,
2,Sample Product 2,category1,Save 10%,http://sample.store/products/images/product2_th.jpg,369,http://sample.store/products/product_detail.jsp?productId=2,1000,52,a,"[ ""v1"", ""v2"" ]",, , , , , , , ,
3,Sample Product 3,category1,Save 10%,http://sample.store/products/images/product3_th.jpg,479,http://sample.store/products/product_detail.jsp?productId=3,1000,78,a,"[ ""v1"", ""v2"" ]",,,,,,,,,
4,Sample Product 4,category1,Save 10%,http://sample.store/products/images/product4_th.jpg,409,http://sample.store/products/product_detail.jsp?productId=4,1000,66,a,"[ ""v1"", ""v2"" ]",,,,,,,,,
5,Sample Product 5,category1,Save 10%,http://sample.store/products/images/product5_th.jpg,325,http://sample.store/products/product_detail.jsp?productId=5,1000,45,a,"[ ""v1"", ""v2"" ]",,,,,,,,, 

Lorsqu’un attribut d’entité, un attribut d’ou un paramètre de mbox est fourni sous forme de plusieurs valeurs selon le format ci-dessus, Recommendations le champ est automatiquement défini comme multi-valeurs.
Les opérateurs suivants peuvent être utilisés avec des attributs d’entité à plusieurs valeurs, de et de mbox :
  • est contenu dans
  • n’est pas contenu dans le du

Utilisation d’attributs à plusieurs valeurs dans les règles d’inclusion

La prise en charge de la correspondance dynamique avec des attributs à plusieurs valeurs est actuellement disponible uniquement dans les critères lors de l’utilisation d’une règle de correspondance d’attributs ou de paramètres (mbox) lors de la comparaison d’une seule valeur du côté gauche à un côté droit à plusieurs valeurs. La prise en charge des promotions, de la correspondance des attributs d’entité et des d’entité sur le côté gauche des règles d’inclusion sera disponible au début de 2020.

Exemple : Exclure les éléments récemment consultés

Supposons que vous souhaitiez empêcher la recommandation de n’importe quel film des dix dernières vidéos visionnées par l’utilisateur. Commencez par écrire un script appelé user.lastWatchedMovies pour effectuer le suivi des dix derniers films consultés sous forme de tableau JSON. Vous pouvez ensuite exclure les éléments à l’aide de la règle d’inclusion suivante :
`Profile Attribute Matching`
`id - is not contained in list - user.lastWatchedMovies`

Représentation de l’API JSON de la règle d’inclusion :
{
    "attribute": "id",
    "operation": "isNotContainedInList",
    "source": {
        "name": " user.lastWatchedMovies",
        "type": "PROFILE"
    }
} 

Exemple : Eléments recommandés des favoris de l’utilisateur

Supposons que vous souhaitiez recommander des tickets uniquement pour les concerts si le groupe jouant est l’un des groupes favoris de l’utilisateur. Tout d’abord, veillez à disposer d’une variable nommée profile.favoriteBands qui contient les bandes préférées de l’utilisateur. Assurez-vous ensuite que votre catalogue comporte un attribut entity.artistPerforming qui inclut l’artiste qui joue dans le concert. Vous pouvez ensuite utiliser la règle d’inclusion suivante :
`Profile Attribute Matching`
`artistPerforming - is contained in list - profile.favoriteBands`

Représentation de l’API JSON de la règle d’inclusion :
{
    "attribute": "artistPerforming",
    "operation": "isContainedInList",
    "source": {
        "name": "profile.favoriteBands",
        "type": "PROFILE"
    }
}

Exemple : Création d’API de critères recommandant des éléments des favoris d’un utilisateur

Les critères utilisant des règles de filtrage à plusieurs valeurs, comme tous les critères, peuvent être créés via les API d’E/S Adobe. Un exemple d’appel d’API pour créer un critère dans lequel l’attribut d’entité id est contenu dans le de paramètres de mbox favorites est fourni ici :
curl -X POST \
  https://<serverhost>/api/recs/<client>/criteria/item \
  -H 'Accept: application/vnd.adobe.target.v1+json' \
  -H 'Accept-Encoding: gzip, deflate' \
  -H 'Cache-Control: no-cache' \
  -H 'Connection: keep-alive' \
  -H 'Content-Type: application/json' \
  -H 'User-Agent: <from API client>' \
  -H 'X-Target-user-email: <email address>' \
  -H 'cache-control: no-cache' \
  -d '{
    "name": "viewed criteria",
    "criteriaTitle": "test title",
    "type": "VIEWED_CF",
    "key": "CURRENT",
    "daysCount": "TWO_WEEKS",
    "aggregation": "NONE",
    "backupDisabled": false,
    "partialDesignAllowed": true,
    "configuration": {
        "inclusionRules": [
            {
                "attribute": "id",
                "operation": "isContainedInList",
                "source": {
                    "name": "mbox.favorites",
                    "type": "MBOX"
                }
            }
        ]
    }
}'

Cette opération serait associée à JavaScript sur la page pour transmettre le contenu des favoris :
<!-- pass in the value of mbox parameter “favorites” as JSON array -->
<script type="text/javascript">
   mboxCreate('myMbox','entity.id=<key>','favorites=["a","b","c"]');
</script>