Skip to content

Propiedades de entrada persistentes

Cuando un Canvas se desencadena mediante un evento personalizado, una compra o una llamada a la API, puedes usar 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 de tu Canvas. Puedes usar estas propiedades para enviar mensajes más seleccionados.

Uso de propiedades de entrada

Las propiedades de entrada pueden utilizarse en Canvas basados en acciones y activados por API. Estas propiedades de entrada se definen cuando un Canvas se desencadena mediante un evento personalizado, una compra o una llamada a la API. Consulta los siguientes artículos para obtener más información:

Las propiedades pasadas desde estos objetos pueden referenciarse utilizando la etiqueta de Liquid canvas_entry_properties. Por ejemplo, una solicitud con "canvas_entry_properties": {"product_name": "shoes", "product_price": 79.99} podría añadir la palabra “shoes” a un mensaje agregando el Liquid {{canvas_entry_properties.${product_name}}}.

Cuando un Canvas incluye un mensaje con la etiqueta de Liquid canvas_entry_properties, los valores asociados con esas propiedades se guardarán durante toda la duración del recorrido del usuario en el Canvas y se eliminarán cuando el usuario salga del Canvas. Ten en cuenta que las propiedades de entrada de Canvas solo están disponibles para referencia en Liquid. Para filtrar por las propiedades dentro del Canvas, utiliza la segmentación de propiedades del evento en su lugar.

Actualización de Canvas para usar propiedades de entrada

Si se edita un Canvas activo que anteriormente no incluía ningún mensaje que use canvas_entry_properties para incluir canvas_entry_properties, el valor correspondiente a esa propiedad no estará disponible para los usuarios que entraron al Canvas antes de que se añadiera canvas_entry_properties al Canvas. Los valores solo se guardarán para los usuarios que entren al Canvas después de que se realice el cambio.

Por ejemplo, si inicialmente lanzaste un Canvas que no usaba ninguna propiedad de entrada el 3 de noviembre, y luego añadiste una nueva propiedad product_name al Canvas el 11 de noviembre, los valores de product_name solo se guardarían para los usuarios que entraron al Canvas a partir del 11 de noviembre.

En el caso de que una propiedad de entrada de Canvas sea nula o esté vacía, puedes cancelar mensajes usando condicionales. El siguiente fragmento de código es un ejemplo de cómo podrías usar Liquid para cancelar un mensaje.

1
2
3
{% if canvas_entry_properties.${product_name} == blank %}
{% abort_message() %}
{% endif %}

Para leer más sobre la cancelación de mensajes con Liquid, consulta nuestra documentación de Liquid.

Propiedades de entrada globales de Canvas

Con canvas_entry_properties, puedes establecer propiedades globales que se aplican a todos los usuarios o propiedades específicas del usuario que solo se aplican al usuario indicado. La propiedad específica del usuario prevalecerá sobre 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
curl -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 para “food allergies” es “none”. Para Customer_123, el valor es “dairy”. Los mensajes en este Canvas que contengan el fragmento de Liquid {{canvas_entry_properties.${food_allergies}}} se renderizarán con “dairy” para Customer_123 y “none” para todos los demás.

Caso de uso

Si tienes un Canvas que se desencadena cuando un usuario explora un artículo en tu sitio de eCommerce pero no lo añade a su carrito, el primer paso del Canvas podría ser una notificación push preguntándole si está interesado en comprar el artículo. Podrías hacer referencia al nombre del producto usando {{canvas_entry_properties.${product_name}}}

Si tienes un Canvas que se desencadena cuando un usuario explora un artículo en tu sitio de eCommerce pero no lo añade a su carrito, el primer paso del Canvas podría ser una notificación push preguntándole si está interesado en comprar el artículo. Podrías hacer referencia al nombre del producto usando {{canvas_entry_properties.${product_name}}}.

El segundo paso puede enviar otra notificación push indicándole al usuario que finalice la compra si añadió el artículo a su carrito pero aún no lo ha comprado. Puedes seguir haciendo referencia a la propiedad de entrada product_name usando {{canvas_entry_properties.${product_name}}}.

Captura de pantalla relacionada con el caso de uso.

Solución de problemas

Las propiedades de entrada están vacías con múltiples desencadenantes de entrada

Braze almacena canvas_entry_properties del desencadenante que hizo entrar a este usuario, no de cada desencadenante configurado en el Canvas. Si ese desencadenante no tiene un evento o carga útil de API —por ejemplo, Start Session o Change Custom Attribute Value—, el Liquid canvas_entry_properties estará vacío para ese recorrido. Los usuarios que entran al mismo Canvas desde un evento personalizado, una compra o una llamada a la API sí tendrán las propiedades de esa carga útil.

Para mantener las propiedades de entrada con datos para cada usuario, usa únicamente tipos de entrada que pasen esas propiedades (evento personalizado, compra o desencadenado por API). Para la personalización en el editor actual de Canvas, usa las propiedades de contexto y de evento. Para filtrar por propiedades, usa la segmentación por propiedades de evento en lugar de Liquid canvas_entry_properties.

New Stuff!