Referencias de campo

Se puede adjuntar una referencia de campo a un evento o a un grupo de campos. La única información significativa es el nombre del campo y su ruta.

Si utiliza caracteres especiales en un campo, debe utilizar comillas dobles o simples. Estos son los casos en los que se necesitan comillas:

  • el campo comienza con caracteres numéricos
  • el campo comienza con el carácter "-"
  • el campo contiene cualquier cosa que no sea: a-z, A-Z, 0-9, _ , -

Por ejemplo, si el campo es 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}

En la expresión, se hace referencia a los campos de evento con "@" y a los campos de origen de datos con "#".

Se utiliza un color de sintaxis para distinguir visualmente los campos de eventos (verde) de los grupos de campos (azul).

Valores predeterminados para referencias de campo

Se puede asociar un valor predeterminado a un nombre de campo. La sintaxis es la siguiente:

// 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"}
NOTA

El tipo del campo y el valor predeterminado deben ser los mismos. Por ejemplo, @{LobbyBeacon.endUserIDs._experience.emailid.id, defaultValue : 2} no será válido porque el valor predeterminado es un número entero, mientras que el valor esperado debe ser una cadena.

Ejemplos:

// 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

Referencia de un campo dentro de colecciones

Se hace referencia a los elementos definidos dentro de las colecciones utilizando las funciones específicas de todas, primero y último. Para obtener más información, consulte esta página.

Ejemplo :

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

Referencia de un campo definido en un mapa

Para recuperar un elemento en un mapa, utilizamos la función de entrada con una clave determinada. Por ejemplo, se utiliza al definir la clave de un evento, según el espacio de nombres seleccionado. Consulte Selección del área de nombres. Para obtener más información, consulte esta página.

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

En esta expresión, se obtiene la entrada para la clave "Correo electrónico" del campo "Mapa de identidad" de un evento. La entrada "Correo electrónico" es una colección, de la que tomamos el "id" en el primer elemento utilizando "first()". Para obtener más información, consulte esta página.

Valores de parámetro de una fuente de datos (valores dinámicos de la fuente de datos)

Si selecciona un campo de una fuente de datos externa que requiere que se llame a un parámetro, aparece una nueva pestaña a la derecha para permitirle especificar este parámetro. Consulte esta página.

Para casos de uso más complejos, si desea incluir los parámetros de la fuente de datos en la expresión principal, puede definir sus valores utilizando la palabra clave params. Un parámetro puede ser cualquier expresión válida, incluso desde otra fuente de datos que también incluya otro parámetro.

NOTA

Cuando define los valores de parámetro en la expresión, la pestaña de la derecha desaparece.

Utilice la siguiente sintaxis:

#{<datasource>.<field group>.fieldName, params: {<params-1-name>: <params-1-value>, <params-2-name>: <params-2-value>}}
  • <params-1-name>: nombre exacto del primer parámetro de la fuente de datos.
  • <params-1-value>: el valor del primer parámetro. Puede ser cualquier expresión válida.

Ejemplo:

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

En esta página