Objeto de webhook
O objeto
webhookpermite que você modifique ou crie mensagens de webhook por meio dos nossos endpoints de envio de mensagens.
{
"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 prática recomendada, a Braze recomenda fornecer um valor explícito para Content-Type no campo request_headers para um comportamento consistente e previsível, já que os remetentes e servidores podem mudar com o tempo. Se você não especificar um valor para o cabeçalho Content-Type, o sistema inferirá um valor a partir do corpo da solicitação.
Exemplo de objeto webhook com corpo JSON
O campo body contém a carga útil do webhook de saída. Quando essa carga útil é JSON, você pode passá-la como um objeto JSON ou como uma string que contém o mesmo JSON.
Os dois objetos webhook a seguir enviam a mesma carga útil para https://example.com/hooks/braze:
Objeto JSON em body
A Braze aceita um objeto JSON para body e o serializa antes de enviar o 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
}
}
}
String JSON em body
Se você fornecer body como uma string, monte o JSON interno primeiro e, em seguida, escape as aspas duplas e as barras invertidas para que a solicitação de envio de mensagens externa continue sendo um JSON válido:
{
"user_id": "12345",
"event": "purchase",
"properties": {
"product": "sneakers",
"price": 99.99
}
}
Esse objeto se torna o seguinte valor da string com escape 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}}"
}

Arrays e outros valores que não sejam objetos ou strings não são válidos para body. Passe um objeto ou uma string.