Skip to content

Planifier des Canvas déclenchés par API

post

/canvas/trigger/schedule/create

Utilisez cet endpoint pour planifier des messages Canvas via une réception/distribution déclenchée par l’API, ce qui vous permet de décider quelle action doit déclencher l’envoi du message.

Vous pouvez transmettre un context qui sera intégré dans les messages envoyés par les premières étapes du Canvas.

Notez que pour envoyer des messages avec cet endpoint, vous devez disposer d’un ID Canvas, créé lorsque vous créez un Canvas.

Conditions préalables

Pour utiliser cet endpoint, vous aurez besoin d’une clé API avec l’autorisation canvas.trigger.schedule.create.

Limite de débit

Lorsque vous utilisez des filtres Connected Audience dans votre requête, nous appliquons une limite de débit de 250 requêtes par minute à cet endpoint. Sinon, si vous spécifiez un external_id, cet endpoint présente une limite de débit par défaut de 250 000 requêtes par heure, partagée entre les endpoints documentés dans Limites de débit de l’API.

Les endpoints Braze prennent en charge le traitement par lots des requêtes API. Une seule requête aux endpoints d’envoi de messages peut atteindre n’importe lequel des éléments suivants :

  • Jusqu’à 50 external_ids spécifiques, chacun avec des paramètres de message individuels
  • Un segment d’audience de toute taille, défini dans la requête comme un objet Connected Audience

Corps de la requête

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),
  }
}

Paramètres de requête

Paramètre Requis Type de données Description
canvas_id Requis Chaîne de caractères Voir identifiant Canvas.
recipients Facultatif Tableau d’objets destinataires Voir objet destinataire.
audience Facultatif Objet audience connectée Voir audience connectée.
broadcast Facultatif Valeur booléenne Vous devez définir broadcast sur « true » lorsque vous envoyez un message à un segment entier ciblé par une campagne ou un Canvas. Ce paramètre est défini sur false par défaut (depuis le 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.
context Facultatif Objet Paires clé-valeur de personnalisation pour tous les utilisateurs de cet envoi. Voir objet de contexte Canvas.
schedule Requis Objet planification Voir objet de planification.

Exemple de requête

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
  }
}'

Réponse

Exemple de réponse réussie

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"
}
New Stuff!