Query usage summary (QueryUsageSummary)
Queries the usage summary data within a specified time range, returning statistics such as total calls, total duration, and total cost for usage overview and cost analysis.
Prerequisites
-
The SDK is installed.
-
An AccessKey has been obtained and configured. For more information, see Obtain an AccessKey and configure environment variables.
Request parameters
|
Name |
Type |
Required |
Description |
Example |
|
Action |
String |
Yes |
The operation that you want to perform. Set the value to QueryUsageSummary. |
QueryUsageSummary |
|
Version |
String |
Yes |
The API version number. Format: YYYY-MM-DD. Set the value to 2025-11-27. |
2025-11-27 |
|
StartDate |
String |
No |
The task start date. Date format: yyyy-MM-dd. |
2024-01-01 |
|
EndDate |
String |
No |
The task end date. Date format: yyyy-MM-dd. |
2024-01-31 |
|
UsageType |
String |
No |
CALL / SMS / ALL |
ALL |
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 successful |
|
Data |
Object |
The response data, which includes fields such as TotalCalls, TotalDuration, TotalSms, TotalCost, StartDate, and EndDate. 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="QueryUsageSummary",
method="POST",
pathname="/",
protocol="HTTPS",
auth_type="AK",
req_body_type="json",
body_type="json",
)
body = {'StartDate': '2024-01-01', 'EndDate': '2024-01-31', 'UsageType': 'ALL'}
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("QueryUsageSummary")
.setMethod("POST")
.setPathname("/")
.setProtocol("HTTPS")
.setAuthType("AK")
.setReqBodyType("json")
.setBodyType("json");
// 构建请求参数
Map<String, Object> body = new HashMap<>();
// 根据实际需求添加请求参数
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": "Operation successful",
"RequestId": "xxxx-xxxx-xxxx",
"Data": {
"TotalCalls": 1000,
"TotalDuration": 5000,
"TotalSms": 0,
"TotalCost": 500.0,
"StartDate": "2024-01-01",
"EndDate": "2024-01-31"
}
}
The specific results are contained in the Data node. The following table describes the parameters in the Data node.
|
Name |
Type |
Description |
Example |
|
TotalCalls |
Number |
The total number of calls. |
1000 |
|
TotalDuration |
Number |
The total duration in minutes. |
5000 |
|
TotalSms |
Number |
The total number of SMS messages. |
0 |
|
TotalCost |
Number |
The total cost in yuan. |
500.0 |
|
StartDate |
String |
The statistics start date. |
2024-01-01 |
|
EndDate |
String |
The statistics end date. |
2024-01-31 |
Error codes
If an error occurs, see Error codes for troubleshooting.