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 のカタログに保存されます。 ただし、API のバックエンドで「X」、「Y」、「Z」 [ いう文字列を渡すと ] 配列ではなく文字列が保存され、JSON 配列を渡すと 400 エラーが発生します。 これに関して従うべき構文やドキュメントはありますか?

解決策 resolution

これは機能するはずです。 複数値属性を渡された別のエンティティを確認するために、GET エンティティを使用してテストされています。 次に、POST(save)エンティティ呼び出しで同じフォーマットを使用しました。 これは過去にうまく機能したことがあります。

配列内の二重引用符をエスケープして、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