Zəng webhook-ları: sorğunun sahələri və nümunələr
Son yeniləmə: 9 oktyabr 2026 · 6 dəq oxunur
Hər sorğu POST-dur, gövdəsi JSON-dur. Bütün dörd hadisədə sahələr eynidir, dəyərlər zəngin həmin andakı vəziyyətini göstərir. Clomni heç bir dəyəri təxmin etmir: bilinməyən sahə null olur.
Addımlar
-
1
call_started nümunəsi
{ "event": "call_started", "delivery_id": "6f1c2b0e-5a7d-5e2b-9c41-8d3f0a6b7e21", "id": 512340, "provider_call_id": "3EB0C2A1F4D8", "account": { "id": 7, "name": "Nümunə MMC" }, "inbox": { "id": 140, "name": "WhatsApp satış", "channel_type": "Channel::Whatsapp", "provider": "whatsapp_qr" }, "conversation": { "id": 2381, "status": "open" }, "message_id": 512340, "direction": "outgoing", "status": "ringing", "contact": { "id": 9921, "name": "Kamran Əliyev", "phone_number": "+994501112233", "identifier": null }, "agent": { "id": 12, "name": "Nigar Həsənova", "email": "[email protected]" }, "started_at": "2026-10-09T10:00:00Z", "answered_at": null, "ended_at": null, "duration_seconds": null, "duration_known": null, "ended_by": null, "answered_on": null, "recording_url": null, "transcript_available": false, "transcript": null, "summary": null, "language": null } -
2
call_answered və call_ended nümunəsi
call_answered-dəstatus: "in_progress",answered_atvəanswered_ondolur. Həmin zəngincall_endedsorğusu (qısalıq üçünaccount,inbox,conversation,contact,agentgöstərilməyib, onlar hər sorğuda var):{ "event": "call_ended", "delivery_id": "0b9e4d27-3c1a-5f60-8e2d-41a7c5b9f310", "id": 512340, "direction": "outgoing", "status": "completed", "started_at": "2026-10-09T10:00:00Z", "answered_at": "2026-10-09T10:00:06Z", "ended_at": "2026-10-09T10:01:41Z", "duration_seconds": 95, "duration_known": true, "ended_by": "agent", "answered_on": "app", "recording_url": null, "transcript_available": false, "transcript": null, "summary": null, "language": null } -
3
call_recording_ready nümunəsi
{ "event": "call_recording_ready", "delivery_id": "c47a1e95-8b2f-5d03-a6e4-9f1b2c7d8e40", "id": 512340, "duration_seconds": 95, "recording_url": "https://my.clomni.co/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOn.../call-3EB0C2A1F4D8.wav", "transcript_available": true, "transcript": [ { "speaker": "agent", "at": 0.4, "text": "Salam, Clomni mağazası, Nigar eşidir." }, { "speaker": "contact", "at": 3.1, "text": "Salam. Dünən sifariş vermişdim, nə vaxt çatacaq?" } ], "summary": { "title": "Sifarişin çatdırılma vaxtı", "points": ["Müştəri dünənki sifarişinin nə vaxt çatacağını soruşdu.", "Bu gün 18:00-a qədər çatacağı deyildi."], "next_step": "Kuryer yola düşəndə müştəriyə SMS göndərmək." }, "language": "az" } -
4
Zəng, kanal və söhbət
event:call_started,call_answered,call_endedvə yacall_recording_ready.delivery_id: bu zəngin bu hadisəsinin id-si. Təkrar göndərişdə dəyişmir.id: zəngin Clomni-dəki id-si, bir zəngin bütün hadisələrində eynidir. Hazırda zəng balonunun mesaj id-si (message_id) ilə eynidir.provider_call_id: zəngin WhatsApp və ya Twilio-dakı id-si.account:id,name.inbox:id,name,channel_type,provider(whatsapp_qr,whatsapp_cloudyəni WhatsApp Business API, və yatwilio).conversation:id(paneldə görünən söhbət nömrəsi),status.direction:incoming(müştəri zəng edib) və yaoutgoing(siz zəng etmisiniz).
-
5
Nəticə, vaxt və müddət
status:ringing,in_progress,completed,missed(gələn zəngə cavab verilmədi),no_answer(gedən zəngə cavab verilmədi),rejected,busy,failed.started_at,answered_at,ended_at: zəngin çaldığı, cavab verildiyi və bitdiyi an (ISO 8601, UTC).duration_seconds: danışığın müddəti, saniyə ilə, cavab anından. Yalnız cavab verilmiş zəngincall_endedvəcall_recording_readyhadisələrində.duration_known: cavab verilmiş zəngincall_endedvəcall_recording_ready-sində müddət bilinirsətrue, bilinmirsəfalse. Qalan hallardanull.ended_by: zəngi kim bitirdi:agent,contactvə yasystem(şəbəkə və ya xidmət xətası). Bilinmirsənull.answered_on: cavabın harada verildiyi:app(Clomni paneli və ya tətbiqi) və yaphone(WhatsApp-ın özü, telefonda).
-
6
Kontakt, əməkdaş, yazı və xülasə
contact:id,name,phone_number,identifier. Nömrəsini göstərməyən WhatsApp müştərisindəphone_numberboş ola bilər.agent:id,name,email. Gedən zəngdə zəng edən, gələn zəngdə cavab verən və ya imtina edən əməkdaş. Bilinmirsənull.recording_url: səs yazısının linki. Yazı silinməyənə qədər işləyir, açanda 5 dəqiqəlik müvəqqəti fayl ünvanına yönləndirir. Yazını saxlamaq istəyirsinizsə, faylı yükləyin.transcript_available,transcript: danışığın mətni, sətir-sətir:speaker(agent,contact; iki tərəf bir yazıda olandamixed),at(yazının əvvəlindən saniyə),text.summary:title,points(2-5 bənd),next_step. Yalnız cavab verilmiş və 10 saniyədən uzun zəngdə.language: mətnin dili, məsələnaz. Xülasə hesabın dilində yazılır.