> For the complete documentation index, see [llms.txt](https://support.whapi.cloud/help-desk/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://support.whapi.cloud/help-desk/account-and-whapi-channels/channel-settings-overview.md).

# Channel Settings overview

### Webhooks

Webhook technology allows you to fulfill incoming notifications directly to your server. Some settings can be done through the interface.

{% hint style="info" %}
Full info: [webhooks overview](https://support.whapi.cloud/help-desk/receiving/webhooks)&#x20;
{% endhint %}

#### Core parameters

| Parameter | Values                                                                                                               | Description                                  |
| --------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------- |
| `url`     | required                                                                                                             | The address where notifications will be sent |
| `mode`    | `body` / `path` / `method`                                                                                           | How the event is transmitted in the request  |
| `events`  | `messages`, `statuses`, `chats`, `contacts`, `presences`, `groups`, `calls`, `labels`, `users`, `channel`, `service` | Which event types to track                   |

**Mode options:**

* `body` — all information about the event in the request body (default option)
* `path` — the event type is added to the URL, e.g. `.../message/post`
* `method` — the event type determines the HTTP method of the request, e.g. `PATCH .../message`

{% hint style="info" %}
Full info: [webhook mode setting](https://support.whapi.cloud/help-desk/receiving/webhooks/detailed-webhook-settings#mode-setting) · [webhook events](https://support.whapi.cloud/help-desk/receiving/webhooks/our-webhooks-tracked-events)&#x20;
{% endhint %}

**Update types**

For each event type, you also specify an update type. Update type ≠ HTTP method.

| Update type | Meaning        |
| ----------- | -------------- |
| `post`      | created        |
| `put`       | full update    |
| `patch`     | partial update |
| `delete`    | deleted        |

{% hint style="info" %}
&#x20;Full info: [webhook update types](https://support.whapi.cloud/help-desk/receiving/webhooks/detailed-webhook-settings#webhook-events-and-update-types-post-put-patch-delete)&#x20;
{% endhint %}

#### Privacy

* **headers** — custom headers for verifying that a webhook request really came from Whapi (e.g. a secret token your server checks on receipt). Can only be configured via API — not available in the panel.

{% hint style="info" %}
&#x20;Full info: [Customizable Webhook Headers](https://claude.ai/help-desk/account-and-whapi-channels/customizable-webhook-headers.md)
{% endhint %}

#### Undecrypted messages

Can only be configured via API — not available in the panel.

| Parameter                 | Values          | Description                                                                                                                                                                                                                                 |
| ------------------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `send_undecrypted_ad`     | default `false` | Send a webhook even for an undecrypted message if it's the first message in a new chat. Useful for tracking Click-to-WhatsApp ad campaigns — the webhook still arrives even if the ad message text itself couldn't be immediately decrypted |
| `webhook_max_age_seconds` | 15 sec – 2 days | If a message decrypts later than the specified time, its webhook won't be sent. Prevents your bot from being flooded with webhooks for very outdated messages                                                                               |

#### Guaranteed webhooks

* **callback\_persist** — turns retry behavior on; also stores undelivered webhooks on disk until acknowledged. Requires a channel restart.<br>
* **callback\_backoff\_delay\_ms** — delay before the first retry, growing with each failure. Api only
* **max\_callback\_backoff\_delay\_ms** — the cap on that delay. Api only

{% hint style="info" %}
Full info: [Persistent webhook setting](https://support.whapi.cloud/help-desk/receiving/webhooks/detailed-webhook-settings#persistent-webhook-setting-ex-persist)
{% endhint %}

### Media

| Parameter       | Description                                                                                                                                                   |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `auto_download` | Adds a direct link to the media file contained in the message, both in the webhook and in GET request responses. Media types: images, documents, video, audio |
| `init_avatars`  | If `true`, contact/chat avatars are automatically fetched after channel authorization. Api only                                                               |

{% hint style="info" %} Full info: [Setting Auto Download](https://support.whapi.cloud/help-desk/account-and-whapi-channels/setting-auto-download) {% endhint %}

### Other params

| Parameter            | Description                                                                                                                                                                      |
| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `proxy`              | Allows you to add a SOCKS5 proxy. Reduces WhatsApp's suspicions related to IP channel and phone region mismatches, improving session stability and reducing the risk of blocking |
| `mobile_proxy`       | Beta-only parameter — not in use, ignored in production. Api only                                                                                                                |
| `offline_mode`       | Prevents the channel from sending an "online" status on connection, so push notifications keep arriving on the iPhone. Api only                                                  |
| `full_history`       | Allows you to access the entire message history available in WhatsApp after reconnecting (instead of partial). Working after reconnect. Api only                                 |
| `auto_read_messages` | Automatically marks incoming messages as read as soon as they're received. Api only                                                                                              |
| `ignored_presences`  | A list of contacts whose presence events (online/typing) should not be sent to the webhook (unsubscribe from presence). Api only                                                 |
| `data_mode`          | Identifier format: LID, phone number, or both at once (beta). Api only                                                                                                           |
| `pdo_sync`           | Stops retrying to decrypt old messages; fixes the looping/infinite push notification issue on iPhone. Api only                                                                   |

{% hint style="info" %}
[Using Residential Proxies with Whapi.Cloud](https://support.whapi.cloud/help-desk/blocking/using-residential-proxies-with-whapi.cloud#using-residential-proxies-with-whapi.cloud)&#x20;

[Missing push notifications after connecting to API](https://support.whapi.cloud/help-desk/troubleshooting/missing-push-notifications-after-connecting-to-api)&#x20;

[Automatically Mark Incoming WhatsApp Messages as Read](https://claude.ai/help-desk/hints/automatically-mark-incoming-whatsapp-messages-as-read.md)&#x20;

[WhatsApp usernames and BSUID](https://support.whapi.cloud/help-desk/faq/whatsapp-usernames-and-bsuid)
{% endhint %}

{% hint style="warning" %}
Most users won't need to configure most of these parameters — the defaults work fine for typical setups. They're here for cases where you need finer control over channel behavior.&#x20;
{% endhint %}

### Examples

Example of full channel settings payload

```
{
  "webhooks": [
    {
      "url": "https://example.com/webhook",
      "mode": "body",
      "events": [
        { "type": "messages", "method": "post" },
        { "type": "messages", "method": "put" },
        { "type": "messages", "method": "delete" },
        { "type": "messages", "method": "patch" }
      ],
      "headers": {
        "Headers key": "Headers value"
      },
      "send_undecrypted_ad": true,
      "webhook_max_age_seconds": 15
    }
  ],
  "callback_persist": true,
  "callback_backoff_delay_ms": 4000,
  "max_callback_backoff_delay_ms": 3600000,
  "media": {
    "auto_download": [
      "image",
      "audio",
      "voice",
      "video",
      "document",
      "sticker"
    ]
  },
  "init_avatars": true,
  "proxy": "socks5://login:password@ip:port",
  "offline_mode": true,
  "full_history": true,
  "auto_read_messages": true,
  "ignored_presences": [
    "7777777777"
  ],
  "data_mode": "extend",
  "pdo_sync": true
}
```

default (empty) channel settings

```
{
  "media": {
    "auto_download": [],
    "init_avatars": false
  },
  "webhooks": [],
  "offline_mode": false,
  "full_history": false,
  "auto_read_messages": false
}
```
