Programar campañas desencadenadas por la API
Utiliza este punto final para enviar mensajes de campaña creados en el panel a través de una entrega desencadenada por la API, permitiéndote decidir qué acción debe desencadenar el envío del mensaje.
Puedes introducir trigger_properties
, que se incluirá como plantilla en el propio mensaje.
Ten en cuenta que para enviar mensajes con este punto final, debes tener un ID de campaña, creado al crear una campaña desencadenada por API.
Requisitos previos
Para utilizar este punto final, necesitarás una clave de API con el permiso campaigns.trigger.schedule.create
.
Límite de velocidad
Aplicamos el límite de velocidad predeterminado de Braze de 250 000 solicitudes por hora a este punto final, como se documenta en Límites de velocidad de la API.
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
{
"campaign_id": (required, string) see campaign identifier,
"send_id": (optional, string) see send identifier,
// Including 'recipients' will send only to the provided user ids if they are in the campaign's segment
"recipients": (optional, array of recipients object),
// for any keys that conflict between these trigger properties and those in a Recipients Object, the value from the Recipients Object will be used
"audience": (optional, connected audience object) see connected audience,
// Including 'audience' will only send to users in the audience
// If 'recipients' and 'audience' are not provided and broadcast is not set to 'false',
// the message will send to entire segment targeted by the campaign
"broadcast": (optional, boolean) see broadcast -- defaults to false on 8/31/17, must be set to true if "recipients" object is omitted,
"trigger_properties": (optional, object) personalization key-value pairs for all users in this send; see trigger properties,
"schedule": {
"time": (required, datetime as ISO 8601 string) time to send the message,
"in_local_time": (optional, bool),
"at_optimal_time": (optional, bool),
}
}
Parámetros de la solicitud
Parámetro | Obligatoria | Tipo de datos | Descripción |
---|---|---|---|
campaign_id |
Obligatoria | Cadena | Ver identificador de campaña |
send_id |
Opcional | Cadena | Ver identificador de envío. |
recipients |
Opcional | Matriz de objetos destinatarios | Ver objeto de destinatarios. |
audience |
Opcional | Objeto de audiencia conectado | Ver audiencia conectada. |
broadcast |
Opcional | Booleano | Debes establecer broadcast en verdadero cuando envíes un mensaje a un segmento completo al que se dirige una campaña o Canvas. Este parámetro está predeterminado como falso (a 31 de agosto de 2017). Si broadcast tiene el valor true, no se puede incluir una lista recipients . Sin embargo, ten cuidado al configurar broadcast: true , ya que si lo haces involuntariamente puede que envíes tu mensaje a una audiencia mayor de la esperada. |
trigger_properties |
Opcional | Objeto | Pares clave-valor de personalización para todos los usuarios de este envío. Ver propiedades del desencadenante. |
schedule |
Obligatoria | Objeto de programación | Ver objeto de programación. |
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/campaigns/trigger/schedule/create' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-REST-API-KEY' \
--data-raw '{
"campaign_id": "campaign_identifier",
"send_id": "send_identifier",
"recipients": [
{
"user_alias": "example_alias",
"external_user_id": "external_user_identifier",
"trigger_properties": {}
}
],
"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"
}
}
]
},
"broadcast": false,
"trigger_properties": {},
"schedule": {
"time": "",
"in_local_time": false,
"at_optimal_time": false
}
}'
Respuesta
Ejemplo de respuesta satisfactoria
1
2
3
4
5
6
7
8
Content-Type: application/json
Authorization: Bearer YOUR-API-KEY-HERE
{
{
"dispatch_id": "dispatch_identifier",
"schedule_id": "schedule_identifier",
"message": "success"
}
New Stuff!