Ir al contenido

Programar campañas desencadenadas por la API

post

/campaigns/trigger/schedule/create

Utiliza este endpoint para enviar mensajes de campañas creadas en el panel a través de una entrega desencadenada por la API, lo que te permite decidir qué acción debe desencadenar el envío del mensaje.

Puedes pasar trigger_properties, que se incluirán como plantilla en el propio mensaje.

Ten en cuenta que para enviar mensajes con este endpoint, debes tener un ID de campaña, que se crea al configurar una campaña desencadenada por la API.

Requisitos previos

Para utilizar este endpoint, necesitarás una clave de API con el permiso campaigns.trigger.schedule.create.

Límite de velocidad

Cuando utilizas filtros de audiencia conectada en tu solicitud, este endpoint tiene un límite de velocidad de 250 solicitudes por minuto. De lo contrario, si especificas un external_id, este endpoint tiene un límite de velocidad predeterminado de 250 000 solicitudes por hora, compartido entre los endpoints documentados en Límites de velocidad de la API.

Este endpoint admite solicitudes de API por lotes. Una solicitud puede incluir cualquiera de los siguientes elementos:

Cuerpo de la solicitud

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

Parámetros de la solicitud

Parámetro Obligatorio Tipo de datos Descripción
campaign_id Obligatorio Cadena Ver identificador de campaña.
send_id Opcional Cadena Ver identificador de envío.
recipients Opcional Matriz de objetos de destinatarios Ver objeto de destinatarios.
audience Opcional Objeto de audiencia conectada Ver audiencia conectada.
broadcast Opcional Booleano Debes establecer broadcast en true cuando envíes un mensaje a todo un segmento al que se dirige una campaña o un Canvas. Este parámetro tiene el valor predeterminado false (desde el 31 de agosto de 2017).

Si broadcast tiene el valor true, no se puede incluir una lista recipients. Sin embargo, ten cuidado al configurar broadcast: true, ya que si estableces este indicador sin querer, podrías enviar tu mensaje a una audiencia mayor de la esperada.
trigger_properties Opcional Objeto Pares clave-valor de personalización para todos los usuarios de este envío. Ver propiedades del desencadenante.
schedule Obligatorio Objeto de programación Ver objeto de programación.

Ejemplo de solicitud

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

Respuesta

Ejemplo de respuesta correcta

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