Passer au contenu

Planifier des campagnes déclenchées par API

post

/campaigns/trigger/schedule/create

Utilisez cet endpoint pour envoyer des messages de campagne créés dans le tableau de bord via une distribution déclenchée par API. Vous pouvez ainsi choisir l’action qui déclenchera l’envoi du message.

Vous pouvez transmettre des trigger_properties qui seront intégrées au modèle du message lui-même.

Notez que pour envoyer des messages avec cet endpoint, vous devez disposer d’un ID de campagne, généré lorsque vous créez une campagne déclenchée par API.

Conditions préalables

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

Limite de débit

Lorsque vous utilisez des filtres d’audience connectée dans votre requête, cet endpoint a une limite de débit de 250 requêtes par minute. Sinon, si vous spécifiez un external_id, cet endpoint a une limite de débit par défaut de 250 000 requêtes par heure, partagée entre les endpoints indiqués dans Limites de débit de l’API.

Cet endpoint prend en charge le traitement par lots des requêtes API. Une seule requête peut contenir l’un des éléments suivants :

Corps de la requête

Content-Type: application/json
Authorization: Bearer YOUR-REST-API-KEY
{
  "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),
  }
}

Paramètres de la requête

Paramètre Requis Type de données Description
campaign_id Requis Chaîne de caractères Voir identifiant de campagne.
send_id Facultatif Chaîne de caractères Voir identifiant d’envoi.
recipients Facultatif Tableau d’objets destinataires Voir objet destinataire.
audience Facultatif Objet audience connectée Voir audience connectée.
broadcast Facultatif Booléen Vous devez définir broadcast sur true lorsque vous envoyez un message à l’ensemble d’un segment 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, vous ne pouvez pas inclure de liste recipients. Soyez toutefois prudent lorsque vous définissez broadcast: true : activer cet indicateur par erreur peut entraîner l’envoi de votre message à une audience plus large que prévu.
trigger_properties Facultatif Objet Paires clé-valeur de personnalisation pour tous les utilisateurs de cet envoi. Voir propriétés du déclencheur.
schedule Requis Objet de planification Voir objet de planification.

Exemple de requête

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

Réponse

Exemple de réponse réussie

{
    "dispatch_id": "dispatch_identifier",
    "schedule_id": "schedule_identifier",
    "message": "success"
}
New Stuff!