Riferimenti campo

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

Se utilizzi caratteri speciali in un campo, devi utilizzare virgolette doppie o virgolette semplici. Di seguito sono riportati i casi in cui le virgolette sono necessarie:

  • 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 è 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}

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

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

Valori predefiniti per i riferimenti di campo

È possibile associare un valore predefinito al nome di un 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 uguali. Ad esempio, @{LobbyBeacon.endUserIDs._experience.emailid.id, defaultValue : 2} non sarà valido perché il valore predefinito è un numero intero, mentre il valore previsto deve 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 nelle raccolte

Gli elementi definiti nelle raccolte vengono referenziati 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 ingresso con una chiave specifica. Ad esempio, viene utilizzato quando si definisce la chiave di un evento, in base allo spazio dei nomi selezionato. Consulta Selezione dello spazio dei nomi . Per ulteriori informazioni, consulta questa pagina.

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

In questa espressione, otteniamo la voce per la chiave "Email" del campo "IdentityMap" di un evento. La voce "Email" è una raccolta da cui prendiamo l’"id" nel primo elemento utilizzando "first()". Per ulteriori informazioni, consulta questa pagina.

Valori dei parametri di un’origine dati (valori dinamici dell’origine dati)

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

Per casi d’uso più complessi, se desideri includere i parametri dell’origine dati nell’espressione principale, puoi definirne i valori utilizzando la parola chiave params. Un parametro può essere qualsiasi espressione valida anche da un'altra origine dati che include anche un altro parametro.

NOTA

Quando definisci i valori dei parametri nell’espressione, la scheda a destra scompare.

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