Criar envios de mensagens programadas
Use esse ponto de extremidade para programar o envio de uma campanha, Canva ou outra mensagem em um horário designado e forneça um identificador para fazer referência a essa mensagem para atualizações.
Se estiver direcionando um segmento de mensagem, um registro da sua solicitação será armazenado no console do desenvolvedor após o envio de todas as mensagens programadas.
Se estiver interessado em enviar mensagens imediatamente para usuários designados, use o endpoint/messages/send
.
Pré-requisitos
Para usar esse endpoint, você precisará de uma chave de API com a permissão messages.schedule.create
.
Limite de taxa
Aplicamos o limite de frequência padrão da Braze de 250.000 solicitações por hora a esse endpoint, conforme documentado em Limites de frequência da API.
Os endpoints da Braze aceitam solicitações de API em lote. Uma única solicitação para os endpoints de envio de mensagens pode alcançar qualquer um dos seguintes itens:
- Até 50 sites específicos
external_ids
, cada um com parâmetros de mensagens individuais - Um segmento de qualquer tamanho criado no dashboard da Braze, especificado por seu
segment_id
- Um segmento de público de qualquer tamanho, definido na solicitação como um objeto de público conectado
Corpo da solicitação
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 solicitação
Parâmetro | Obrigatória | Tipo de dados | Descrição |
---|---|---|---|
broadcast |
Opcional | Booleano | Você deve definir broadcast como verdadeiro ao enviar uma mensagem para um segmento inteiro que uma campanha ou canva segmenta. O padrão desse parâmetro é false (a partir de 31 de agosto de 2017). Se broadcast estiver definido como true, uma lista recipients não poderá ser incluída. No entanto, tenha cuidado ao definir broadcast: true , pois definir esta flag de forma não intencional pode fazer com que você envie sua mensagem para um público maior do que o esperado. |
external_user_ids |
Opcional | Matriz de strings | Consulte identificador de usuário externo. |
user_aliases |
Opcional | Vetor de objetos de alias de usuário | Consulte o objeto de alias de usuário. |
audience |
Opcional | Objeto de público conectado | Veja público conectado. |
segment_id |
Opcional | String | Consulte identificador de segmento. |
campaign_id |
Opcional | String | Consulte identificador de campanha. |
recipients |
Opcional | Matriz de objetos de destinatários | Veja objetos de destinatários. |
send_id |
Opcional | String | Consulte enviar identificador. |
override_messaging_limits |
Opcional | Booleano | Ignorar limites globais de frequência para campanhas; o padrão é false |
recipient_subscription_state |
Opcional | String | Use essa opção para enviar mensagens apenas para usuários que tenham aceitado receber mensagens (opted_in ), apenas para usuários que tenham feito a inscrição ou aceitado receber mensagens (subscribed ) ou para todos os usuários, inclusive os que cancelaram a inscrição (all ). O uso de usuários do all é útil para envio de mensagens por e-mail de transação. O padrão é subscribed . |
schedule |
Obrigatória | Objeto de programação | Ver objeto de programação |
messages |
Opcional | Objeto de envio de mensagens | Consulte os objetos de envio de mensagens disponíveis. |
Exemplo de solicitação
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)
}
}'
Resposta
Exemplo de resposta bem-sucedida
1
2
3
4
5
{
"dispatch_id": (string) the dispatch identifier,
"schedule_id": (string) the schedule identifier,
"message": "success"
}