CreateCallOutboundInstant
Initiates a real-time outbound call by specifying a task, called number, and customer name. You can pass prompt variables for personalized scripts. The call ID and initial status are returned immediately.
Prerequisites
-
The SDK is installed.
-
An AccessKey has been obtained and configured. For more information, see Obtain an AccessKey and configure it to environment variables.
-
The TaskId is obtained. To obtain the task ID, you can call the CreateOutboundTask API and obtain it from the Data.TaskId parameter in the response, or call the QueryOutboundTaskList API to query existing tasks.
Request parameters
|
Name |
Type |
Required |
Description |
Example |
|
Action |
String |
Yes |
The operation to perform. Set the value to CreateCallOutboundInstant. |
CreateCallOutboundInstant |
|
Version |
String |
Yes |
The API version. Format: YYYY-MM-DD. Set the value to 2025-11-27. |
2025-11-27 |
|
TaskId |
Number |
Yes |
The ID of the associated outbound task. |
254 |
|
CalledNumber |
String |
Yes |
The called number. |
13800138000 |
|
CustomerName |
String |
No |
The customer name. |
Zhang San |
|
PromptVariables |
String |
No |
The prompt variables in JSON format, used for variable substitution in script templates. |
{"product":"ECS"} |
Response parameters
|
Name |
Type |
Description |
Example |
|
RequestId |
String |
The request ID. |
xxxx-xxxx-xxxx |
|
Success |
Boolean |
Indicates whether the request was successful. |
True |
|
Code |
String |
The error code. Empty when the request is successful. |
None |
|
Message |
String |
The error message or success message. |
Operation succeeded |
|
Data |
Object |
The returned data, including CallId and CallStatus. For more information, see the following parameter description. |
Examples
Python
import json
import os
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_tea_openapi.client import Client as OpenApiClient
from alibabacloud_tea_util import models as util_models
from alibabacloud_openapi_util.client import Client as OpenApiUtilClient
def main():
config = open_api_models.Config(
access_key_id=os.getenv("ACCESS_KEY_ID"),
access_key_secret=os.getenv("ACCESS_KEY_SECRET"),
)
config.endpoint = "thirdswaicall.aliyuncs.com"
config.protocol = "HTTPS"
client = OpenApiClient(config)
params = open_api_models.Params(
style="RPC",
version="2025-11-27",
action="CreateCallOutboundInstant",
method="POST",
pathname="/",
protocol="HTTPS",
auth_type="AK",
req_body_type="json",
body_type="json",
)
body = {'TaskId': 254, 'CalledNumber': '13800138000'}
# body['CustomerName'] = '张三'
# body['PromptVariables'] = '{"product":"ECS"}'
request = open_api_models.OpenApiRequest(query=OpenApiUtilClient.query(body))
runtime = util_models.RuntimeOptions(autoretry=True, max_attempts=3)
try:
resp = client.call_api(params, request, runtime)
print(json.dumps(resp.get("body", {}), ensure_ascii=False, indent=2))
except Exception as e:
print(f"调用失败: {e}")
if __name__ == "__main__":
main()
Java
import com.aliyun.teaopenapi.Client;
import com.aliyun.teaopenapi.models.Config;
import com.aliyun.teaopenapi.models.OpenApiRequest;
import com.aliyun.teaopenapi.models.Params;
import com.aliyun.teautil.models.RuntimeOptions;
import com.google.gson.Gson;
import java.util.HashMap;
import java.util.Map;
public class Demo {
public static void main(String[] args) throws Exception {
// 初始化配置
Config config = new Config()
.setAccessKeyId(System.getenv("ACCESS_KEY_ID"))
.setAccessKeySecret(System.getenv("ACCESS_KEY_SECRET"))
.setEndpoint("thirdswaicall.aliyuncs.com")
.setProtocol("HTTPS");
Client client = new Client(config);
// 设置 API 参数
Params params = new Params()
.setStyle("RPC")
.setVersion("2025-11-27")
.setAction("CreateCallOutboundInstant")
.setMethod("POST")
.setPathname("/")
.setProtocol("HTTPS")
.setAuthType("AK")
.setReqBodyType("json")
.setBodyType("json");
// 构建请求参数
Map<String, Object> body = new HashMap<>();
body.put("TaskId", 1);
body.put("CalledNumber", "\u793a\u4f8b\u503c");
OpenApiRequest request = new OpenApiRequest()
.setQuery(com.aliyun.openapiutil.Client.query(body));
// 设置运行时选项(自动重试)
RuntimeOptions runtime = new RuntimeOptions()
.setAutoretry(true)
.setMaxAttempts(3);
try {
// 调用 API
Map<String, ?> response = client.callApi(params, request, runtime);
Gson gson = new Gson();
System.out.println(gson.toJson(response.get("body")));
} catch (Exception e) {
System.err.println("调用失败: " + e.getMessage());
}
}
}
Sample response
{
"Success": true,
"Code": null,
"Message": "操作成功",
"RequestId": "xxxx-xxxx-xxxx",
"Data": {
"CallId": "call-abc123def456",
"CallStatus": "CALLING"
}
}
The specific results are contained in the Data node. The following table describes the parameters in the Data node.
|
Name |
Type |
Description |
Example |
|
CallId |
String |
The unique identifier of the call. |
call-abc123def456 |
|
CallStatus |
String |
The initial call status. |
CALLING |
Error codes
If an error occurs, see Error codes for troubleshooting.