该接口用于查询服务器IP所属国家的带宽明细。用户需提供时间范围、域名、国家地区代码以及数据粒度。返回内容包含指定时间段内的每个时间点的边缘流量和带宽值。此接口有助于用户了解当前在全球不同国家的服务流量分布和使用情况。
| 参数名称 | 描述 |
|---|---|
dateFromString | 开始时间:
1.时间格式为 yyyy-MM-ddTHH:mm:ss±HH:mm。请注意:±HH:mm 为时区偏移量,可根据您的数据需要进行调整,例如 +00:00 代表 UTC 时间,+08:00 代表东八区,-05:00 代表西五区。2024-01-15T10:30:45+00:00,表示UTC 时间 2024 年 1 月 15 日上午 10 点 30 分 45 秒;
2.不能大于当前时间;
3.最多可获取最近半年(183天)的数据。 |
dateToString | 结束时间:
1.时间格式为 yyyy-MM-ddTHH:mm:ss±HH:mm。请注意:±HH:mm 为时区偏移量,可根据您的数据需要进行调整,例如 +00:00 代表 UTC 时间,+08:00 代表东八区,-05:00 代表西五区。2024-01-15T10:30:45+00:00,表示UTC 时间 2024 年 1 月 15 日上午 10 点 30 分 45 秒;
2.结束时间需大于开始时间;
3.结束时间如果大于当前时间,取当前时间;
4.dateFrom,dateTo二者都未传,默认查询过去的24小时;如仅有一个未传,抛异常;
5.允许查询最大间隔:7天,即dateFrom和dateTo相差不能超过7天。 |
domainList | 域名:
1.未传递domain时:查询账号下所有全部域名(域名超过20个则报错,可联系技术支持调整);
2.有传递domain时:域名最多支持传20个(可联系技术支持调整)。 |
countryCodeList | 国家区域(含中国台湾、中国澳门、中国香港、中国大陆):
1.未传递countryCode时:查询全部国家区域;
2.有传递countryCode时:可传多个,如cn,in。可传递的值详见概览页附录说明章节 |
dataIntervalString | 数据粒度:
5m:5分钟粒度。不传默认5分钟粒度
1h:1小时粒度; |
| 参数名称 | 描述 |
|---|---|
domainString | 域名 |
countryDataList | |
countryCodeString | 国家地区 |
detailListList | |
timestampString | 时间,
查询的数据粒度为5m时,格式为yyyy-MM-dd HH:mm;每一个时间片数据值代表的是前一个时间粒度范围内的数据值。一天开始的时间片是yyyy-MM-dd 00:05,最后一个时间片是(yyyy-MM-dd+1) 00:00;
查询的数据粒度为1h时,格式为yyyy-MM-dd HH;每一个时间片数据值代表的是前一个时间粒度范围内的数据值。一天开始的时间片是yyyy-MM-dd 01,最后一个时间片是(yyyy-MM-dd+1) 00;
返回开始时间和结束时间包含的时间片。 |
valueString | 时间点对应的边缘带宽数据,单位Mbps |
flowString | 时间点对应的边缘流量,单位MB |
| 错误代码(code) | 描述(message) | HTTP状态码 | 语义 |
|---|---|---|---|
| 24102019 | The request was rejected because the number of domain exceeds the limit. | 400 | 请求被拒绝,域名数量超出限制 |
| 24102006 | The date specified is invalid. | 400 | datefrom或dateto不符合规范 |
| 24102021 | Date format error. | 400 | 日期格式错误 |
| 24102008 | domain is null or invalid. | 400 | 域名为空或不合法 |
| 24102500 | System error | 400 | 系统发生错误。请重试 |
#!/bin/bash
username="example_username"
apiKey="example_apiKey"
date=`env LANG="en_US.UTF-8" date -u "+%a, %d %b %Y %H:%M:%S GMT"`
password=`echo -en "$date" | openssl dgst -sha1 -hmac $apiKey -binary | openssl enc -base64`
curl -i --url "https://api.cdnetworks.com/api/report/server/country-bandwidth" \
-X "POST" \
-u "$username:$password" \
-H "Date: $date" \
-H "Accept: application/json" \
-d '{"dateFrom":"2022-07-22T00:00:00+00:00",
"dateTo":"2022-07-22T23:00:00+00:00",
"domain":["www.example1.com","www.example2.com"],
"countryCode":["hk"]
}'{
"code": "0",
"message": "success",
"data": [
{
"domain": "www.example1.com",
"countryData": [
{
"countryCode": "hk",
"detailList": [
{
"timestamp": "2022-07-22 14:00",
"value": "0.52",
"flow": "19.67"
},
{
"timestamp": "2022-07-22 15:00",
"value": "1.05",
"flow": "39.54"
},
{
"timestamp": "2022-07-22 16:00",
"value": "0.54",
"flow": "20.39"
},
{
"timestamp": "2022-07-22 17:00",
"value": "0.80",
"flow": "29.99"
}
]
}
]
},
{
"domain": "www.example2.com",
"countryData": [
{
"countryCode": "hk",
"detailList": [
{
"timestamp": "2022-07-22 14:00",
"value": "0.66",
"flow": "24.93"
},
{
"timestamp": "2022-07-22 15:00",
"value": "1.14",
"flow": "42.76"
},
{
"timestamp": "2022-07-22 16:00",
"value": "0.94",
"flow": "35.25"
},
{
"timestamp": "2022-07-22 17:00",
"value": "0.98",
"flow": "36.81"
}
]
}
]
}
]
}