listSessionAnalyticsData method
Retrieves a list of metadata for individual user sessions with your bot.
The startDateTime and endDateTime fields are
required. These fields 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
filtersfield to filter the results and thesortByfield to specify the values by which to sort the results. -
Use the
maxResultsfield to limit the number of results to return in a single response and thenextTokenfield to return the next batch of results if the response does not return the full set of results.
May throw InternalServerException.
May throw PreconditionFailedException.
May throw ServiceQuotaExceededException.
May throw ThrottlingException.
May throw ValidationException.
Parameter botId :
The identifier for the bot for which you want to retrieve session
analytics.
Parameter endDateTime :
The date and time that marks the end of the range of time for which you
want to see session analytics.
Parameter startDateTime :
The date and time that marks the beginning of the range of time for which
you want to see session analytics.
Parameter filters :
A list of objects, each of which describes a condition by which you want
to filter the results.
Parameter 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.
Parameter nextToken :
If the response from the ListSessionAnalyticsData 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 ListSessionAnalyticsData request to return the next page of results. For a complete set of results, call the ListSessionAnalyticsData operation until the nextToken returned in the response is null.
Parameter sortBy :
An object specifying the measure and method by which to sort the session
analytics data.
Implementation
Future<ListSessionAnalyticsDataResponse> listSessionAnalyticsData({
required String botId,
required DateTime endDateTime,
required DateTime startDateTime,
List<AnalyticsSessionFilter>? filters,
int? maxResults,
String? nextToken,
SessionDataSortBy? sortBy,
}) async {
_s.validateNumRange(
'maxResults',
maxResults,
1,
1000,
);
final $payload = <String, dynamic>{
'endDateTime': unixTimestampToJson(endDateTime),
'startDateTime': unixTimestampToJson(startDateTime),
if (filters != null) 'filters': filters,
if (maxResults != null) 'maxResults': maxResults,
if (nextToken != null) 'nextToken': nextToken,
if (sortBy != null) 'sortBy': sortBy,
};
final response = await _protocol.send(
payload: $payload,
method: 'POST',
requestUri: '/bots/${Uri.encodeComponent(botId)}/analytics/sessions',
exceptionFnMap: _exceptionFns,
);
return ListSessionAnalyticsDataResponse.fromJson(response);
}