Referências de campo

Uma referência de campo pode ser anexada a um evento ou grupo de campos. A única informação significativa é o nome do campo e seu caminho.

Se você estiver usando caracteres especiais em um campo, precisará usar aspas de duplo ou aspas simples. Estes são os casos em que as cotações são necessárias:

  • os start de campo com caracteres numéricos
  • o campo start com o caractere "-"
  • o campo contém qualquer outro elemento além de: a-z, A-Z, 0-9, _, -

Por exemplo, se seu campo for 3h: #{OpenWeather.weatherData.rain.'3h'} > 0

// event field
@{<event name>.<XDM path to the field>}
@{LobbyBeacon.endUserIDs._experience.emailid.id}

// field group
#{<data source name>.<field group name>.<path to the field>}
#{ExperiencePlatform.ProfileFieldGroup.profile.personalEmail.address}

Na expressão, os campos do evento são referenciados com "@" e os campos da fonte de dados são referenciados com "#".

Uma cor de sintaxe é usada para diferenciar visualmente os campos de eventos (verde) dos grupos de campos (azul).

Valores padrão para referências de campo

Um valor padrão pode ser associado a um nome de campo. A sintaxe é a seguinte:

// event field
@{<event name>.<XDM path to the field>, defaultValue: <default value expression>}
@{LobbyBeacon.endUserIDs._experience.emailid.id, defaultValue: "example@adobe.com"}
// field group
#{<data source name>.<field group name>.<path to the field>, defaultValue: <default value expression>}
#{ExperiencePlatform.ProfileFieldGroup.profile.personalEmail.address, defaultValue: "example@adobe.com"}
OBSERVAÇÃO

O tipo do campo e o valor padrão devem ser os mesmos. Por exemplo, @{LobbyBeacon.endUserIDs._experience.emailid.id, defaultValue: : será inválido porque o valor padrão é um número inteiro, enquanto o valor esperado deve ser uma string.

Exemplos:

// for an event 'OrderEvent' having the following payload:
{
    "orderId": "12345"
}
 
expression example:
- @{OrderEvent.orderId}                                    -> "12345"
- @{OrderEvent.producdId, defaultValue : "not specified" } -> "not specified" // default value, productId is not a field present in the payload
- @{OrderEvent.productId}                                  -> null
 
 
// for an entity 'Profile' on datasource 'ACP' having fields person/lastName, with fetched data such as:
{
    "person": {
        "lastName":"Snow"
    },
    "emails": [
        { "email":"john.snow@winterfell.westeros" },
        { "email":"snow@thewall.westeros" }
    ]
}
 
expression examples:
- #{ACP.Profile.person.lastName}                 -> "Snow"
- #{ACP.Profile.emails.at(1).email}              -> "snow@thewall.westeros"
- #{ACP.Profile.person.age, defaultValue : -1}   -> -1 // default value, age is not a field present in the payload
- #{ACP.Profile.person.age}                      -> null

Referência de um campo em coleções

Os elementos definidos nas coleções são referenciados usando as funções específicas, primeiro e último. Para saber mais, consulte esta página.

Exemplo :

@{LobbyBeacon._experience.campaign.message.profile.pushNotificationTokens.all()

Referência de um campo definido em um mapa

Para recuperar um elemento em um mapa, usamos a função de entrada com uma determinada chave. Por exemplo, ele é usado ao definir a chave de um evento, de acordo com a namespace selecionada. Consulte Seleção da namespace. Para obter mais informações, consulte esta página.

@{MyEvent.identityMap.entry('Email').first().id}

Nesta expressão, estamos recebendo a entrada da chave "Email" do campo "IdentityMap" de um evento. A entrada "Email" é uma coleção, da qual retiramos a "id" no primeiro elemento usando "first()". Para obter mais informações, consulte esta página.

Valores de parâmetro de uma fonte de dados (valores dinâmicos da fonte de dados)

Se você selecionar um campo de uma fonte externa de dados que requer um parâmetro para ser chamado, uma nova guia será exibida à direita para permitir que você especifique esse parâmetro. Consulte esta página.

Para casos de uso mais complexos, se você quiser incluir os parâmetros da fonte de dados na expressão principal, poderá definir seus valores usando a palavra-chave params. Um parâmetro pode ser qualquer expressão válida mesmo de outra fonte de dados que também inclui outro parâmetro.

OBSERVAÇÃO

Quando você define os valores de parâmetro na expressão, a guia à direita desaparece.

Use a seguinte sintaxe:

#{<datasource>.<field group>.fieldName, params: {<params-1-name>: <params-1-value>, <params-2-name>: <params-2-value>}}
  • <params-1-name>: nome exato do primeiro parâmetro da fonte de dados.
  • <params-1-value>: o valor do primeiro parâmetro. Pode ser qualquer expressão válida.

Exemplo:

#{Weather.main.temperature, params: {localisation: @{Profile.address.localisation}}}
#{Weather.main.temperature, params: {localisation: #{GPSLocalisation.main.coordinates, params: {city: @{Profile.address.city}}}}}

Nesta página