Arbeiten mit Attributen mit mehreren Werten

Manchmal möchten Sie vielleicht mit einem Feld mit mehreren Werten arbeiten. Sehen Sie sich folgende Beispiele an:

  • Sie bieten Benutzern Spielfilme an. In der Regel wirken an jedem Film mehrere Schauspieler mit.
  • Sie verkaufen Konzerttickets. Die meisten Benutzer haben mehrere Lieblingsbands.
  • Sie verkaufen Bekleidung. Jedes Hemd ist in verschiedenen Größen erhältlich.

Um Empfehlungen in diesen Szenarien zu verarbeiten, können Sie Daten mit mehreren Werten an Target Recommendations und verwenden spezielle Mehrwert-Operatoren.

In Recommendations um Daten mit mehreren Werten zu identifizieren, sollten sie als JSON-Array gesendet werden, wie in den folgenden Codebeispielen dargestellt.

Mehrwert-Parameter in JavaScript übergeben

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]'
  };
}

Weitere Informationen finden Sie unter Implementieren von Attributen mit mehreren Werten in Benutzerdefinierte Entitätsattribute.

Übergeben eines Entitätsattributs mit mehreren Werten in einer CSV-Datei

## 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"" ]",,,,,,,,,

Wenn ein Entitätsattribut, Profilattribut oder Mbox-Parameter als Mehrfachwert gemäß dem oben genannten Format bereitgestellt wird, Recommendations gibt automatisch an, dass das Feld mehrwertig ist.

Die folgenden Operatoren stehen für die Verwendung mit Entitäts-, Profil- und Mbox-Attributen mit mehreren Werten zur Verfügung:

  • ist in der Liste enthalten
  • ist nicht in der Liste enthalten

Arbeiten mit Attributen mit mehreren Werten in Einschlussregeln

HINWEIS

Die Unterstützung für dynamische Abgleiche mit Attributen mit mehreren Werten ist derzeit nur in Kriterien verfügbar, wenn beim Vergleich eines einzelnen Werts links mit einer mehrwertigen rechten Seite eine Profilattributübereinstimmung oder eine Übereinstimmungsregel für Parameterattribute (Mbox) verwendet wird. Attribute mit mehreren Werten werden derzeit nicht in Promotions, Entitätsattributübereinstimmung oder für Listen auf der linken Seite von Einschlussregeln unterstützt.

Beispiel: Zuletzt überwachte Elemente ausschließen

Angenommen, Sie möchten verhindern, dass Filme, die sich in den letzten zehn überwachten Filmen des Benutzers befinden, empfohlen werden. Schreiben Sie zunächst ein Profilskript namens user.lastWatchedMovies , um die letzten zehn angezeigten Filme als JSON-Array zu verfolgen. Anschließend können Sie die Elemente mithilfe der folgenden Einschlussregel ausschließen:

`Profile Attribute Matching`
`id - is not contained in list - user.lastWatchedMovies`

JSON-API-Darstellung der Einschlussregel:

{
    "attribute": "id",
    "operation": "isNotContainedInList",
    "source": {
        "name": "user.lastWatchedMovies",
        "type": "PROFILE"
    }
}

Beispiel: Artikel aus den Favoriten des Benutzers empfehlen

Nehmen wir an, Sie möchten Tickets nur für Konzerte empfehlen, wenn die Band, die gespielt wird, eine der Lieblingsbands des Benutzers ist. Stellen Sie zunächst sicher, dass Sie über eine Profilvariable mit dem Namen profile.favoriteBands , die die Lieblingsbands des Benutzers enthält. Stellen Sie dann sicher, dass Ihr Katalog ein Attribut enthält. entity.artistPerforming , der auch den Künstler enthält, der im Konzert auftritt. Anschließend können Sie die folgende Einschlussregel verwenden:

`Profile Attribute Matching`
`artistPerforming - is contained in list - profile.favoriteBands`

JSON-API-Darstellung der Einschlussregel:

{
    "attribute": "artistPerforming",
    "operation": "isContainedInList",
    "source": {
        "name": "profile.favoriteBands",
        "type": "PROFILE"
    }
}

Beispiel: API-Erstellung von Kriterien, die Artikel aus den Favoriten eines Benutzers empfehlen

Kriterien mit Filterregeln mit mehreren Werten wie alle Kriterien können über Adobe I/O-APIs erstellt werden. Ein Beispiel für einen API-Aufruf zum Erstellen eines Kriteriums, bei dem das Entitätsattribut id ist in der Mbox-Parameterliste enthalten favorites wird hier bereitgestellt:

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"
                }
            }
        ]
    }
}'

Dies würde mit JavaScript auf der Seite gepaart werden, um die Favoriteninhalte zu übergeben:

<!-- 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>

Auf dieser Seite