Referências de campo

Uma referência de campo pode ser anexada a um evento ou grupo de campos. As únicas informações significativas são o nome do campo e seu caminho.

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

  • o campo começa com caracteres numéricos
  • o campo começa com o caractere "-"
  • o campo contém qualquer coisa diferente de: a-z, A-Z, 0-9, _ , -

Por exemplo, se o 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 de evento são referenciados com "@" e os campos da fonte de dados são referenciados com "#".

Uma cor de sintaxe é usada para distinguir 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 iguais. Por exemplo, @{LobbyBeacon.endUserIDs._experience.emailid.id, defaultValue : 2} será inválido porque o valor padrão é um número inteiro, enquanto o valor esperado deve ser uma cadeia de caracteres.

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

Você pode adicionar qualquer tipo de expressão como valor padrão. A única restrição é que a expressão retorne o tipo de dados esperado. Ao usar uma função, é necessário encapsular a função com ().

#{ExperiencePlatform.Subscriptions.profile.consents.marketing.any.time, defaultValue : (now())}
== date("2022-02-10T00:00:00Z")

Referência a um campo em coleções

Os elementos definidos nas coleções são referenciados usando as funções específicas all, first e last. Para obter mais informações, consulte esta página.

Exemplo :

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

Referência a um campo definido em um mapa

Função entry

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 o namespace selecionado. Consulte Seleção do namespace. Para obter mais informações, consulte esta página.

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

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

Função firstEntryKey

Para recuperar a primeira chave de entrada de um mapa, use o firstEntryKey .

Este exemplo mostra como recuperar o primeiro endereço de email dos assinantes de uma lista específica:

#{ExperiencePlatform.Subscriptions.profile.consents.marketing.email.subscriptions.entry('daily-email').subscribers.firstEntryKey()}

Neste exemplo, a lista de assinaturas é nomeada daily-email. Os endereços de email são definidos como chaves na variável subscribers , que é vinculado ao mapa de lista de assinaturas.

Função keys

Para recuperar todas as chaves de um mapa, use o keys .

Este exemplo mostra como recuperar, para um perfil específico, todos os endereços de email associados aos assinantes de uma lista específica:

#{ExperiencePlatform.Subscriptions.profile.consents.marketing.email.subscriptions.entry('daily-mail').subscribers.keys()

Valores de parâmetros 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 dos parâmetros 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