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 en false. Si broadcast está configurado como true, no se puede incluir una lista de destinatarios. 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. |
send_id |
Opcional | Cadena | Ver identificador de envío. |
override_messaging_limits |
Opcional | Booleano | Ignora la limitación de frecuencia 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"
}
Editar esta página en GitHub