Propiedades de entrada persistentes
Cuando un lienzo se activa mediante un evento personalizado, una compra o una llamada a la API, puede utilizar los metadatos de la llamada a la API, el evento personalizado o el evento de compra para la personalización en cada paso del flujo de trabajo del lienzo. Puedes utilizar estas propiedades para enviar mensajes más seleccionados.
Las propiedades de entrada persistentes son un artefacto del editor Canvas original, por lo que hay referencias obsoletas a términos como «propiedades de entrada de Canvas» que se mantienen como referencia histórica. Para obtener información sobre la versión actualizada del editor Canvas, consulta Propiedades de contexto y propiedades del evento.
Uso de las propiedades de entrada
Las propiedades de entrada pueden utilizarse en lienzos basados en acciones y activados por API. Estas propiedades de entrada se definen cuando un Canvas es activado por un evento personalizado, una compra o una llamada a la API. Consulte los siguientes artículos para obtener más información:
Las propiedades pasadas desde estos objetos pueden ser referenciadas utilizando la etiqueta canvas_entry_properties Liquid. Por ejemplo, una solicitud con \"canvas_entry_properties\" : {\"product_name\" : \"shoes\", \"product_price\" : 79.99} podría añadir la palabra “zapatos” a un mensaje añadiendo {{canvas_entry_properties.${product_name}}} de Liquid.
Cuando un lienzo incluye un mensaje con la etiqueta canvas_entry_properties Liquid, los valores asociados a esas propiedades se guardarán mientras dure el recorrido del usuario en el lienzo y se borrarán cuando el usuario salga del lienzo. Tenga en cuenta que las propiedades de entrada de Canvas sólo están disponibles como referencia en Liquid. Para filtrar las propiedades dentro del lienzo, utilice la segmentación de propiedades de eventos.
El objeto Propiedades de entrada del lienzo tiene un límite de tamaño máximo de 50 KB.
Actualización de Canvas para utilizar propiedades de entrada
Si un lienzo activo que anteriormente no incluía ningún mensaje que utilizara canvas_entry_properties se edita para incluir canvas_entry_properties, el valor correspondiente a esa propiedad no estará disponible para los usuarios que entraron en el lienzo antes de que se añadiera canvas_entry_properties al lienzo. Los valores sólo se guardarán para los usuarios que entren en el Lienzo después de realizar el cambio.
Por ejemplo, si inicialmente lanzó un lienzo que no utilizaba ninguna propiedad de entrada el 3 de noviembre, y luego añadió una nueva propiedad product_name al lienzo el 11 de noviembre, los valores de product_name sólo se guardarían para los usuarios que entraran en el lienzo a partir del 11 de noviembre.
En el caso de que una propiedad de entrada del Lienzo sea nula o esté en blanco, puede abortar los mensajes utilizando condicionales. El siguiente fragmento de código es un ejemplo de cómo utilizar Liquid para abortar un mensaje.
1
2
3
{% if canvas_entry_properties.${product_name} == blank %}
{% abort_message() %}
{% endif %}
Para saber más sobre cómo anular mensajes con Liquid, consulta nuestra documentación sobre Liquid.
Propiedades globales de la entrada Canvas
Con canvas_entry_properties, puede establecer propiedades globales que se apliquen a todos los usuarios o propiedades específicas de usuario que sólo se apliquen al usuario especificado. La propiedad específica del usuario sustituirá a la propiedad global para ese usuario.
Ejemplo de solicitud
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
url -X POST \
-H 'Content-Type:application/json' \
-d '{
"api_key": "a valid rest api key",
"canvas_id": "the ID of your Canvas",
"canvas_entry_properties": {
"food_allergies": "none"
},
"recipients": [
{
"external_user_id": Customer_123,
"canvas_entry_properties": {
"food_allergies": ["dairy", "soy"],
"nutrition": {
"calories_per_serving": 200,
"serving_size_in_ounces": 4
}
}
}
]
}' \
En esta solicitud, el valor global de “alergias alimentarias” es “ninguna”. PorqueCustomer_123,el valor es «lácteos». Los mensajes de este Canvas que contengan el fragmento de {{canvas_entry_properties.${food_allergies}}}código Liquid utilizarán la plantilla «dairy» paraCustomer_123 y «none» para todos los demás.
Casos de uso
Si tienes un Canvas que se desencadena cuando un usuario navega por un artículo en tu sitio de comercio electrónico pero no lo añade a su cesta, el primer paso del Canvas podría ser una notificación push preguntándole si está interesado en comprar el artículo. Puede hacer referencia al nombre del producto utilizando {{canvas_entry_properties.${product_name}}}

El segundo paso puede enviar otra notificación push para pedir al usuario que realice el pago si ha añadido el artículo a su cesta pero aún no lo ha comprado. Puede seguir haciendo referencia a la propiedad de entrada product_name utilizando {{canvas_entry_properties.${product_name}}}.

Editar esta página en GitHub