Ambiente
Problemi/Sintomi
L’API Recommendations di Target supporta campi multivalore come i tag meta mbox o Launch? Ad esempio, con una mbox, puoi eseguire le seguenti operazioni:
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);
}
});
che verrà memorizzato nel catalogo di Target come array da utilizzare in un’attività. Tuttavia, passando una stringa di [
"X", "Y", "Z"]
attraverso il back-end dell'API memorizza una stringa, non un array e il passaggio di un array JSON genera un errore 400. È necessario seguire sintassi o documentazione al riguardo?
Questo dovrebbe funzionare. È stato testato utilizzando GET
per visualizzare un’altra entità a cui era stato passato un attributo con più valori. Quindi utilizzato lo stesso formato in una chiamata di entità POST (save). Ha funzionato bene in passato.
Deve essere passato come stringifiedJSON
escape dalle virgolette doppie all'interno della matrice. Ecco la sintassi utilizzata per il test precedente:
{
"entities":`[`
{
"attributes": {
"message": "test tool yo",
"multiVal1": "`[` \"X\",\"Y\",\"Z\"`]` "
},
"categories": `[`
"test"
`]` ,
"environment": "183214",
"id": "prod12",
"name": "multi-val-via-RecsEntityAPI"
}
`]`
}