GetRevenueStatistics
Retrieves ranked monetization statistics. Use the StatisticType parameter to specify the ranking: TOP_SOURCES_BY_REVENUE for top sources by revenue, or TOP_PATHS_BY_REVENUE for top content paths by revenue. This operation is only available for CLOUDFRONT scope. The maximum supported time window is 90 days. When no CurrencyMode filter is provided, results default to REAL. To retrieve test data, include a CurrencyMode filter with the value TEST.
Request Syntax
{
"Currency": "string",
"Filters": [
{
"Name": "string",
"Values": [ "string" ]
}
],
"GroupBy": "string",
"Limit": number,
"NextMarker": "string",
"Scope": "string",
"SortBy": "string",
"SortOrder": "string",
"StatisticType": "string",
"TimeWindow": {
"EndTime": number,
"StartTime": number
}
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters.
The request accepts the following data in JSON format.
- Currency
-
The currency for the revenue amounts in the response.
Type: String
Valid Values:
USDCRequired: Yes
- Filters
-
Optional filters to narrow the results.
Type: Array of MonetizationFilter objects
Array Members: Minimum number of 1 item. Maximum number of 20 items.
Required: No
- GroupBy
-
The dimension to group results by:
NAME,CATEGORY,INTENT,ORGANIZATION, orWEBACL. Required whenStatisticTypeisTOP_SOURCES_BY_REVENUE. Not required forTOP_PATHS_BY_REVENUE, where results are grouped by content path. IfStatisticTypeisTOP_SOURCES_BY_REVENUEandGroupByis omitted, the request is rejected with aWAFInvalidParameterException.Type: String
Valid Values:
NAME | CATEGORY | INTENT | ORGANIZATION | WEBACLRequired: No
- Limit
-
The maximum number of results to return.
Type: Integer
Valid Range: Minimum value of 1. Maximum value of 100.
Required: No
- NextMarker
-
When you get a paginated response, this marker indicates that additional results are available. Use it in a subsequent request to retrieve the next page of results.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 256.
Pattern:
.*\S.*Required: No
- Scope
-
Specifies whether this is for a Amazon CloudFront distribution (
CLOUDFRONT) or for a regional application (REGIONAL).Type: String
Valid Values:
CLOUDFRONT | REGIONALRequired: Yes
- SortBy
-
The field to sort results by:
REVENUE,PERCENTAGE, orNAME.Type: String
Valid Values:
REVENUE | PERCENTAGE | NAMERequired: No
- SortOrder
-
The sort order:
ASCfor ascending orDESCfor descending.Type: String
Valid Values:
ASC | DESCRequired: No
- StatisticType
-
TOP_SOURCES_BY_REVENUEranks revenue from AI bot traffic, grouped by the dimension you specify in theGroupByparameter (NAME,CATEGORY,INTENT,ORGANIZATION, orWEBACL);GroupByis required for this statistic type.TOP_PATHS_BY_REVENUEranks revenue by path.Type: String
Valid Values:
TOP_SOURCES_BY_REVENUE | TOP_PATHS_BY_REVENUERequired: Yes
- TimeWindow
-
The time range for the query. Specify start and end timestamps.
Type: TimeWindow object
Required: Yes
Response Syntax
{
"NextMarker": "string",
"RevenuePathStatistics": [
{
"Amount": "string",
"Path": "string",
"Percentage": number,
"RequestCount": number
}
],
"SourceStatistics": [
{
"Amount": "string",
"GroupByValue": "string",
"Intent": "string",
"Organization": "string",
"Percentage": number,
"RequestCount": number,
"SourceCategory": "string",
"SourceName": "string",
"Verified": boolean
}
]
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- NextMarker
-
When you get a paginated response, this marker indicates that additional results are available.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 256.
Pattern:
.*\S.* - RevenuePathStatistics
-
Statistics for top revenue paths. Populated when
StatisticTypeisTOP_PATHS_BY_REVENUE.Type: Array of RevenuePathStatistics objects
- SourceStatistics
-
Statistics for top revenue sources (AI bots). Populated when
StatisticTypeisTOP_SOURCES_BY_REVENUE.Type: Array of SourceStatistics objects
Errors
For information about the errors that are common to all actions, see Common Error Types.
- WAFInternalErrorException
-
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.
HTTP Status Code: 500
- WAFInvalidOperationException
-
The operation isn't valid.
HTTP Status Code: 400
- WAFInvalidParameterException
-
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:
-
You specified a parameter name or value that isn't valid.
-
Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.
-
You tried to update a
WebACLwith aDefaultActionthat isn't among the types available at DefaultAction. -
Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.
- Field
-
The settings where the invalid parameter was found.
- Parameter
-
The invalid parameter that resulted in the exception.
- Reason
-
Additional information about the exception.
HTTP Status Code: 400
-
- WAFNonexistentItemException
-
AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: