universal
This interface is used to query the back-to-origin request status code every minute within a specified time range. Users need to provide a time interval and a domain name list, and can select query dimensions, such as specific status codes or status code types (success, redirection, server error, etc.). The returned data includes detailed information on the request time and total number of requests. This interface is used to monitor the health status of the website, optimize the response of the origin station, and help analyze and adjust the network architecture to improve service stability and visitor experience.
Single user trigger frequency: 300/5min
| Name | Description |
|---|---|
*dateFromString | Start date:
1.The time format is yyyy-MM-ddTHH:mm:ss±HH:mm. Please note: ±HH:mm is the time zone offset, which can be adjusted according to your data needs, for example, +00:00 represents UTC time, +08:00 represents East 8th District, and -05:00 represents West 5th District. 2024-01-15T10:30:45+00:00 means UTC time January 15, 2024 10:30:45 AM
2.Cannot exceed current time
3.The most recent six-month (183 days) data are available. |
*dateToString | End time:
1.The time format is yyyy-MM-ddTHH:mm:ss±HH:mm. Please note: ±HH:mm is the time zone offset, which can be adjusted according to your data needs, for example, +00:00 represents UTC time, +08:00 represents East 8th District, and -05:00 represents West 5th District. 2024-01-15T10:30:45+00:00 means UTC time January 15, 2024 10:30:45 AM
2.The end time needs to be greater than the start time. If the end time is greater than the current time, take the current time.
3.Date from, Date to both, the default query past 24 hours; If there is only one unsent, throw an exception
4.The default maximum query time interval is 24 hours (you can contact technical support to adjust it, up to 31 days) |
*domainList | Domain name:
1.The maximum number of TLDs that can be delivered is 20 by default (contact technical support adjustment);
2.Automatically filter out illegal domain names (pass illegal domain names, will be filtered out, the query results only return the data of legitimate domain names)
3.Domain name exceeding limit, misstatement |
*dataIntervalString | Data granularity:
1.The default is 1m ;
2.Support 1m (1 minute), 5m (5 minutes) |
*queryByString | Query dimension:
1.Optional value statusCode, statusCodeType, 2XX, 3XX, 4XX, 5XX. Default value is statusCode;
2.StatusCode: returns the source status code details
3.statusCodeType: returns the requests of eachstatus code type (such as the number of requests corresponding to success, redirect, not modified, permission, not found, server error, and other)
4.2XX:Returns the 2XX return source status code summary and the 2 start return source status code detail data;
5.3XX:Returns the 2XX return source status code summary and the 3 start return source status code detail data;
6.4XX:Returns the 2XX return source status code summary and the 4 start return source status code detail data;
7.5XX:Returns the 2XX return source status code summary and the 5 start return source status code detail data; |
| Name | Description |
|---|---|
codeString | request result status code |
messageString | Request result information |
dataList | Detailed data on the results of the request |
timestampString | time, in yyyy-MM-dd HH:MM |
valueString | Total number of return requests |
statusCodeString | StatusCode |
statusCodeTypeString | Success, Redirect, Not-Modified, Permission, Not-Found, Server Error, Other |
| Error code(code) | Description(message) | HTTP status | Semantic |
|---|---|---|---|
| 24102014 | Request body not delivered | 400 | Request body not delivered |
| 24102013 | Accept request header not supported, interface only supports json and xml format, default to json format | 400 | Accept request header not supported, interface only supports json and xml format, default to json format |
| 24102020 | Request Head Time Zone Illegal | 400 | Request Head Time Zone Illegal |
| 24102002 | Request physical error | 400 | Request physical error |
| 24102006 | Date from or dateTo does not conform to specifications or is not legal in a time interval | 400 | Date from or dateTo does not conform to specifications or is not legal in a time interval |
| 24102007 | Date from and dateTo exceed the limit | 400 | Date from and dateTo exceed the limit |
| 24102019 | Number of domain names passed exceeds account limit | 400 | Number of domain names passed exceeds account limit |
| 24102008 | Parameter domain does not conform to specification | 400 | Parameter domain does not conform to specification |
| 24102008 | Parameter queryBy does not conform to specification | 400 | Parameter queryBy does not conform to specification |
| 24102500 | System error occurred | 500 | System error occurred |
#!/bin/bash
# Please remember to change the param (-H "X-Time-Zone") in this demo to the TimeZone you want in response
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.atomile.com/api/report/status-code/real-time/origin/total" \
-X "POST" \
-H "X-Time-Zone:GMT+00:00" \
-u "$username:$password" \
-H "Date: $date" \
-H "Accept: application/json" \
-d '{
"dateFrom": "2019-08-30T00:00:00+00:00",
"dateTo": "2019-08-30T23:00:00+00:00",
"domain": ["www.aaa.com","www.bbb.com"],
"dataInterval": "5m",
"queryBy":"2XX"
}'{
"code": "0",
"message": "success",
"data": [
{
"statusCode": "2XX",
"detailList": [
{
"timestamp": "2019-08-30 10:00",
"value": "1200000"
},
{
"timestamp": "2019-08-30 10:05",
"value": "1800000"
}
]
},
{
"statusCode": "200",
"detailList": [
{
"timestamp": "2019-08-30 10:00",
"value": "3600000"
},
{
"timestamp": "2019-08-30 10:05",
"value": "4800000"
}
]
},
{
"statusCode": "201",
"detailList": [
{
"timestamp": "2019-08-30 10:00",
"value": "1800000"
}
]
},
{
"statusCode": "203",
"detailList": [
{
"timestamp": "2019-08-30 10:05",
"value": "2400000"
}
]
}
]
}