Query outbound call list (QueryOutboundCallList)

Updated at:
Copy as MD

Queries the outbound call list under a specified task in a paginated manner. Returns the call ID, status, customer name, phone number, duration, and call time for each call. Supports filtering by customer name, phone number, call status, and time range.

Prerequisites

Request parameters

Name

Type

Required

Description

Example

Action

String

Yes

The operation that you want to perform. Set the value to QueryOutboundCallList.

QueryOutboundCallList

Version

String

Yes

The API version number. The format is YYYY-MM-DD. Set the value to 2025-11-27.

2025-11-27

TaskId

Number

Yes

The outbound task ID.

254

CustomerName

String

No

The customer name (fuzzy match).

John Doe

PhoneNumber

String

No

The phone number (fuzzy match).

138

CallStatus

String

No

The call status filter.

ANSWERED

StartTime

String

No

The start time of the query range.

2026-04-01 00:00:00

EndTime

String

No

The end time of the query range.

2026-04-10 23:59:59

Current

Number

No

The current page number. Default value: 1.

1

Size

Number

No

The number of entries per page. Default value: 10.

10

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.

Success

Total

Long

The total number of records.

50

Current

Long

The current page number.

1

Size

Long

The number of entries per page.

10

Records

Array

The returned data. Contains fields such as CallId, CallStatus, CustomerName, PhoneNumber, Duration, and CallTime. 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="QueryOutboundCallList",
        method="POST",
        pathname="/",
        protocol="HTTPS",
        auth_type="AK",
        req_body_type="json",
        body_type="json",
    )

    body = {'TaskId': 254, 'Current': 1, 'Size': 10}
    # body['CustomerName'] = '张三'
    # body['PhoneNumber'] = '138'
    # body['CallStatus'] = 'ANSWERED'

    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("QueryOutboundCallList")
            .setMethod("POST")
            .setPathname("/")
            .setProtocol("HTTPS")
            .setAuthType("AK")
            .setReqBodyType("json")
            .setBodyType("json");

        // 构建请求参数
        Map<String, Object> body = new HashMap<>();
        body.put("TaskId", 1);

        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": "Success",
  "RequestId": "xxxx-xxxx-xxxx",
  "Total": 50,
  "Current": 1,
  "Size": 10,
  "Records": [
    {
      "CallId": "call-abc123def456",
      "CallStatus": "ANSWERED",
      "CustomerName": "张三",
      "PhoneNumber": "13800138000",
      "Duration": 150,
      "CallTime": "2026-04-10 10:00:00"
    }
  ]
}

The specific results are contained in the Records node. The following table describes the parameters of the Records node.

Name

Type

Description

Example

CallId

String

The unique identifier of the call.

call-abc123def456

CallStatus

String

The call status.

ANSWERED

CustomerName

String

The customer name.

John Doe

PhoneNumber

String

The phone number.

13800138000

Duration

Number

The call duration in seconds.

150

CallTime

String

The call time.

2026-04-10 10:00:00

Error codes

If an error occurs, see Error codes for troubleshooting.