ListIntentMetrics
Retrieves summary metrics for the intents in your bot. The following fields are required:
-
metrics
– A list of AnalyticsIntentMetric objects. In each object, use thename
field to specify the metric to calculate, thestatistic
field to specify whether to calculate theSum
,Average
, orMax
number, and theorder
field to specify whether to sort the results inAscending
orDescending
order. -
startDateTime
andendDateTime
– Define a time range for which you want to retrieve results.
Of the optional fields, you can organize the results in the following ways:
-
Use the
filters
field to filter the results, thegroupBy
field to specify categories by which to group the results, and thebinBy
field to specify time intervals by which to group the results. -
Use the
maxResults
field to limit the number of results to return in a single response and thenextToken
field to return the next batch of results if the response does not return the full set of results.
Note that an order
field exists in both binBy
and metrics
. You can specify only one order
in a given request.
Request Syntax
POST /bots/botId
/analytics/intentmetrics HTTP/1.1
Content-type: application/json
{
"binBy": [
{
"interval": "string
",
"name": "string
",
"order": "string
"
}
],
"endDateTime": number
,
"filters": [
{
"name": "string
",
"operator": "string
",
"values": [ "string
" ]
}
],
"groupBy": [
{
"name": "string
"
}
],
"maxResults": number
,
"metrics": [
{
"name": "string
",
"order": "string
",
"statistic": "string
"
}
],
"nextToken": "string
",
"startDateTime": number
}
URI Request Parameters
The request uses the following URI parameters.
- botId
-
The identifier for the bot for which you want to retrieve intent metrics.
Length Constraints: Fixed length of 10.
Pattern:
^[0-9a-zA-Z]+$
Required: Yes
Request Body
The request accepts the following data in JSON format.
- binBy
-
A list of objects, each of which contains specifications for organizing the results by time.
Type: Array of AnalyticsBinBySpecification objects
Array Members: Fixed number of 1 item.
Required: No
- endDateTime
-
The date and time that marks the end of the range of time for which you want to see intent metrics.
Type: Timestamp
Required: Yes
- filters
-
A list of objects, each of which describes a condition by which you want to filter the results.
Type: Array of AnalyticsIntentFilter objects
Array Members: Minimum number of 1 item. Maximum number of 9 items.
Required: No
- groupBy
-
A list of objects, each of which specifies how to group the results. You can group by the following criteria:
-
IntentName
– The name of the intent. -
IntentEndState
– The final state of the intent. The possible end states are detailed in Key definitions in the user guide.
Type: Array of AnalyticsIntentGroupBySpecification objects
Array Members: Minimum number of 1 item. Maximum number of 3 items.
Required: No
-
- maxResults
-
The maximum number of results to return in each page of results. If there are fewer results than the maximum page size, only the actual number of results are returned.
Type: Integer
Valid Range: Minimum value of 1. Maximum value of 1000.
Required: No
- metrics
-
A list of objects, each of which contains a metric you want to list, the statistic for the metric you want to return, and the order by which to organize the results.
Type: Array of AnalyticsIntentMetric objects
Array Members: Minimum number of 1 item. Maximum number of 5 items.
Required: Yes
- nextToken
-
If the response from the ListIntentMetrics operation contains more results than specified in the maxResults parameter, a token is returned in the response.
Use the returned token in the nextToken parameter of a ListIntentMetrics request to return the next page of results. For a complete set of results, call the ListIntentMetrics operation until the nextToken returned in the response is null.
Type: String
Required: No
- startDateTime
-
The timestamp that marks the beginning of the range of time for which you want to see intent metrics.
Type: Timestamp
Required: Yes
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"botId": "string",
"nextToken": "string",
"results": [
{
"binKeys": [
{
"name": "string",
"value": number
}
],
"groupByKeys": [
{
"name": "string",
"value": "string"
}
],
"metricsResults": [
{
"name": "string",
"statistic": "string",
"value": number
}
]
}
]
}
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.
- botId
-
The identifier for the bot for which you retrieved intent metrics.
Type: String
Length Constraints: Fixed length of 10.
Pattern:
^[0-9a-zA-Z]+$
- nextToken
-
If the response from the ListIntentMetrics operation contains more results than specified in the maxResults parameter, a token is returned in the response.
Use the returned token in the nextToken parameter of a ListIntentMetrics request to return the next page of results. For a complete set of results, call the ListIntentMetrics operation until the nextToken returned in the response is null.
Type: String
- results
-
The results for the intent metrics.
Type: Array of AnalyticsIntentResult objects
Errors
For information about the errors that are common to all actions, see Common Errors.
- InternalServerException
-
The service encountered an unexpected condition. Try your request again.
HTTP Status Code: 500
- PreconditionFailedException
-
Your request couldn't be completed because one or more request fields aren't valid. Check the fields in your request and try again.
HTTP Status Code: 412
- ServiceQuotaExceededException
-
You have reached a quota for your bot.
HTTP Status Code: 402
- ThrottlingException
-
Your request rate is too high. Reduce the frequency of requests.
HTTP Status Code: 429
- ValidationException
-
One of the input parameters in your request isn't valid. Check the parameters and try your request again.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: