Você pode passar uma coleção em parâmetros de ação personalizados que serão preenchidos dinamicamente no tempo de execução. Há suporte para dois tipos de coleções:
coleções simples: arrays de tipos de dados simples, por exemplo, com uma listString:
{
"deviceTypes": [
"android",
"ios"
]
}
coleções de objetos: uma matriz de objetos JSON, por exemplo:
{
"products":[
{
"id":"productA",
"name":"A",
"price":20.1
},
{
"id":"productB",
"name":"B",
"price":10.0
},
{
"id":"productC",
"name":"C",
"price":5.99
}
]
}
Matrizes aninhadas de objetos em uma matriz de objetos não são compatíveis no momento. Por exemplo:
{
"products":[
{
"id":"productA",
"name":"A",
"price":20,
"locations": [{"name": "Paris"}, {"name": "London"}]
},
]
}
Para testar coleções usando o modo de teste, é necessário usar o modo de visualização de código. O modo de visualização de código não é compatível com eventos comerciais no momento. Você só pode enviar uma coleção com um único elemento.
Nesta seção, usaremos o seguinte exemplo de carga JSON. Esta é uma matriz de objetos com um campo que é uma coleção simples.
{
"ctxt": {
"products": [
{
"id": "productA",
"name": "A",
"price": 20.1,
"color":"blue",
"locations": [
"Paris",
"London"
]
},
{
"id": "productB",
"name": "B",
"price": 10.99
}
]
}
}
Você pode ver que "produtos" é uma matriz de dois objetos. Você precisa ter pelo menos um objeto.
Crie sua ação personalizada. Consulte esta página.
No Action parameters , cole o exemplo JSON. A estrutura exibida é estática: ao colar a carga útil, todos os campos são definidos como constantes.
Se necessário, ajuste os tipos de campo. Os seguintes tipos de campo são suportados para coleções: listString, listInteger, listDecimal, listBoolean, listDateTime, listDateTimeOnly, listDateOnly, listObjectListObject
O tipo de campo é automaticamente inferido de acordo com o exemplo de carga útil.
Se você deseja transmitir objetos dinamicamente, é necessário defini-los como variáveis. Neste exemplo, definimos "produtos" como variável. Todos os campos de objeto incluídos no objeto são definidos como variáveis automaticamente.
O primeiro objeto do exemplo de carga útil é usado para definir os campos.
Para cada campo, defina o rótulo que será exibido na tela de jornada.
Crie sua jornada e adicione a ação personalizada criada. Consulte esta página.
No Action parameters , defina o parâmetro de matriz ("products" no nosso exemplo) usando o editor de expressão avançado.
Para cada um dos seguintes campos de objeto, digite o nome do campo correspondente do esquema XDM de origem. Se os nomes forem idênticos, isso não será necessário. No nosso exemplo, só precisamos definir "id do produto" e "cor".
No campo da matriz, também é possível usar o editor de expressão avançado para executar a manipulação de dados. No exemplo a seguir, usamos o filter e interseção funções:
Para tipos heterogêneos e matrizes de matrizes, a matriz é definida com o tipo listAny . Você só pode mapear itens individuais, mas não pode alterar a matriz para a variável.
Exemplo de tipo heterogêneo:
{
"data_mixed-types": [
"test",
"test2",
null,
0
]
}
Exemplo de matriz de arrays:
{
"data_multiple-arrays": [
[
"test",
"test1",
"test2"
]
]
}
Tópicos relacionados