Skip to content

Envía mensajes Canvas utilizando la entrega desencadenada por API

postcore_endpoint|https://www.braze.com/docs/core_endpoints

/canvas/trigger/send

Utiliza este punto final para enviar mensajes Canvas con entrega desencadenada por la API.

La entrega desencadenada por la API te permite almacenar el contenido de los mensajes en el panel Braze, al tiempo que dictas cuándo se envía un mensaje y a quién mediante tu API.

Para poder enviar mensajes con este punto final, debes tener un ID de Canvas (que se crea cuando construyes un Canvas).

Requisitos previos

Para utilizar este punto final, deberás generar una clave de API con el permiso canvas.trigger.send.

Límite de velocidad

Cuando utilizas filtros de audiencia conectada en tu solicitud, aplicamos un límite de velocidad de 250 solicitudes por minuto a este punto final. De lo contrario, si se especifica un external_id, este punto final tiene un límite de velocidad predeterminado de 250 000 solicitudes por hora compartido entre /messages/send, /campaigns/trigger/send y /canvas/trigger/send, como se documenta en Límites de velocidad de la API.

Los puntos finales de Braze admiten solicitudes de API por lotes. Una única solicitud a los puntos finales de mensajería puede llegar a cualquiera de los siguientes:

  • Hasta 50 external_ids específicos, cada uno con parámetros de mensaje individuales
  • Un segmento de audiencia de cualquier tamaño, definido en la solicitud como un objeto de audiencia conectada

Los puntos finales de Braze admiten solicitudes de API por lotes. Una única solicitud a los puntos finales de mensajería puede llegar a cualquiera de los siguientes:

  • Hasta 50 external_ids específicos, cada uno con parámetros de mensaje individuales
  • Un segmento de audiencia de cualquier tamaño, definido en la solicitud como un objeto de audiencia conectada

Cuerpo de la solicitud

1
2
Content-Type: application/json
Authorization: Bearer YOUR-REST-API-KEY
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
  "canvas_id": (required, string) see Canvas identifier,
  "context": (optional, object) personalization key-value pairs that apply to all users in this request,
  "broadcast": (optional, boolean) see Broadcast -- defaults to false on 8/31/17, must be set to true if `recipients` is omitted,
  "audience": (optional, connected audience object) see connected audience,
  // Including 'audience' will only send to users in the audience
  "recipients": (optional, array; if not provided and broadcast is not set to 'false', message sends to the entire segment targeted by the Canvas)
    [{
      // Either "external_user_id" or "user_alias" or "email" is required. Requests must specify only one.
      "user_alias": (optional, user alias object) user alias of user to receive message,
      "external_user_id": (optional, string) external identifier of user to receive message,
      "email": (optional, string) email address of user to receive message,
      "prioritization": (optional, array) prioritization array; required when using email,
      "context": (optional, object) personalization key-value pairs that apply to this user (these key-value pairs override any keys that conflict with the parent `context`)
      "send_to_existing_only": (optional, boolean) defaults to true, can't be used with user aliases
      "attributes": (optional, object) fields in the attributes object create or update an attribute of that name with the given value on the specified user profile before the message is sent and existing values are overwritten
    }],
    ...
}

Parámetros de la solicitud

Ejemplo de solicitud

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
curl --location --request POST 'https://rest.iad-01.braze.com/canvas/trigger/send' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-REST-API-KEY' \
--data-raw '{
  "canvas_id": "canvas_identifier",
  "context": {"product_name" : "shoes", "product_price" : 79.99},
  "broadcast": false,
  "audience": {
    "AND": [
      {
        "custom_attribute": {
          "custom_attribute_name": "eye_color",
          "comparison": "equals",
          "value": "blue"
        }
      },
      {
        "custom_attribute": {
          "custom_attribute_name": "favorite_foods",
          "comparison": "includes_value",
          "value": "pizza"
        }
      },
      {
        "OR": [
          {
            "custom_attribute": {
              "custom_attribute_name": "last_purchase_time",
              "comparison": "less_than_x_days_ago",
              "value": 2
            }
          },
          {
            "push_subscription_status": {
              "comparison": "is",
              "value": "opted_in"
            }
          }
        ]
      },
      {
        "email_subscription_status": {
          "comparison": "is_not",
          "value": "subscribed"
        }
      },
      {
        "last_used_app": {
          "comparison": "after",
          "value": "2019-07-22T13:17:55+0000"
        }
      }
    ]
  },
  "recipients": [
    {
      "user_alias": {
        "alias_name" : "example_name",
        "alias_label" : "example_label"
      },
      "external_user_id": "user_identifier",
      "send_to_existing_only": true,
      "attributes": {
          "first_name" : "Alex"
      }
    }
  ]
}'

Detalles de la respuesta

Las respuestas de los puntos finales de envío de mensajes incluyen el mensajedispatch_idpara poder hacer referencia al envío del mensaje. El dispatch_id es el ID del envío del mensaje (ID único para cada “transmisión” enviada desde la plataforma Braze). Echa un vistazo al comportamiento de Dispatch ID para obtener más información.

Ejemplo de respuesta positiva

El código de estado 201 podría devolver el siguiente cuerpo de respuesta. Si el Canvas está archivado, detenido o en pausa, no se envía a través de este punto final.

1
2
3
4
5
{
  "notice": "The Canvas is paused. Resume the Canvas to ensure trigger requests will take effect.",
  "dispatch_id": "example_dispatch_id",
  "message": "success"
}

Si tu Canvas está archivado, verás estenoticemensaje: “El Canvas” está archivado. Desarchiva el Canvas para asegurarte de que las solicitudes de desencadenamiento surtan efecto”. Si tu Canvas no está activo, verás estenoticemensaje: “El Canvas” está en pausa. Reanuda el Canvas para asegurarte de que las peticiones desencadenadas surtan efecto”.

Si tu solicitud encuentra un error fatal, consulta Errores y respuestas para ver el código de error y la descripción.

Consideraciones

Ten en cuenta lo siguiente al realizar llamadas a la API para enviar mensajes de Canvas mediante la entrega activada por la API:

  • Envío a usuarios existentes: Cuandosend_to_existing_only se establece entrue (el valor predeterminado), el mensaje solo se envía a los usuarios existentes en Braze.
  • Creación de nuevos usuarios: Cuando la send_to_existing_onlyconfiguración de está establecida en false, debes incluir unattributesobjeto . Si no existe un usuario con el ID especificado, Braze crea un usuario con ese ID y esos atributos antes de enviar el mensaje.
  • Limitación de alias de usuario: Lasend_to_existing_onlybandera no se puede utilizar con alias de usuario. Para enviar a un usuario que solo tiene un alias de usuario, este debe existir ya en Braze.
  • Segmentación por segmentos: Elsegment_idparámetro no es compatible con este punto final. Para dirigirte a un segmento, configúralo en la configuración de audiencia objetivo del Canvas en el panel de Braze y utiliza broadcast: true, o utiliza elaudienceparámetro con los filtros de audiencia de Connected Audience.
  • Focalización combinada: Cuando incluyes tanto elrecipientsparámetro como configurar un segmento de destino en el panel, el mensaje solo se envía a los perfiles de usuario que se especifican en la llamada a la API y que también coinciden con los filtros del segmento.
  • Llamadas de servidor a servidor: Si estás realizando llamadas de servidor a servidor, es posible que tengas que incluir la URL de la API correspondiente en la lista de permitidos si estás protegido por un cortafuegos.

Objeto de atribución para Canvas

Utiliza el objeto de mensajería attributes para añadir, crear o actualizar atributos y valores de un usuario antes de enviarle un Canvas desencadenado por la API utilizando el punto final canvas/trigger/send. Esta llamada a la API procesa el objeto de atributos del usuario antes de procesar y enviar el Canvas. Esto ayuda a minimizar el riesgo de problemas causados por condiciones de carrera. Sin embargo, por defecto, los grupos de suscripción no pueden actualizarse de esta forma.

New Stuff!