Riferimenti campo

Un riferimento a un campo può essere allegato a un evento o a un gruppo di campi. L’unica informazione significativa è il nome del campo e il relativo percorso.

Se si utilizzano caratteri speciali in un campo, è necessario utilizzare virgolette doppie o virgolette semplici. Di seguito sono riportati i casi in cui sono necessarie delle virgolette:

  • il campo inizia con caratteri numerici
  • il campo inizia con il carattere "-"
  • il campo contiene elementi diversi da: a-z, A-Z, 0-___9, , -

Ad esempio, se il campo è di 3 ore: #{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}

Nell'espressione, ai campi dell'evento viene fatto riferimento con "@" e ai campi dell'origine dati viene fatto riferimento con "#".

Un colore della sintassi viene utilizzato per distinguere visivamente i campi evento (verde) dai gruppi di campi (blu).

Valori predefiniti per i riferimenti di campo

Un valore predefinito può essere associato a un nome di campo. La sintassi è la seguente:

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

Il tipo di campo e il valore predefinito devono essere identici. Ad esempio, @{LobbyBeacon.endUserIDs._experience.emailid.id, defaultValue : 2} non sarà valido perché il valore predefinito è un numero intero, mentre il valore previsto dovrebbe essere una stringa.

Esempi:

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

Riferimento di un campo all'interno delle raccolte

Agli elementi definiti all'interno delle raccolte viene fatto riferimento utilizzando le funzioni specifiche all, first e last. Per ulteriori informazioni, consulta questa pagina.

Esempio :

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

Riferimento a un campo definito in una mappa

Per recuperare un elemento in una mappa, utilizziamo la funzione di immissione con una data chiave. Ad esempio, viene utilizzato quando si definisce la chiave di un evento, in base allo spazio dei nomi selezionato. Vedere Selezione dello spazio dei nomi. Per ulteriori informazioni, consultate questa pagina.

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

In questa espressione, è disponibile la voce per la chiave ‘Email’ del campo ‘IdentityMap’ di un evento. La voce "E-mail" è una raccolta, dalla quale prendiamo l'"id" nel primo elemento utilizzando "first()". Per ulteriori informazioni, consultate questa pagina.

Valori di parametro di un'origine dati (valori dinamici dell'origine dati)

Se si seleziona un campo da un'origine dati esterna che richiede la chiamata di un parametro, viene visualizzata una nuova scheda a destra che consente di specificare questo parametro. Consulta questa pagina.

For more complex use cases, if you want to include the parameters of the data source in the main expression, you can define their values using the keyword params. Un parametro può essere una qualsiasi espressione valida anche da un'altra origine dati che include anche un altro parametro.

Nota

Quando definite i valori dei parametri nell'espressione, la scheda a destra scompare.

Utilizzate la sintassi seguente:

#{<datasource>.<field group>.fieldName, params: {<params-1-name>: <params-1-value>, <params-2-name>: <params-2-value>}}
  • <params-1-name>: nome esatto del primo parametro dall'origine dati.
  • <params-1-value>: il valore del primo parametro. Può essere una qualsiasi espressione valida.

Esempio:

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

In questa pagina