You can invoke HoldCall to hold the call associated with a specified call ID under a specified instance. After the call is held, it will be temporarily suspended, and the held party will hear hold music.
Try it now
Test
RAM authorization
Request parameters
|
Parameter |
Type |
Required |
Description |
Example |
| InstanceId |
string |
Yes |
Instance ID. |
ccc-test |
| UserId |
string |
No |
Agent ID. |
agent@ccc-test |
| DeviceId |
string |
No |
A unique ID provided by the agent endpoint to represent an agent workbench. An agent can have multiple workbenches of different types, such as browser, iOS, or Android, but only one can be active at a time. |
ACC-YUNBS-1.0.10-**** |
| JobId |
string |
Yes |
Call job ID. |
job-6582589278232**** |
| ChannelId |
string |
Yes |
Channel ID to be held. |
ch:customer:010123****->1318888****:1609255715825:job-6582589278232**** |
| Music |
string |
No |
Name of the hold music. This parameter is optional and defaults to empty. |
无 |
Response elements
|
Element |
Type |
Description |
Example |
|
object |
|||
| Code |
string |
Response code. |
OK |
| HttpStatusCode |
integer |
HTTP status code. |
200 |
| Message |
string |
Response message. |
无 |
| RequestId |
string |
Request ID. |
174F7777-2F6C-4F10-B889-C698E26C1AE0 |
| Params |
array |
List of response parameters. |
|
|
string |
Response parameter. |
无 |
|
| Data |
object |
Data. |
|
| CallContext |
object |
Call context environment. |
|
| CallType |
string |
Call type. Valid values:
|
OUTBOUND |
| InstanceId |
string |
Instance ID. |
ccc-test |
| JobId |
string |
Call ID. |
job-6582589278232**** |
| ChannelContexts |
array<object> |
List of call channels. |
|
|
object |
Call channel. |
||
| ReleaseInitiator |
string |
The party that initiated the release of the call channel, indicating who first initiated the hang-up for this call channel. |
1390501**** |
| ChannelState |
string |
The status of the call channel. Valid values:
|
ANSWERED |
| Destination |
string |
Called party of the call channel. |
8001**** |
| UserId |
string |
The agent ID associated with the voice channel. This field is empty if the channel belongs to a Customer. |
agent@ccc-test |
| SkillGroupId |
string |
The skill group ID associated with the channel. In inbound scenarios, the associated skill group ID is determined by the skill group configured in the IVR transfer-to-agent module. In outbound scenarios, the associated skill group ID is the ID of the first skill group the agent signed into. |
skillgroup@ccc-test |
| Timestamp |
integer |
The UNIX timestamp (in milliseconds) of the most recent status change of the channel. |
1609255716900 |
| ReleaseReason |
string |
The release reason of the call channel, indicating why the current call channel was released. The value comes from the response codes defined in the SIP protocol. Customers can refer to the SIP protocol to analyze the release reason. |
404 - No destination |
| CallType |
string |
The call type of the channel. Valid values:
|
OUTBOUND |
| JobId |
string |
The call ID. |
job-6582589278232**** |
| ChannelId |
string |
The channel ID. |
ch:user:1390501****->8032****:1609138902226:job-653821410368**** |
| Originator |
string |
The calling party of the voice channel. |
1318888**** |
| UserExtension |
string |
The extension number of the agent associated with the channel. |
8001**** |
| UserContext |
object |
Agent context environment. |
|
| Extension |
string |
The agent's extension number. |
8001**** |
| Heartbeat |
integer |
The time when the last heartbeat was received from the agent, formatted as a UNIX timestamp in milliseconds. |
1609255716908 |
| WorkMode |
string |
Work mode. Valid values:
|
ON_SITE |
| DeviceId |
string |
Device ID, the identity ID of a browser-based Web Real-Time Communication (WebRTC) softphone or a physical phone device. Only one type of device can be registered at a time. |
ACC-YUNBS-1.0.10-**** |
| UserId |
string |
Agent ID. |
agent@ccc-test |
| Reserved |
integer |
The time when the agent was most recently reserved. Being reserved means an incoming call will soon be assigned to this agent. The format is a UNIX timestamp in milliseconds. |
1609255715822 |
| BreakCode |
string |
Break status code, which can be either System-defined or Custom-defined. System-defined break codes include: Warm-up (temporary break state after an agent is published and before becoming idle), RingingTimeout (break caused by agent ringing timeout), and RejectCall (break caused by agent call rejection). There are no restrictions on Custom-defined status codes; customers can define them according to their business needs. Valid values:
|
Warm-up |
| InstanceId |
string |
Instance ID. |
ccc-test |
| OutboundScenario |
boolean |
Indicates whether the agent is in outbound-only mode. |
false |
| Mobile |
string |
The agent's personal phone number. |
1390000**** |
| JobId |
string |
Call ID. |
job-6582589278232**** |
| UserState |
string |
Agent status. Valid values:
|
TALKING |
| SignedSkillGroupIdList |
array |
List of skill group IDs that the agent has signed into. |
|
|
string |
Skill group ID. |
skillgroup1@ccc-test |
Examples
Success response
JSON format
{
"Code": "OK",
"HttpStatusCode": 200,
"Message": "无",
"RequestId": "174F7777-2F6C-4F10-B889-C698E26C1AE0",
"Params": [
"无"
],
"Data": {
"CallContext": {
"CallType": "OUTBOUND",
"InstanceId": "ccc-test",
"JobId": "job-6582589278232****",
"ChannelContexts": [
{
"ReleaseInitiator": "1390501****",
"ChannelState": "ANSWERED",
"Destination": "8001****",
"UserId": "agent@ccc-test",
"SkillGroupId": "skillgroup@ccc-test",
"Timestamp": 1609255716900,
"ReleaseReason": "404 - No destination",
"CallType": "OUTBOUND",
"JobId": "job-6582589278232****",
"ChannelId": "ch:user:1390501****->8032****:1609138902226:job-653821410368****",
"Originator": "1318888****",
"UserExtension": "8001****"
}
]
},
"UserContext": {
"Extension": "8001****",
"Heartbeat": 1609255716908,
"WorkMode": "ON_SITE",
"DeviceId": "ACC-YUNBS-1.0.10-****",
"UserId": "agent@ccc-test",
"Reserved": 1609255715822,
"BreakCode": "Warm-up",
"InstanceId": "ccc-test",
"OutboundScenario": false,
"Mobile": "1390000****",
"JobId": "job-6582589278232****",
"UserState": "TALKING",
"SignedSkillGroupIdList": [
"skillgroup1@ccc-test"
]
}
}
}
Error codes
|
HTTP status code |
Error code |
Error message |
Description |
|---|---|---|---|
| 400 | Parameter.Blank | The parameter %s may not be null or blank. | |
| 400 | InvalidOperation.ChannelState | The operation is not allowed. Channel stats (%s) does not meet expectations (%s). | |
| 400 | InvalidOperation.UserState | The operation is not allowed. User state (%s) does not meet expectations (%s). | |
| 500 | InternalService.CTI | An internal CTI service error occurred. %s | |
| 404 | NotExists.ChannelId | The specified channel %s does not exist in call %s. | |
| 404 | NotExists.InstanceId | The specified instance %s does not exist. | |
| 404 | NotExists.JobId | The call %s does not exist. |
See Error Codes for a complete list.
Release notes
See Release Notes for a complete list.