Zum Inhalt springen

Webhook-Objekt

Mit dem Objekt webhook können Sie Webhook-Nachrichten über unsere Messaging-Endpunkte ändern oder erstellen.

{
  "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
}

Als Best Practice empfiehlt Braze, im Feld request_headers einen expliziten Wert für Content-Type anzugeben, um ein konsistentes und vorhersehbares Verhalten zu gewährleisten, da sich Absender und Server im Laufe der Zeit ändern können. Wenn Sie keinen Wert für den Content-Type-Header angeben, leitet das System einen Wert aus dem Anfrage-Body ab.

Beispiel-Webhook-Objekt mit einem JSON-Body

Das Feld body enthält den Payload des ausgehenden Webhooks. Wenn dieser Payload JSON ist, können Sie ihn als JSON-Objekt oder als String übergeben, der dasselbe JSON enthält.

Beide folgenden Webhook-Objekte senden denselben Payload an https://example.com/hooks/braze:

JSON-Objekt in body

Braze akzeptiert ein JSON-Objekt für body und serialisiert es vor dem Senden des Webhooks.

{
  "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
    }
  }
}

JSON-String in body

Wenn Sie body als String übergeben, erstellen Sie zunächst das innere JSON und escapen dann doppelte Anführungszeichen und Backslashes, damit die äußere Messaging-Anfrage gültiges JSON bleibt:

{
  "user_id": "12345",
  "event": "purchase",
  "properties": {
    "product": "sneakers",
    "price": 99.99
  }
}

Dieses Objekt wird zum folgenden escapten String-Wert für 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}}"
}
New Stuff!