Objeto webhook
El objeto
webhookte permite modificar o crear mensajes webhook a través de nuestros endpoints de mensajería.
{
"url": (required, string),
"request_method": (required, string) one of "POST", "PUT", "DELETE", or "GET",
"request_headers": (optional, Hash) key-value pairs to use as request headers,
"body": (optional, string or JSON object) payload Braze sends in the webhook request. Pass a JSON object, or a string that contains your payload. If you pass a string that includes JSON, escape quotes and backslashes so the outer messaging request remains valid JSON,
"message_variation_id": (optional, string) used when providing a campaign_id to specify which message variation this message should be tracked under
}
Como mejor práctica, Braze recomienda proporcionar un valor explícito para Content-Type en el campo request_headers para un comportamiento coherente y predecible, ya que los remitentes y servidores pueden cambiar con el tiempo. Si no especificas un valor para el encabezado Content-Type, el sistema infiere un valor a partir del cuerpo de la solicitud.
Ejemplo de objeto webhook con un cuerpo JSON
El campo body contiene la carga útil del webhook saliente. Cuando esa carga útil es JSON, puedes pasarla como un objeto JSON o como una cadena que contenga el mismo JSON.
Ambos objetos webhook siguientes envían la misma carga útil a https://example.com/hooks/braze:
Objeto JSON en body
Braze acepta un objeto JSON para body y lo serializa antes de enviar el webhook.
{
"url": "https://example.com/hooks/braze",
"request_method": "POST",
"request_headers": {
"Content-Type": "application/json"
},
"body": {
"user_id": "12345",
"event": "purchase",
"properties": {
"product": "sneakers",
"price": 99.99
}
}
}
Cadena JSON en body
Si proporcionas body como una cadena, construye primero el JSON interno y luego escapa las comillas dobles y las barras invertidas para que la solicitud de mensajería externa siga siendo JSON válido:
{
"user_id": "12345",
"event": "purchase",
"properties": {
"product": "sneakers",
"price": 99.99
}
}
Ese objeto se convierte en este valor de cadena escapado para body:
{
"url": "https://example.com/hooks/braze",
"request_method": "POST",
"request_headers": {
"Content-Type": "application/json"
},
"body": "{\"user_id\":\"12345\",\"event\":\"purchase\",\"properties\":{\"product\":\"sneakers\",\"price\":99.99}}"
}

Los arrays y otros valores que no sean objetos ni cadenas no son válidos para body. Pasa un objeto o una cadena.