AISARAISAR
All webhooks

Calls

Call ringing

call.ringing

Fires when a call starts ringing — an inbound WhatsApp call arriving from a contact, or an outbound call your operator has just placed. This is the first event of a call lifecycle.

HTTP request

AISAR sends a signed POST request to your webhook_url:

http
POST {webhook_url}
Content-Type: application/json
X-AISAR-Signature: sha256=...

{
  "event": "call.ringing",
  "event_id": "evt_01JXXXXXXXXXXXXXXXXXXXXX",
  "timestamp": "2026-06-06T12:00:00.000000Z",
  "company_id": 1,
  "data": {
    "call_id": 123,
    "direction": "inbound",
    "status": "ringing",
    "from_number": "77001234567",
    "to_number": "77001234567",
    "contact_id": 42,
    "conversation_id": 100,
    "channel_id": 5,
    "external_call_id": "wacall_abc123",
    "duration_sec": null,
    "started_at": "2026-06-06T12:00:00+00:00",
    "answered_at": null,
    "ended_at": null
  }
}

The X-AISAR-Signature header carries an HMAC-SHA256 signature of the request body — use it to verify the request came from AISAR.

Example payload

json
{
  "event": "call.ringing",
  "event_id": "evt_01JXXXXXXXXXXXXXXXXXXXXX",
  "timestamp": "2026-06-06T12:00:00.000000Z",
  "company_id": 1,
  "data": {
    "call_id": 123,
    "direction": "inbound",
    "status": "ringing",
    "from_number": "77001234567",
    "to_number": "77001234567",
    "contact_id": 42,
    "conversation_id": 100,
    "channel_id": 5,
    "external_call_id": "wacall_abc123",
    "duration_sec": null,
    "started_at": "2026-06-06T12:00:00+00:00",
    "answered_at": null,
    "ended_at": null
  }
}

Payload fields

FieldTypeDescription
call_idintegerInternal call ID (stable across all lifecycle events of this call)
directionstringinbound (from contact) or outbound (placed by operator)
statusstringCall status: ringing
from_numberstringCaller number. For inbound calls — the customer; for outbound — your WhatsApp Business number
to_numberstringCallee number. For inbound calls — your WhatsApp Business number; for outbound — the customer
contact_idinteger|nullContact ID
conversation_idinteger|nullConversation ID
channel_idintegerWhatsApp Business channel ID
external_call_idstring|nullProvider-specific call ID (WhatsApp/SIP)
duration_secinteger|nullnull until the call ends
started_atstring|nullISO 8601 timestamp the call started ringing
answered_atstring|nullnull until the call is answered
ended_atstring|nullnull until the call ends