Skip to content
PaalChat Docs

whatsapp.connection

.md
Event POST <your callback URL>

Something changed about the business's WhatsApp connection. event is one of connected, setup_failed, token_expiring (now degraded), recovered, paused, resumed, suspended, revoked, disconnected, released (an operator freed the disconnected account; it no longer belongs to this business), or a Meta account or messaging-limit notice (e.g. ACCOUNT_VIOLATION, UPGRADE). status is the account's state afterwards (see ConnectionStatus).

Verify every callback

Check X-PaalChat-Signature on the raw body, reject timestamps older than 5 minutes, and de-duplicate on X-PaalChat-Delivery. Answer 2xx within 10 seconds. See Webhooks and callbacks.

Headers

X-PaalChat-Event string
X-PaalChat-Delivery string

Unique per event (equals body id). De-duplicate on it.

Format uuid.

X-PaalChat-Signature string

t=<unix seconds>,v1=<hex HMAC-SHA256(secret, "<t>.<raw body>")>. Reject if invalid or older than 300 seconds.

Pattern ^t=\d+,v1=[a-f0-9]{64}$.

Body

id string

Equals X-PaalChat-Delivery.

Format uuid.

sandbox boolean

true for sandbox businesses (test keys) - nothing reached WhatsApp.

event any

Always whatsapp.connection.

occurred_at string

Format date-time.

business object
external_id string business.external_id
data object
waba_id string data.waba_id
event string data.event

connected, setup_failed, token_expiring, recovered, paused, resumed, suspended, revoked, disconnected, released, or a Meta account/limit event name (e.g. ACCOUNT_VIOLATION, UPGRADE).

status string data.status

connected and degraded can send. pending = created or setup failed; connecting = signup in progress; degraded = working with a warning (token expiring, low quality); maintenance = paused by PaalChat operators (sends get 409 connection_paused); suspended = Meta disabled the account; revoked = the credential stopped working or access was removed at Meta; disconnected = disconnected on purpose. pending, revoked and disconnected need a new connect link.

One of: pending, connecting, connected, degraded, maintenance, suspended, revoked, disconnected.