Target Recommendations API は複数値のフィールドをサポートしていますか?

説明 description

環境

  • Target

問題/症状

Target Recommendations API は、mbox や Launch メタタグなどの複数値のフィールドをサポートしますか? mbox の場合、次の操作が可能です。

adobe.target.getOffer({
"mbox": "DemoMBoxCanBeDeleted",
 "params":{
  'entity.id':         '123',
  'entity.MultiValueAttribute': '`[` "X", "Y", "Z"`]` '
 },
 "success": function(offer) {
  console.log("Result: "+JSON.stringify(offer));
 },
 "error": function(status, error) {
  console.log('Error', status, error);
 }
});

これは Target のカタログに配列として保存され、アクティビティで使用されます。 しかし、 [ "X", "Y", "Z"] API のバックエンドを通じて文字列が格納されますが、配列ではなく、JSON 配列を渡すと 400 エラーが発生します。 これに従う必要のある構文やドキュメントはありますか?

解決策 resolution

これは動作するはずです。 このテストは、 GET 複数値の属性を渡した別のエンティティを表示するエンティティを作成します。 その後、POST(保存)エンティティの呼び出しで同じ形式を使用しました。 昔はうまくいった。

これは、 stringifiedJSON 配列内の二重引用符をエスケープすることによって配列を取得します。 上記のテストで使用する構文を次に示します。

{
    "entities":`[`
        {
            "attributes": {
                "message": "test tool yo",
                "multiVal1": "`[` \"X\",\"Y\",\"Z\"`]` "
            },
            "categories": `[`
                "test"
            `]` ,
            "environment": "183214",
            "id": "prod12",
            "name": "multi-val-via-RecsEntityAPI"
        }
    `]`
}
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f