post https://{domainname}/ca_apis/CallControl_V4
Call Control API is used to perform toolbar actions when dialing through offline campaigns. This API helps in taking a third-party number into a conference and then can Mute, Unmute, Hold, Unhold, and KICK_CALL(which is also DROP) numbers without the interference of Agent login.
To use this API with the help of a token, follow these steps:
- Generate the Token: Use the 'Generate Token' API to obtain an authentication token.
- Enter the Token ID: Navigate to the right section of this page, under the 'AUTHORIZATION' tab. Here, input the generated token ID.
- With the token entered, pass the below header and body parameters:
Parameter | Description |
---|---|
Content-Type | Should be - application/json |
action* | CONFERENCE/HOLD/UNHOLD/MUTE/UNMUTE/KICK_CALL |
ucid* | Unique ID generated when offline call is initiated |
conferenceNumber* | For the In-CcaaS instance use the format: Prefix "0" (zero) followed by a 10-digit number. For International instances use the format: Prefix the country code with a plus sign (+), followed by the phone number. |
did* | Phone number through which calls are dialed out to agents and customers |
agentPhoneName* | Phone name associated with an agent number |
userName | Your CloudAgnet account user name |
Note
- Desired ‘action’(parameter) impacts the PhoneName that is passed in the parameter field.
- Parameters with ‘*’ are mandatory parameters.
- Always pass the agent phone number in the 'conferenceNumber' parameter to use 'KICK_CALL' action
- No call controller options will be shown to the SIP agent when a conference call is answered
Possible responses
Success response with valid inputs. | {"status": "Success","message": "dialing","ucid": "90174967305497"} |
Hitting the request when the token is expired. | {"status": "false","message": "Token Expired","data": null} |
Missing Token. | "{""status"": ""false"",""message"": ""Token Should Not be Null or Empty."", ""data"": null}" |
Passing Invalid Token. | {"status": "false","message": "Invalid Token","data": null} |
Hitting API with valid inputs when the setting "API Authentication" is set to - "Basic Auth" | "{""status"": ""false"",""message"": ""Api Key Should Not be Null or Empty."", ""data"": null}" |
Passing Invalid userName Key | "{""status"": ""false"",""message"": ""Username Should Not be Null or Empty."", ""data"": null}" |
Passing Invalid userName Value | {"status": "false","message": "Invalid User Details","data": null} |
Missing userName key | "{""status"": ""false"",""message"": ""Username Should Not be Null or Empty."", ""data"": null}" |
Missing userName Value | "{""status"": ""false"",""message"": ""Username Should Not be Null or Empty."", ""data"": null}" |
Passing Invalid Action key | {"status": "Fail","message": "Invalid action"} |
Passing Invalid Action Value | {"status": "Fail","message": "Invalid action"} |
Missing Action key | {"status": "Fail","message": "Invalid action"} |
Missing Action Value | {"status": "Fail","message": "Invalid action"} |
Passing Invalid UCID Key | {"status": "Fail","message": "ucid should not be empty and must be numeric"} |
Passing Invalid UCID Value | {"status": "Error","message": "call not found"} |
Missing UCID key | {"status": "Fail","message": "ucid should not be empty and must be numeric"} |
Missing UCID Value | {"status": "Fail","message": "ucid should not be empty and must be numeric"} |
Passing Invalid conferenceNumber Key | {"status": "Fail","message": "Please pass valid Conference number"} |
Passing Invalid Conference Number Value | {"status": "Fail","message": "Please pass valid Conference number"} |
Missing Conference Number key | {"status": "Fail","message": "Please pass valid Conference number"} |
Missing Conference Number Value | {"status": "Fail","message": "Please pass valid Conference number"} |
an invalid number like 12345 for the conference number | {"status": "Error","message": "call not found"} |
if the conference number is already in the same call | {"status":"Error","message":"Number Already Found in Conference"} |
if the conference number equals to same agent number | {"status":"Error","message":"Number Already Found in Conference"} |
Passing Invalid DID Key | {"status": "Fail","message": "did should not be empty and must be numeric"} |
Passing Invalid DID Value | {"status": "Error","message": "call not found"} |
Missing DID key | {"status": "Fail","message": "did should not be empty and must be numeric"} |
Missing DID Value | {"status": "Fail","message": "did should not be empty and must be numeric"} |
Passing Invalid agentPhoneName Key | {"status": "Fail","message": "agentPhoneName should not be empty"} |
Passing Invalid agentPhoneName Value | {"status": "Fail","message": "Please pass valid agentPhoneName"} |
Missing agentPhoneName key | {"status": "Fail","message": "agentPhoneName should not be empty"} |
Missing agentPhoneName Value | {"status": "Fail","message": "agentPhoneName should not be empty"} |
action=CONFERENCE | {"status": "Success","message": "dialing","ucid": "90174967305497"} |
action=HOLD | {"status":"Success","message":"hold success"} |
action=UNHOLD | {"status":"Success","message":"Call is Un-hold successfully"} |
action=MUTE | {"status":"Success","message":"Call got mute successfully"} |
action=UNMUTE | {"status":"Success","message":"Call unmute successfull"} |
action=KICK_CALL | {"status": "Success","message": "call got disconnected"} |
When there is no call with the provided UCID. | {"status": "Error","message": "call not found"} |
Re adding the same number to conference. | "{""status"": ""Success"",""message"": ""dialing"", ""ucid"": ""90149696880184""}" |
Further Insights
By default, the domain name is https://in1-ccaas-api.ozonetel.com. Please refer here to change based on the need.