# Campaign feedback submitted

**Event:** `campaign.feedback_submitted`

**Event name:** `campaign.feedback_submitted`

A customer submitted a rating/feedback on the campaign's review-funnel page. Scope: location-scoped. Delivered as a signed HTTP POST to your Webhooks URL.

Source: https://developer.synup.com/webhooks/campaign-feedback-submitted

## Header parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `X-Synup-Signature` | string | required | sha256=base64(HMAC-SHA256(signing_secret, raw_request_body)). Verify with your signing secret before processing; reject on mismatch. |

## Request body

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `event` | string | optional | Dotted event name. |
| `timestamp` | string | optional | ISO-8601 UTC time the event was emitted. |
| `account_id` | integer | optional | Synup account the event belongs to. |
| `location_id` | string | optional | Numeric string for location-scoped events; null for brand-scoped events. |
| `data` | object | optional |  |
| `data.campaign_id` | string | optional | Campaign UUID. |
| `data.customer_id` | string | optional | Customer UUID. |
| `data.rating` | integer | optional | Star rating submitted (typically 1-5). |
| `data.feedback` | string | optional | Free-text feedback (omitted if none). |
| `data.response_source` | string | optional | Origin of the response (defaults to "review_funnel"). |

## Responses

| Status | Description |
| --- | --- |
| `200` | Your endpoint acknowledges receipt with any 2xx. A non-2xx response or a timeout (>10s) is treated as a failed delivery. |
