Créer des messages planifiés
Cet endpoint permet de planifier l’envoi d’une campagne, d’un Canvas ou d’un autre message à une heure donnée et fournit un identifiant permettant de référencer ce message pour les mises à jour.
Si vous ciblez un segment, un enregistrement de votre demande sera stocké dans la console de développement après l’envoi de tous les messages planifiés.
Si vous souhaitez envoyer des messages immédiatement à des utilisateurs désignés, utilisez plutôt l’ endpoint/messages/send
.
Conditions préalables
Pour utiliser cet endpoint, vous aurez besoin d’une clé API avec l’autorisation messages.schedule.create
.
Limite de débit
We apply the default Braze rate limit of 250,000 requests per hour to this endpoint, as documented in API rate limits.
Braze endpoints support batching API requests. A single request to the messaging endpoints can reach any of the following:
- Up to 50 specific
external_ids
, each with individual message parameters - A segment of any size created in the Braze dashboard, specified by its
segment_id
- An audience segment of any size, defined in the request as a connected audience object
Corps de la demande
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)
}
}
Paramètres de demande
Paramètre | Requis | Type de données | Description |
---|---|---|---|
broadcast |
Facultatif | Valeur booléenne | Vous devez définir broadcast sur « true » lorsque vous envoyez un message à un segment entier qui est ciblé par une campagne ou un Canvas. Ce paramètre est défini sur Faux par défaut (au 31 août 2017). Si broadcast est défini sur « true », une liste recipients ne peut pas être incluse. Cependant, faites attention lors de la configuration de broadcast: true car en configurant involontairement cet indicateur, vous pourriez envoyer votre message à une audience plus importante que prévue. |
external_user_ids |
Facultatif | Tableau de chaînes de caractères | Voir identifiant d’utilisateur externe. |
user_aliases |
Facultatif | Tableau des objets Alias utilisateur | Voir l’objet alias d’utilisateur. |
audience |
Facultatif | Objet Audience connectée | Voir audience connectée. |
segment_id |
Facultatif | Chaîne de caractères | Voir identifiant de segmentation. |
campaign_id |
Facultatif | Chaîne de caractères | Voir identifiant de campagne. |
recipients |
Facultatif | Tableau des objets Destinataires | Voir objet destinataire. |
send_id |
Facultatif | Chaîne de caractères | Voir identifiant d’envoi. |
override_messaging_limits |
Facultatif | Valeur booléenne | Ignorer les limites de débit globales pour les campagnes, définies sur Faux par défaut |
recipient_subscription_state |
Facultatif | Chaîne de caractères | Utilisez cette option pour envoyer des messages uniquement aux utilisateurs qui ont confirmé l’abonnement (opted_in ), aux utilisateurs qui ont souscrit à ou confirmé l’abonnement (subscribed ) ou à tous les utilisateurs, y compris les utilisateurs désabonnés (all ). Appliquer l’option all pour les utilisateurs est utile pour les e-mails transactionnels. Par défaut, subscribed . |
schedule |
Requis | Objet Planification | Voir objet de planification |
messages |
Facultatif | Objet Messagerie | Voir les objets de messagerie disponibles. |
Exemple de demande
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)
}
}'
Réponse
Exemple de réponse réussie
1
2
3
4
5
{
"dispatch_id": (string) the dispatch identifier,
"schedule_id": (string) the schedule identifier,
"message": "success"
}