Funciones de administración de colecciones
Creado para:
- Experimentado
- Desarrollador
El lenguaje de expresión también introduce un conjunto de funciones para consultar colecciones.
Estas funciones se explican a continuación. En el siguiente ejemplo, usemos la carga útil de evento que contiene una colección:
{
"_experience":{
"campaign":{
"message":{
"profile":{
"pushNotificationTokens":[
{
"token":"token_1",
"application":{
"_id":"APP1",
"name":"MarltonMobileApp",
"version":"1.0"
}
},
{
"token":"token_2",
"application":{
"_id":"APP2",
"name":"MarketplaceApp",
"version":"1.0"
}
},
{
"token":"token_3",
"application":{
"_id":"APP3",
"name":"VendorApp",
"version":"2.0"
}
}
]
}
}
}
},
"timestamp":"1536160728"
}
La función "all(<condition>
)"
La función all habilita la definición de un filtro en una colección determinada mediante una expresión booleana.
<listExpression>.all(<condition>)
Por ejemplo, entre todos los usuarios de la aplicación, puede obtener los que usan IOS 13 (expresión booleana "app used == IOS 13"). El resultado de esta función es la lista filtrada que contiene elementos que coinciden con la expresión booleana (ejemplo: usuario de aplicación 1, usuario de aplicación 34, usuario de aplicación 432).
En una actividad de condición de Data Source puede comprobar si el resultado de la función all es nulo o no. También puede combinar esta función all con otras funciones como count. Para obtener más información, consulte Actividad de la condición de Data Source.
Ejemplo 1:
Queremos comprobar si un usuario ha instalado una versión específica de una aplicación. Para esto, obtenemos todos los tokens de notificaciones push asociados con aplicaciones móviles para las que la versión es 1.0. A continuación, realizamos una condición con la función count para comprobar que la lista devuelta de tokens contiene al menos un elemento.
count(@event{LobbyBeacon._experience.campaign.message.profile.pushNotificationTokens.all(currentEventField.application.version == "1.0").token}) > 0
El resultado es true.
Ejemplo 2:
Aquí utilizamos la función count para comprobar si hay tokens de notificación push en la colección.
count(@event{LobbyBeacon._experience.campaign.message.profile.pushNotificationTokens.all().token}) > 0
El resultado será true.
count(@event{LobbyBeacon._experience.campaign.message.profile.pushNotificationTokens.token})
El resultado de la expresión es 3.
Ejemplo 3:
Aquí comprobamos si una persona no ha recibido ninguna comunicación en las últimas 24 horas. Filtramos la colección de eventos de experiencia recuperados de la fuente de datos de Experience Platform, utilizando dos expresiones basadas en dos elementos de la colección. En particular, la marca de tiempo del evento se compara con el valor dateTime devuelto por la función nowWithDelta.
count(#{ExperiencePlatform.MarltonExperience.experienceevent.all(
currentDataPackField.directMarketing.sends.value > 0 and
currentDataPackField.timestamp > nowWithDelta(-1, "days")).timestamp}) == 0
El resultado es true si no hay ningún evento de experiencia que coincida con las dos condiciones.
Ejemplo 4:
Aquí deseamos comprobar si un individuo ha iniciado al menos una aplicación en los últimos 7 días, para, por ejemplo, almacenar en déclencheur una notificación push que le invite a iniciar un tutorial.
count(
#{ExperiencePlatform.AnalyticsData.experienceevent.all(
nowWithDelta(-7,"days") <= currentDataPackField.timestamp
and currentDataPackField.application.firstLaunches.value > 0
)._id}) > 0
Las funciones "first(<condition>
)" y "last(<condition>
)"
Las funciones first y last también habilitan la definición de un filtro en la colección al devolver el primer/último elemento de la lista que cumple con el filtro.
<listExpression>.first(<condition>)
<listExpression>.last(<condition>)
Ejemplo 1:
Esta expresión devuelve el primer token de notificación push asociado a aplicaciones móviles para las que la versión es 1.0.
@event{LobbyBeacon._experience.campaign.message.profile.pushNotificationTokens.first(currentEventField.application.version == "1.0").token
El resultado es "token_1".
Ejemplo 2:
Esta expresión devuelve el último token de notificación push asociado a aplicaciones móviles para las que la versión es 1.0.
@event{LobbyBeacon._experience.campaign.message.profile.pushNotificationTokens.last(currentEventField.application.version == "1.0").token}
El resultado es "token_2".
- primera función devolverá el evento más reciente
- última función devolverá la más antigua.
Ejemplo 3:
Comprobamos si el primer evento de Adobe Analytics (el más reciente) con un valor distinto de cero para el ID de DMA tiene un valor igual a 602.
#{ExperiencePlatform.AnalyticsProd_EvarsProps.experienceevent.first(
currentDataPackField.placeContext.geo.dmaID > 0).placeContext.geo.dmaID} == 602
La función "at(<index>
)"
La función at le permite hacer referencia a un elemento específico de una colección según un índice.
El índice 0 es el primer índice de la colección.
<listExpression>
.at(<index>
)
Ejemplo:
Esta expresión devuelve el segundo token de notificación push de la lista.
@event{LobbyBeacon._experience.campaign.message.profile.pushNotificationTokens.at(1).token}
El resultado es "token_2".
Otros ejemplos
Esta expresión devuelve los nombres de producto en función del valor SKU. La lista de estos productos se incluye en la lista de eventos, con la condición de que sea el ID de evento.
#{ExperiencePlatform.ExperienceEventFieldGroup.experienceevent.all(currentDataPackField._aepgdcdevenablement2.purchase_event.receipt_nbr == "10-337-4016").
_aepgdcdevenablement2.purchase_event.productListItems.all(currentDataPackField.SKU == "AB17 1234 1775 19DT B4DR 8HDK 762").name}
Esta expresión recupera el nombre del último producto de la lista de productos de un evento de comercio donde el tipo de evento es productListAdds y el precio total es superior o igual a 150.
#{ExperiencePlatform.ExperienceEventFieldGroup.experienceevent.last(
currentDataPackField.eventType == "commerce.productListAdds").productListItems.last(currentDataPackField.priceTotal >= 150).name}
Journey Optimizer
- Documentación de Journey Optimizer
- Novedades
- Introducción
- Recorridos
- Introducción a los recorridos
- Creación de un recorrido
- Administrar los recorridos
- Actividades
- Expresiones de compilación
- Casos de uso
- Campañas
- Administración de conflictos y priorización
- Prueba y aprobación
- Canales de comunicación
- Introducción a los canales de comunicación
- Canal de correo electrónico
- Canal en la aplicación
- Canal de notificaciones push
- Canal de SMS/MMS
- Correo directo
- Canal web
- Experiencia basada en código
- Tarjetas de contenido
- Páginas de aterrizaje
- Gestión de contenido
- Asistente de IA para la generación de contenido
- Trabajo con contenido multilingüe
- Trabajo con el experimento de contenido
- Personalización
- Plantillas de contenido
- Fragmentos de contenido reutilizables
- Contenido dinámico
- Públicos, perfiles e identidad
- Integraciones
- Seguimiento y monitorización
- Informe en vivo
- Informe de todo el tiempo
- Introducción al Informe de todo el tiempo
- Configurar Customer Journey Analytics manualmente
- Administración de informes
- Requisitos previos de creación de informes y experimentación
- Informes de campaña
- Informe de campaña
- Informe de campaña basado en código
- Informe de campaña de tarjeta de contenido
- Informe de campaña de correo directo
- Informe de campaña de correo electrónico
- Informe de campaña de experimentación
- Informe de campaña in-app
- Informe de campaña de notificaciones push
- Informe de campaña de SMS
- Informe de campaña web
- Informes de recorrido
- Informe de información general
- Informe de página de aterrizaje
- Informe de la lista de suscripciones
- Informes de recorrido
- Entregabilidad
- Alertas
- Motivos de exclusión
- Capacidades de decisión
- Introducción a las capacidades de decisiones
- Toma de decisiones
- Introducción a la toma de decisiones
- Limitaciones y protecciones de decisiones
- Referencia de la API
- Administrar elementos de decisión
- Configuración de la selección de elementos
- Creación de estrategias de selección
- Creación de políticas de decisión
- Informe sobre la toma de decisiones
- Caso de uso sobre la toma de decisiones
- Gestión de decisiones
- Introducción a la Gestión de decisiones
- Crear componentes
- Crear clasificaciones de
- Creación y administración de ofertas
- Creación y administración de decisiones
- Usar toma de decisiones por lotes
- Recopilación de datos de evento
- Uso de datos de contexto
- Creación de informes de gestión de decisiones
- Exportación del catálogo de ofertas
- Referencia de API
- Introducción
- Creación y administración de ofertas mediante las API
- Entrega de ofertas mediante API
- Administración de datos
- Configuración
- Introducción a la configuración de Journey Optimizer
- Creación de configuraciones de canal
- Configuración de canales guiada
- Delegación de subdominios de correo electrónico
- Implementación de un plan de calentamiento de IP
- Supervisar las direcciones de correo electrónico
- Uso de listas semilla
- Asistencia para el archivado
- Cambio de direcciones de ejecución
- Trabajar con conjuntos de reglas
- Configurar recorridos
- Configuración de fuentes de datos, eventos y acciones
- Integración con sistemas externos
- Configuración de eventos
- Configuración de la fuente de datos
- Configuración de la acción
- Introducción a las acciones personalizadas
- Configuración de una acción personalizada
- Resolución de una acción personalizada
- Uso de respuestas de llamadas API en acciones personalizadas
- Integrar con Adobe Campaign Standard
- Integración con las versiones 7 y 8 de Adobe Campaign
- Integración con Marketo Engage
- Fuentes
- Exportación de objetos a otra zona protegida
- Control de acceso
- Privacidad