Crear mensajes programados
Utiliza este punto final para programar el envío de una campaña, Canvas u otro mensaje a una hora determinada, y te proporciona un identificador para hacer referencia a ese mensaje en las actualizaciones.
Si te diriges a un segmento, se almacenará un registro de tu solicitud en la Consola para desarrolladores después de que se hayan enviado todos los mensajes programados.
Si te interesa enviar mensajes inmediatamente a usuarios designados, utiliza en su lugar el punto final/messages/send
.
Requisitos previos
Para utilizar este punto final, necesitarás una clave de API con el permiso messages.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
19
20
21
22
23
24
25
26
27
28
29
30
{
// You will need to include at least one of 'segment_id', 'external_user_ids', and 'audience'
// Including 'segment_id' will send to members of that segment
// Including 'external_user_ids' and/or 'user_aliases' will send to those users
// Including both a Segment and users will send to the provided users if they are in the segment
"broadcast": (optional, boolean) see broadcast -- defaults to false on 8/31/17, must be set to true if users are not specified,
"external_user_ids": (optional, array of strings) see external user identifier,
"user_aliases": (optional, array of user alias object) see user alias,
"audience": (optional, connected audience object) see connected audience,
"segment_id": (optional, string) see segment identifier,
"campaign_id": (optional, string) see campaign identifier,
"send_id": (optional, string) see send identifier,
"override_messaging_limits": (optional, bool) ignore frequency capping rules, defaults to false,
"recipient_subscription_state": (optional, string) use this to send messages to only users who have opted in ('opted_in'), only users who have subscribed or are opted in ('subscribed') or to all users, including unsubscribed users ('all'), the latter being useful for transactional email messaging. Defaults to 'subscribed',
"schedule": {
"time": (required, datetime as ISO 8601 string) time to send the message in UTC,
"in_local_time": (optional, bool),
"at_optimal_time": (optional, bool),
},
"messages": {
"apple_push": (optional, apple push object),
"android_push": (optional, android push object),
"kindle_push": (optional, kindle/fireOS push object),
"web_push": (optional, web push object),
"email": (optional, email object),
"webhook": (optional, webhook object),
"content_card": (optional, content card object),
"sms": (optional, SMS object)
}
}
Parámetros de la solicitud
Parámetro | Obligatoria | Tipo de datos | Descripción |
---|---|---|---|
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. |
external_user_ids |
Opcional | Matriz de cadenas | Ver identificador de usuario externo. |
user_aliases |
Opcional | Matriz de objetos alias de usuario | Ver objeto alias de usuario. |
audience |
Opcional | Objeto de audiencia conectado | Ver audiencia conectada. |
segment_id |
Opcional | Cadena | Ver identificador de segmento. |
campaign_id |
Opcional | Cadena | Ver identificador de campaña. |
recipients |
Opcional | Matriz de objetos destinatarios | Ver objeto de destinatarios. |
send_id |
Opcional | Cadena | Ver identificador de envío. |
override_messaging_limits |
Opcional | Booleano | Ignora los límites de velocidad globales para las campañas, predeterminado a falso |
recipient_subscription_state |
Opcional | Cadena | Utiliza esta opción para enviar mensajes solo a los usuarios que se hayan adherido voluntariamente (opted_in ), solo a los usuarios que se hayan suscrito o estén adheridos voluntariamente (subscribed ) o a todos los usuarios, incluidos los que hayan cancelado la suscripción (all ). El uso de all usuarios es útil para la mensajería transaccional por correo electrónico. De forma predeterminada, subscribed . |
schedule |
Obligatoria | Objeto de programación | Ver objeto de programación |
messages |
Opcional | Objeto de mensajería | Consulta los objetos de mensajería disponibles. |
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
69
70
71
72
73
74
75
curl --location --request POST 'https://rest.iad-01.braze.com/messages/schedule/create' \
--data-raw '{
"broadcast": "false",
"external_user_ids": "external_user_identifiers",
"user_aliases": {
"alias_name" : "example_name",
"alias_label" : "example_label"
},
"segment_id": "segment_identifiers",
"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"
}
}
]
},
"campaign_id": "campaign_identifier",
"send_id": "send_identifier",
"override_messaging_limits": false,
"recipient_subscription_state": "subscribed",
"schedule": {
"time": "",
"in_local_time": true,
"at_optimal_time": true
},
"messages": {
"apple_push": (optional, Apple Push Object),
"android_push": (optional, Android Push Object),
"kindle_push": (optional, Kindle/FireOS Push Object),
"web_push": (optional, Web Push Object),
"email": (optional, Email object)
"webhook": (optional, Webhook object)
"content_card": (optional, Content Card Object)
}
}'
Respuesta
Ejemplo de respuesta satisfactoria
1
2
3
4
5
{
"dispatch_id": (string) the dispatch identifier,
"schedule_id": (string) the schedule identifier,
"message": "success"
}