Agendar Campaigns disparadas por API
Use esse endpoint para enviar mensagens de Campaign criadas no dashboard por meio de entrega disparada por API, permitindo que você decida qual ação deve disparar o envio da mensagem.
Você pode passar trigger_properties, que serão usadas como modelo na própria mensagem.
Observe que, para enviar mensagens com esse endpoint, é necessário ter um ID de Campaign, criado quando você cria uma Campaign disparada por API.
Pré-requisitos
Para usar esse endpoint, você precisará de uma chave de API com a permissão campaigns.trigger.schedule.create.
Limite de taxa
Ao usar filtros de público conectado em sua solicitação, aplicamos um limite de taxa de 250 solicitações por minuto a esse endpoint. Caso contrário, se estiver especificando um external_id, esse endpoint tem um limite de taxa padrão de 250.000 solicitações por hora compartilhado entre os endpoints documentados em Limites de taxa 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
external_idsespecíficos, cada um com parâmetros de mensagem individuais - 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
{
"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 solicitação
| Parâmetro | Obrigatório | Tipo de dados | Descrição |
|---|---|---|---|
campaign_id |
Obrigatório | String | Consulte identificador de Campaign. |
send_id |
Opcional | String | Consulte identificador de envio. |
recipients |
Opcional | Matriz de objetos de destinatários | Consulte objeto de destinatários. |
audience |
Opcional | Objeto de público conectado | Consulte público conectado. |
broadcast |
Opcional | Booleano | Você deve definir broadcast como true ao enviar uma mensagem para um Segment inteiro segmentado por uma Campaign ou Canvas. 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 esse flag de forma não intencional pode fazer com que você envie sua mensagem para um público maior do que o esperado. |
trigger_properties |
Opcional | Objeto | Pares de valores-chave de personalização para todos os usuários nesse envio. Consulte propriedades de gatilho. |
schedule |
Obrigatório | Objeto de agendamento | Consulte objeto de agendamento. |
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
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
}
}'
Resposta
Exemplo de resposta bem-sucedida
1
2
3
4
5
{
"dispatch_id": "dispatch_identifier",
"schedule_id": "schedule_identifier",
"message": "success"
}