Op verschillende belangrijke gebeurtenissen in een gesprek worden notificaties verstuurd naar de opgegeven URL. De notificaties worden verstuurd als een POST-verzoek met de gegevens als JSON-document.
Soorten notificaties en data
Created
een created
wordt gestuurd bij het starten van een inkomend gesprek.
{
"call_id": "ua9-grq-prd-1693575683.22973164",
"timestamp": "2023-09-01T13:41:25.972110+00:00",
"status": "created",
"version": "v2",
"direction": "inbound",
"caller": {
"number": "+31507009920",
"name": "Johan | Voys",
"account_number": null,
"user_numbers": [],
"user_emails": []
},
"destination": {
"number": "+31332022074"
}
}
- call_id: Een unieke tekenreeks om het gesprek te identificeren.
- timestamp: Een datum en tijd van het moment dat de webhook wordt gegenereerd in ISO 8601 formaat.
- status: De status van een gesprek. Voor dit notificatietype is het
created
. - version: Een versie-attribuut dat in de toekomst gebruikt kan worden om naar een andere versie van de webhooks te migreren. Op dit moment is het altijd
v2
. - direction: Of een gesprek inkomend (
inbound
) of uitgaand (outbound
) is. Het created event wordt alleen gestuurd bij inkomende gesprekken. - caller: De gegevens over de beller.
- number: Het telefoonnummer waarmee de beller naar buiten belt
- name: Naam van de beller
- account_number: Deze informatie wordt niet meegestuurd bij het
created
event. - user_numbers: Deze informatie wordt niet meegestuurd bij het
created
event - user_emails: Deze informatie wordt niet meegestuurd bij het
created
event - destination: De gegevens over waar het gesprek naar toe gaat.
- number: Het telefoonnummer dat de beller heeft ingevoerd.
Ringing
Een ringing
notificatie wordt verstuurd op het moment dat telefoons beginnen te rinkelen vanwege een inkomend gesprek.
Het is mogelijk dat er meerdere ringing
notificaties na elkaar worden verstuurd op het moment dat nieuwe toestellen beginnen te rinkelen.
{
"call_id": "ua9-grq-prd-1693575683.22973164",
"timestamp": "2023-09-01T13:41:26.020742+00:00",
"status": "ringing",
"version": "v2",
"direction": "inbound",
"caller": {
"number": "+31507009920",
"name": "Johan | Voys",
"account_number": null,
"user_numbers": [],
"user_emails": []
},
"destination": {
"number": "+31332022074",
"targets": [
{
"number": "+31332022074",
"name": null,
"account_number": "201",
"user_numbers": [
"610"
],
"user_emails": [
"email@email.nl"
]
}
]
}
}
- call_id: Een unieke tekenreeks om het gesprek te identificeren.
- timestamp: Een datum en tijd van het moment dat de webhook wordt gegenereerd in ISO 8601 formaat.
- status: De status van een gesprek. Voor dit notificatietype is het
ringing
. - version: Een versie-attribuut dat in de toekomst gebruikt kan worden om naar een andere versie van de webhooks te migreren. Op dit moment is het altijd
v2
. - direction: Of een gesprek inkomend (
inbound
) of uitgaand (outbound
) is. Gesprekken tussen collega's worden alsoutbound
vermeld. - caller: De gegevens over de beller.
- number: Het telefoonnummer waarmee de beller naar buiten belt
- name: Naam van de beller
- account_number: Deze informatie wordt niet meegestuurd bij het
ringing
.event. - user_numbers: Deze informatie wordt niet meegestuurd bij het
ringing
. event - user_emails: Deze informatie wordt niet meegestuurd bij het
ringing
. event - destination: De gegevens over waar het gesprek naar toe gaat.
- number: Het telefoonnummer dat de beller heeft ingevoerd.
- targets: De telefoons die rinkelen voor dit gesprek. Telefoons die niet bereikbaar zijn worden niet getoond.
- number: Het nummer waarop de telefoon wordt gebeld. Meestal is dit gelijk aan destination.number, maar het nummer veranderd bijvoorbeeld op het moment dat een gesprek wordt doorgestuurd.
- name: De naam van de persoon die wordt gebeld. Voor inkomende gesprekken is dit vrijwel altijd
null
- account_number: De interne nummers van de gebruikers die hebben ingesteld dat ze op deze VoIP-account bereikbaar zijn (waar beschikbaar, kan een lege array zijn).
- user_number: De interne nummers van de gebruikers die bereikbaar zijn (waar beschikbaar, kan een lege array zijn).
- user_emails: e-mail adressen van de gebruikers.
in-progress
Een in-progress
notificatie wordt verstuurd op het moment dat een gesprek wordt beantwoord.
Let op! De target
die het gesprek beantwoordt, is niet altijd een van de toestellen die aanvankelijk heeft gerinkeld. Vanwege call pickup kan het voorkomen dat het gesprek op een ander toestel wordt opgenomen.
{
"call_id": "ua9-grq-prd-1693575683.22973164",
"timestamp": "2023-09-01T13:41:26.992074+00:00",
"status": "in-progress",
"version": "v2",
"direction": "inbound",
"caller": {
"number": "+31507009920",
"name": "Johan | Voys",
"account_number": null,
"user_numbers": [],
"user_emails": []
},
"destination": {
"number": "+31332022074",
"target": {
"number": "+31332022074",
"name": null,
"account_number": "201",
"user_numbers": [
"610"
],
"user_emails": [
"email@email.nl"
]
}
}
}
- call_id: Een unieke tekenreeks om het gesprek te identificeren.
- timestamp: Een datum en tijd van het moment dat de webhook wordt gegenereerd in ISO 8601 formaat.
- status: De status van een gesprek. Voor dit notificatietype is het
in-progress
. - version: Een versie-attribuut dat in de toekomst gebruikt kan worden om naar een andere versie van de webhooks te migreren. Op dit moment is het altijd
v2
. - direction: Of een gesprek inkomend (
inbound
) of uitgaand (outbound
) is. Gesprekken tussen collega's worden alsoutbound
vermeld. - caller: De gegevens over de beller.
- number: Het telefoonnummer waarmee de beller naar buiten belt
- name: Naam van de beller
- account_number: Het interne nummer van de VoIP-account (waar beschikbaar, voor inkomende gesprekken is dit eigenlijk altijd
null
). - user_numbers:
- user_emails:
- destination: De gegevens over waar het gesprek naar toe gaat.
- number: Het telefoonnummer dat de beller heeft ingevoerd.
- targets: De telefoons die rinkelen voor dit gesprek. Telefoons die niet bereikbaar zijn worden niet getoond.
- number: Het nummer waarop de telefoon wordt gebeld. Meestal is dit gelijk aan destination.number, maar het nummer veranderd bijvoorbeeld op het moment dat een gesprek wordt doorgestuurd.
- name: De naam van de persoon die wordt gebeld. Voor inkomende gesprekken is dit vrijwel altijd
null
- account_number: De interne nummers van de gebruikers die hebben ingesteld dat ze op deze VoIP-account bereikbaar zijn (waar beschikbaar, kan een lege array zijn).
- user_number: De interne nummers van de gebruikers die bereikbaar zijn (waar beschikbaar, kan een lege array zijn).
- user_emails: e-mail adressen van de gebruikers.
ended
Een ended
notificatie wordt verstuurd op het moment dat een gesprek wordt beëindigd. Er zijn een paar verschillende redenen waarom een gesprek kan eindigen.
Een ended
notificatie kan worden verstuurd na een in-progress
notificatie als het gesprek is opgehangen door een van de deelnemers, na een ringing
notificatie als niemand op heeft genomen of als enige notificatie als geen enkel toestel bereikbaar is.
{
"call_id": "ua9-grq-prd-1693575683.22973164",
"timestamp": "2023-09-01T13:41:27.653775+00:00",
"status": "ended",
"reason": "completed",
"version": "v2",
"direction": "inbound",
"caller": {
"number": "+31507009920",
"name": "Johan | Voys",
"account_number": null,
"user_numbers": [],
"user_emails": []
},
"destination": {
"number": "+31332022074"
}
}
- call_id: Een unieke tekenreeks om het gesprek te identificeren.
- timestamp: Een datum en tijd van het moment dat de webhook wordt gegenereerd in ISO 8601 formaat.
- status: De status van een gesprek. Voor dit notificatietype is het
ended
. - reason: De reden waarom een gesprek is beëindigd. De reden kan een van de volgende waarden hebben:
- completed: Het gesprek is succesvol afgerond.
- busy: Het gesprek is geweigerd, de gebelde is bezet.
- no-answer: Niemand heeft het gesprek opgenomen, kan verschillende redenen hebben.
- failed: Er is een fout opgetreden waardoor het gesprek niet tot stand is gekomen.
- cancelled: De beller heeft het gesprek opgehangen voordat iemand op kon nemen.
- abandon: Wanneer een beller de verbinding verbreekt terwijl hij in de wachtrij staat.
- version: Een versie-attribuut dat in de toekomst gebruikt kan worden om naar een andere versie van de webhooks te migreren. Op dit moment is het altijd
v2
. - direction: Of een gesprek inkomend (
inbound
) of uitgaand (outbound
) is. Gesprekken tussen collega's worden alsoutbound
vermeld. - caller: De gegevens over de beller.
- destination: De gegevens over waar het gesprek naar toe gaat.
Volgorde van notificaties
Voor elk gesprek worden er meerdere notificaties verstuurd. Welke notificaties er worden verstuurd hangt af van hoe het gesprek wordt uitgevoerd. Hieronder wordt de volgorde van notificaties voor de meest veelvoorkomende gesprekstypen behandeld.
Eenvoudig gesprek
Een succesvol gesprek met twee deelnemers:
- ringing - A belt B
- in-progress - A belt B
- ended - A belt B (reden:
completed
)