AISARAISAR
All webhooks

Calls

Call missed

call.missed

Fires when a call ends without being answered — an inbound call the operator did not pick up, or an outbound call the customer did not accept. Answered calls emit call.completed instead.

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.missed",
  "event_id": "evt_01JXXXXXXXXXXXXXXXXXXXXX",
  "timestamp": "2026-06-06T12:00:30.000000Z",
  "company_id": 1,
  "data": {
    "call_id": 124,
    "direction": "inbound",
    "status": "missed",
    "from_number": "77001234567",
    "to_number": "77001234567",
    "contact_id": 42,
    "conversation_id": 100,
    "channel_id": 5,
    "external_call_id": "wacall_def456",
    "duration_sec": null,
    "started_at": "2026-06-06T12:00:00+00:00",
    "answered_at": null,
    "ended_at": "2026-06-06T12:00:30+00:00"
  }
}

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.missed",
  "event_id": "evt_01JXXXXXXXXXXXXXXXXXXXXX",
  "timestamp": "2026-06-06T12:00:30.000000Z",
  "company_id": 1,
  "data": {
    "call_id": 124,
    "direction": "inbound",
    "status": "missed",
    "from_number": "77001234567",
    "to_number": "77001234567",
    "contact_id": 42,
    "conversation_id": 100,
    "channel_id": 5,
    "external_call_id": "wacall_def456",
    "duration_sec": null,
    "started_at": "2026-06-06T12:00:00+00:00",
    "answered_at": null,
    "ended_at": "2026-06-06T12:00:30+00:00"
  }
}

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: missed
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_secnullAlways null (no talk time)
started_atstring|nullISO 8601 timestamp the call started ringing
answered_atnullAlways null (the call was never answered)
ended_atstringISO 8601 timestamp the call ended