POST Scheme

Specify in the TCXWebAPI.ini file:

  • WEBHOOK_URL = for POST requests
  • WEBHOOK_POST_URL = for POST request (URL record)
  • RECORDING_FULL_INFO = 1
  • POST = 1

3CX WebAPI will start generating POST webhooks according to the same time as the events

Incoming successful call

Event
Webhook
The call goes to the IVR
{ “event”: “ringing”, “callerid”: “420774852629”, “user”: “800”, “usertype”:”other”, “did”: “DID-420222000320”, “id”: “230115121143_9-1” }
The call is placed in the queue
{ “event”: “ringing”, “callerid”: “420774852629”, “user”: “804”, “usertype”:”other”, “did”: “DID-420222000320”, “id”: “230115121143_9-1” }
The phone rings
{ “event”: “ringing”, “callerid”: “420774852629”, “user”: “102”, “usertype”:”other”, “did”: “DID-420222000320”, “id”: “230115121143_9-1” }
The operator picks up the phone
{ “event”: “hangupincoming”, “callerid”: “420774852629”, “user”: “102”, “usertype”:”other”, “did”: “DID-420222000320”, “id”: “230115121143_9-1” }
End of call
{ “event”: “incoming”, “callerid”: “420774852629”, “user”: “102”, “usertype”:”other”, “transfer”:”False”, “did”: “DID-420222000320”, “title”: “DID-420222000320:Answered call from 420774852629 (0:07)”, “id”: “230115121143_9-1” }
The recording of the conversation is ready
{ “event”: “incoming”, “callerid”: “420774852629”, “user”: “102”, “finishtype”: “OK”, “transfer”: “false”, “did”: “empty”, “title”: “Successful call to 420774852629 (0:07)”, “id”: “230115121143_9-1”, “FILES”: [ “https://{3CXFQDN:PORT}/webapi/recording/230115121143_9-1-1.mp3” ] }

Incoming missed call

Event
Webhook
The call goes to the IVR
{ “event”: “ringing”, “callerid”: “420774852629”, “user”: “800”, “usertype”:”other”, “did”: “DID-420222000320”, “id”: “230115121143_9-1” }
The call is placed in the queue
{ “event”: “ringing”, “callerid”: “420774852629”, “user”: “804”, “usertype”:”other”, “did”: “DID-420222000320”, “id”: “230115121143_9-1” }
The phone rings
{ “event”: “ringing”, “callerid”: “420774852629”, “user”: “102”, “usertype”:”other”, “did”: “DID-420222000320”, “id”: “230115121143_9-1” }
End of call
{ “event”: “incoming”, “callerid”: “420774852629”, “user”: “102”, “finishtype”: “Missed”, “transfer”: “False”, “did”: “DID-420222000320”, “title”: “DID-74994041720:Missed call by User 102 from 74953836874”, “id”: “230115121143_9-1” }

Outgoing successful call

Event
Webhook
Dialing a number
{ “event”: “dialing”, “callerid”: “420774852629”, “user”: “102”, “id”: “230128205250_5-0” }
The subscriber responds
{ “callerid”: “420774852629”, “event”: “hangupoutgoing”, “user”: “102”, “did”: “”, “trtype”: “NotDef”, “id”: “230128205250_5-1” }
The call ends
{ “event”: “outgoing”, “callerid”: “420774852629”, “user”: “102”, “finishtype”: “Ok”, “transfer”: “False”, “did”: “”, “title”: “Successful call to 420774852629 (0:11)”, “id”: “230128205250_5-1” }
The recording of the conversation is ready
{ “FILES”: [ “https://{3CXFQDN:PORT}/webapi/recording/230128205250_5-1-1.mp3” ], “event”: “outgoing”, “callerid”: “420774852629”, “user”: “102”, “finishtype”: “Ok”, “transfer”: “False”, “did”: “”, “title”: “Successful call to 420774852629 (0:11)”, “id”: “230128205250_5-1” }

Outgoing unsuccessful call

Event
Webhook
Dialing a number
{ “event”: “dialing”, “callerid”: “420774852629”, “user”: “102”, “id”: “230128195546_4-0” }
The call ends
{ “event”: “outgoing”, “callerid”: “420774852629”, “user”: “102”, “finishtype”: “Missed”, “transfer”: “False”, “did”: “”, “title”: “Unanswered call to 420774852629”, “id”: “230128195546_4-0” }

GET Scheme

Specify in the TCXWebAPI.ini file:

  • WEBHOOK_URL = for GET requests
  • WEBHOOK_POST_URL = for POST request (URL record)
  • RECORDING_FULL_INFO = 1
  • POST = 0

3CX WebAPI will start generating GET webhooks according to the same time as the events

Incoming successful call

Event
Webhook
The call goes to the IVR
event=ringing&callerid=420774852629&user=800&usertype=other&did=DID-420222000320&id=230102104542_15-0
The call is placed in the queue
event=ringing&callerid=420774852629&user=804&usertype=queue&did=DID-420222000320&id=230102104542_15-0
The phone rings
event=ringing&callerid=420774852629&user=102&usertype=ext&did=DID-420222000320&id=230102104542_15-0
The operator picks up the phone
event=hangupincoming&callerid=420774852629&user=102&did=DID-420222000320&trtype=NotDef&id=230102104542_15-1
End of call
event=incoming&callerid=420774852629&user=102&finishtype=Ok&transfer=False&did=DID-420222000320&title=DID-420222000320:Answered call from 420774852629 (0:07)&id=230102104542_15-1
The recording of the conversation is ready
POST ‘https://3CXDQDN:5001/webapi/recording/230102104542_15-1-1.mp3’

Incoming missed call

Event
Webhook
The call goes to the IVR
event=ringing&callerid=420774852629&user=800&usertype=other&did=DID-420222000320&id=230102104542_15-0
The call is placed in the queue
event=ringing&callerid=420774852629&user=804&usertype=queue&did=DID-420222000320&id=230102104542_15-0
The phone rings
event=ringing&callerid=420774852629&user=102&usertype=ext&did=DID-420222000320&id=230102104542_15-0
End of call
event=incoming&callerid=420774852629&user=804&finishtype=Missed&transfer=False&did=DID-420222000320&title=DID-420222000320:Missed call by queue 804 from 420774852629&id=230102154720_16-0

Outgoing successful call

Event
Webhook
Dialing a number
event=dialing&callerid=420774852629&user=102&id=230102184431_17-0
The subscriber responds
event=hangupoutgoing&callerid=420774852629&user=102&did=&trtype=NotDef&id=230102185935_18-1
The call ends
event=outgoing&callerid=420774852629&user=102&finishtype=Ok&transfer=False&did=&title=Successful call to 420774852629 (0:06)&id=230102185935_18-1
The recording of the conversation is ready
‘https://3CXDQDN:5001/webapi/recording/230102185935_18-1-1.mp3’

Outgoing unsuccessful call

Event
Webhook
Dialing a number
event=dialing&callerid=420774852629&user=102&id=230102184431_17-0
The call ends
event=outgoing&callerid=420774852629&user=102&finishtype=Missed&transfer=False&did=&title=Unanswered call to 420774852629&id=230102184431_17-0