Calls
WhatsApp Business Calling — the agent side of a voice call. Signalling runs through Meta Graph while the audio runs through our own media sidecar, so answering a call is two coordinated hops rather than one request.
Every call that is open right now (SES-1 F0/F1, F10.1)
The RECOVERY path for call state, and the call centre's live board.
The scheduled-callback queue (F10.5d)
Callbacks the team owes, soonest first — the only order a queue is ever
Promise to ring somebody back (F10.5d)
NOTHING HERE DIALS. The row becomes a reminder and a human presses call.
Keep it, call it off, or move it (F10.5d)
One endpoint rather than three verbs, because they are one decision made
One call in full — recording, transcript, consent evidence (F10.4)
THE DOOR THIS ENDPOINT REPLACES. A call's recording and transcript are
The call log (F10.2)
What HAPPENED, as opposed to `GET /api/calls`, which answers what is
Call-centre numbers (F10.3 wallboard · F10.6 reports)
ONE endpoint for both screens: the wallboard asks for today, the report
The phone lines this agent may work (F10.1)
The call centre's channel sub-menu and the keypad's line picker.
Call a number from the keypad (F10.5a)
Place an outbound call with NO conversation to start from — the
Handset call breadcrumbs (logged, never stored)
The mobile app batches what the HANDSET saw during a call — CallKit /
The tenant's currently ringing call, if any
Polled by the mobile app on open and on push tap to decide whether to
Who is waiting for a free agent right now (SES-1 F5)
The live wait queue, longest wait first.
May we call this contact right now?
A LIVE Meta lookup, which is why it is a separate request rather than a
Ask this contact to allow a call (Messenger)
Sends Meta's own `calling_optin` prompt to the conversation's contact —
Call this conversation's contact back
Opens an outbound call: the media sidecar mints an SDP offer, we hand it
Answer the ringing call
Two coordinated hops: the media sidecar is handed the caller's SDP offer
Decline the ringing call
Best-effort towards Meta: a call the customer already abandoned cannot be
Hang up the call
Ends whichever call is in flight — ringing, dialing or active. Both the
Connect the agent's browser to the call audio
The SECOND leg, separate from answering. Answering connects WhatsApp to
Answer this call
The call-id keyed form of the conversation endpoint above, for clients
Decline this call
The call-id keyed form of the conversation reject. A decline that lost
Hang up this call
The call-id keyed form of the conversation hangup — and the reason this
Connect the agent's browser to this call's audio
The call-id keyed form of the conversation softphone leg. `connectAgent`
Who this call could be transferred to
The transfer picker's data (SES-1 F4 — devir). Two facts per agent,
Offer this call to another agent or a department
Hand a live call over (SES-1 F4 — devir). A transfer is a PROPOSAL with
Take an offered call back
'Vazgeç, müşteriye dön' — the offering agent withdraws the transfer
Take a call offered to you
The target picks the call up (SES-1 F4). `answered_by` moves here and
Refuse a call offered to you
The target says no (SES-1 F4). The call does not move and the customer
Complete a consultative transfer ('devri tamamla')
CONSULTATIVE transfer only (SES-1 F4). The two agents have talked; the
May this user listen to this call?
LISTEN-IN (21-KOPRU-SOZLESMESI §12.13). `supported` is the media
Listen to a call the AI assistant is handling (receive-only)
The browser's SDP offer (receive-only audio) is answered by a
Stop listening
Detaches this listener; the call is untouched. Idempotent — an
Call recording upload from the media sidecar (server-to-server)
NOT a panel endpoint. Our own media sidecar multipart-POSTs the finished
The number's business hours and wait queue (SES-1 F5)
OURS, not Meta's. The calendar is enforced by the platform on every
Write the business hours and wait queue
Sections are independent — a payload carrying only `queue` leaves the
Hear a switchboard line before a caller does (SES-1 F5)
Synthesizes one of the switchboard's spoken lines — the out-of-hours
Run a menu key's HTTP request once, from the settings screen (F15-E2)
Makes the request an `action: lookup` menu key would make, and returns