Enviar mensagens do Canvas usando entrega acionada por API
Use este endpoint para enviar mensagens do Canvas com entrega acionada por API.
A entrega acionada por API permite que você armazene o conteúdo da mensagem no dashboard da Braze enquanto determina quando uma mensagem é enviada e para quem usando sua API.
Antes de enviar mensagens com esse endpoint, você deve ter um ID do Canvas (que é criado quando você constrói um Canvas).
Pré-requisitos
Para usar esse endpoint, você precisará gerar uma chave de API com a permissão canvas.trigger.send.
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
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
19
{
"canvas_id": (required, string) see Canvas identifier,
"context": (optional, object) personalization key-value pairs that apply to all users in this request,
"broadcast": (optional, boolean) see Broadcast -- defaults to false on 8/31/17, must be set to true if `recipients` is omitted,
"audience": (optional, connected audience object) see connected audience,
// Including 'audience' will only send to users in the audience
"recipients": (optional, array; if not provided and broadcast is not set to 'false', message sends to the entire segment targeted by the Canvas)
[{
// Either "external_user_id" or "user_alias" or "email" is required. Requests must specify only one.
"user_alias": (optional, user alias object) user alias of user to receive message,
"external_user_id": (optional, string) external identifier of user to receive message,
"email": (optional, string) email address of user to receive message,
"prioritization": (optional, array) prioritization array; required when using email,
"context": (optional, object) personalization key-value pairs that apply to this user (these key-value pairs override any keys that conflict with the parent `context`)
"send_to_existing_only": (optional, boolean) defaults to true, can't be used with user aliases
"attributes": (optional, object) fields in the attributes object create or update an attribute of that name with the given value on the specified user profile before the message is sent and existing values are overwritten
}],
...
}
Parâmetros de solicitação
| Parâmetro | Obrigatória | Tipo de dados | Descrição |
|---|---|---|---|
canvas_id |
Obrigatória | String | Consulte Identificador do Canvas. |
context |
Opcional | Objeto | Inclui as propriedades de entrada do Canvas. Os pares de chave-valor de personalização se aplicam a todos os usuários nesta solicitação. O objeto de contexto pode ter até 50 KB. |
broadcast |
Opcional | Booleano | Você deve definir broadcast como true ao enviar uma mensagem para todo o segmento configurado como o público-alvo do Canvas no dashboard da Braze. 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 essa flag inadvertidamente pode fazer com que você envie sua mensagem para um público maior do que o esperado. |
audience |
Opcional | Objeto de público conectado | Consulte Público conectado. Quando você inclui audience, a mensagem é enviada apenas para usuários que correspondem aos filtros definidos, como atributos personalizados e status de inscrição. |
recipients |
Opcional | Vetor | Consulte o objeto Recipients. Se não fornecido e broadcast estiver definido como true, a mensagem é enviada para todo o segmento configurado como o público-alvo do Canvas no dashboard da Braze.O vetor recipients pode conter até 50 objetos, com cada objeto contendo uma única string external_user_id e um objeto canvas_entry_properties. Esta chamada requer um external_user_id, user_alias ou email. As solicitações devem especificar apenas um. Se email for o identificador, você deve incluir prioritization no objeto de destinatários. |
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/canvas/trigger/send' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-REST-API-KEY' \
--data-raw '{
"canvas_id": "canvas_identifier",
"context": {"product_name" : "shoes", "product_price" : 79.99},
"broadcast": false,
"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"
}
}
]
},
"recipients": [
{
"user_alias": {
"alias_name" : "example_name",
"alias_label" : "example_label"
},
"external_user_id": "user_identifier",
"send_to_existing_only": true,
"attributes": {
"first_name" : "Alex"
}
}
]
}'
Detalhes da resposta
As respostas do endpoint de envio de mensagens incluem o dispatch_id da mensagem para referência ao despacho da mensagem. O dispatch_id é o ID do despacho de mensagens (ID exclusivo para cada “transmissão” enviada da plataforma Braze). Para saber mais, consulte Comportamento do Dispatch ID.
Exemplo de resposta bem-sucedida
O código de status 201 pode retornar o seguinte corpo de resposta. Se o Canvas estiver arquivado, parado ou pausado, ele não é enviado por meio deste endpoint.
1
2
3
4
5
{
"notice": "The Canvas is paused. Resume the Canvas to ensure trigger requests will take effect.",
"dispatch_id": "example_dispatch_id",
"message": "success"
}
Se o seu Canvas estiver arquivado, você verá esta mensagem notice: “The Canvas is archived. Unarchive the Canvas to ensure trigger requests will take effect.” Se o seu Canvas não estiver ativo, você verá esta mensagem notice: “The Canvas is paused. Resume the Canvas to ensure trigger requests will take effect.”
Se sua solicitação encontrar um erro fatal, consulte Erros e respostas para obter o código e a descrição do erro.
Considerações
Considere o seguinte ao fazer chamadas de API para enviar mensagens do Canvas usando entrega acionada por API:
- Envio para usuários existentes: Quando
send_to_existing_onlyestá definido comotrue(o padrão), a mensagem é enviada apenas para usuários existentes na Braze. - Criação de novos usuários: Quando
send_to_existing_onlyestá definido comofalse, você deve incluir um objetoattributes. Se um usuário com o ID especificado não existir, a Braze cria um usuário com esse ID e atributos antes de enviar a mensagem. - Limitação de alias de usuário: A flag
send_to_existing_onlynão pode ser usada com aliases de usuário. Para enviar para um usuário que possui apenas um alias, o usuário já deve existir na Braze. - Direcionamento de segmento: O parâmetro
segment_idnão é suportado para este endpoint. Para direcionar um segmento, configure o segmento nas configurações de público-alvo do Canvas no dashboard da Braze e usebroadcast: true, ou use o parâmetroaudiencecom filtros de Público conectado. - Direcionamento combinado: Quando você inclui tanto o parâmetro
recipientsquanto configura um segmento alvo no dashboard, a mensagem é enviada apenas para os perfis de usuário que estão especificados na chamada da API e que também correspondem aos filtros do segmento. - Chamadas de servidor para servidor: Se você estiver fazendo chamadas de servidor para servidor, pode ser necessário adicionar a URL da API apropriada à lista de permissões se você estiver atrás de um firewall.
Objeto de atributos para Canvas
Use o objeto de envio de mensagens attributes para adicionar, criar ou atualizar atributos e valores para um usuário antes de enviar um Canvas acionado por API usando o endpoint canvas/trigger/send. Esta chamada de API processa o objeto de atributos do usuário antes de processar e enviar o Canvas. Isso ajuda a minimizar o risco de problemas causados por condições de corrida. No entanto, por padrão, os grupos de inscrições não podem ser atualizados dessa forma.
Procurando a versão de Campaign deste endpoint? Confira Envio de mensagens de Campaign usando entrega acionada por API.