Call Service
- Domain:
https://cc-api-prod.quickom.com
Set up a webhook to receive Call events
- In order to receive new Call realtime, implement a endpoint that will be called by QUICKOM to send you Call's info.
- Endpoint's requirement:
- Method:
POST - Header:
Signature: <Signature> - Body:
{ "request_id" : "Id of webhook event log", "call_id" : "", "start_time" : 123456789, "end_time" : 123456789, "customer_info" : { "customer_id" : "", "name" : "", "phone_number" : "", "email" : "" }, "callee_info" : { "member_id" : "", "name" : "", "email" : "", "phone_number" : "" }, "has_record" : true, "record_number" : 1, "record_files" : [ { "record_id" : "", "start_time" : 123456789, "end_time" : 123456789 } ] }- Response:
200 OK
- Method:
- Configuration
- Go to https://cc.quickom.com/dashboard/web-hook.
- Under
Endpoints Call Webhooksection, selectAdd Endpoint. - Input your endpoint URL and description.
- Click
Add Endpoint. - Save
Signing Secretfor using later.
- Validate Signature
- Your endpoint need to validate request via
Signatureheader usingSigning Secretabove. - How to validate:
- Build
data=call_id+start_time+end_time+customer_id+member_id. - Create
signature=HMACSHA256(Signing_Secret, data). - Validate request by compare
Signaturefrom header andsignatureyou created.
- Build
- Your endpoint need to validate request via
Get Call's info
- Endpoint :
GET/api/enterprise/call/detail - Header:
Authorization: <Your api key> - Request params:
| Param | Type | Mandatory | Description |
|---|---|---|---|
| call_id | String | YES | Call's id |
- Response status code:
200 - Response body:
{
"call_id" : "",
"start_time" : 123456789,
"end_time" : 123456789,
"customer_info" : {
"customer_id" : "",
"name" : "",
"phone_number" : "",
"email" : ""
},
"callee_info" : {
"member_id" : "",
"name" : "",
"email" : "",
"phone_number" : ""
},
"has_record" : true,
"record_number" : 1,
"record_files" : [
{
"record_id" : "",
"start_time" : 123456789,
"end_time" : 123456789
}
]
}
Get new Calls
In order to get Calls that we missed from webhook, using this api
- Endpoint :
GET/api/enterprise/call/new - Header:
Authorization: <Your api key> - Request params:
| Param | Type | Mandatory | Description |
|---|---|---|---|
| limit | Integer | NO | Number of calls you want to retrieve. Min-Max is 1-50. Default is 20 |
- Response status code:
200 - Response body:
[
{
"call_id" : "",
"start_time" : 123456789,
"end_time" : 123456789,
"customer_info" : {
"customer_id" : "",
"name" : "",
"phone_number" : "",
"email" : ""
},
"callee_info" : {
"member_id" : "",
"name" : "",
"email" : "",
"phone_number" : ""
},
"has_record" : true,
"record_number" : 1,
"record_files" : [
{
"record_id" : "",
"start_time" : 123456789,
"end_time" : 123456789
}
]
}
]
Download Call's record
Using for download Call recording file
Only work for Calls that has has_record = true
- Endpoint :
GET/api/enterprise/call/record/download - Header:
Authorization: <Your api key> - Request params:
| Param | Type | Mandatory | Description |
|---|---|---|---|
| call_id | String | YES | Call's id |
| record_index | Integer | NO | Index of record file in record_files array |
| record_id | String | NO | Id of record that define in record_files array |
- Important
record_indexandrecord_idare allowed only one.- If both are specified,
record_idwill be used. - If both are not specified, the first record will be return.
- Response status code:
200 - Response body:
Binary|Stream