Agendar Canvas disparados por API
Use este endpoint para agendar mensagens do Canvas via entrega disparada por API, permitindo que você decida qual ação deve disparar o envio da mensagem.
Você pode passar context, que será aplicado como modelo nas mensagens enviadas pelas primeiras etapas do Canvas.
As propriedades de entrada do Canvas fazem parte das variáveis de contexto do Canvas. Isso significa que canvas_entry_properties é referenciado como context. Cada variável context inclui um nome, tipo de dado e um valor que pode incluir Liquid. Atualmente, canvas_entry_properties são compatíveis com versões anteriores. Para mais detalhes, consulte Contexto e objeto de contexto do Canvas.
Para enviar mensagens com este endpoint, você precisa ter um ID do Canvas, criado quando você constrói um Canvas.
Pré-requisitos
Para usar esse endpoint, você precisará de uma chave de API com a permissão canvas.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
{
"canvas_id": (required, string) see Canvas 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 Canvas
"broadcast": (optional, boolean) see broadcast -- defaults to false on 8/31/17, must be set to true if "recipients" object is omitted,
"context": (optional, object) personalization key-value pairs for the first step 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ória | Tipo de dados | Descrição |
|---|---|---|---|
canvas_id |
Obrigatória | String | Consulte identificador do Canvas. |
recipients |
Opcional | Vetor 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 segmento 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. |
context |
Opcional | Objeto | Pares de chave-valor de personalização para todos os usuários neste envio. Consulte objeto de contexto do Canvas. |
schedule |
Obrigatória | 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
curl --location --request POST 'https://rest.iad-01.braze.com/canvas/trigger/schedule/create' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-REST-API-KEY' \
--data-raw '{
"canvas_id": "canvas_identifier",
"recipients": [
{
"user_alias": "example_alias",
"external_user_id": "external_user_identifier",
"context": {}
}
],
"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,
"context": {},
"schedule": {
"time": "",
"in_local_time": false,
"at_optimal_time": false
}
}'
Resposta
Exemplo de resposta bem-sucedida
1
2
3
4
5
6
7
8
Content-Type: application/json
Authorization: Bearer YOUR-API-KEY-HERE
{
{
"dispatch_id": "dispatch_identifier",
"schedule_id": "schedule_identifier",
"message": "success"
}