getUtterancesView method

Future<GetUtterancesViewResponse> getUtterancesView({
  1. required String botName,
  2. required List<String> botVersions,
  3. required StatusType statusType,
})

Use the GetUtterancesView operation to get information about the utterances that your users have made to your bot. You can use this list to tune the utterances that your bot responds to.

For example, say that you have created a bot to order flowers. After your users have used your bot for a while, use the GetUtterancesView operation to see the requests that they have made and whether they have been successful. You might find that the utterance "I want flowers" is not being recognized. You could add this utterance to the OrderFlowers intent so that your bot recognizes that utterance.

After you publish a new version of a bot, you can get information about the old version and the new so that you can compare the performance across the two versions.

Utterance statistics are generated once a day. Data is available for the last 15 days. You can request information for up to 5 versions of your bot in each request. Amazon Lex returns the most frequent utterances received by the bot in the last 15 days. The response contains information about a maximum of 100 utterances for each version.

If you set childDirected field to true when you created your bot, or if you opted out of participating in improving Amazon Lex, utterances are not available.

This operation requires permissions for the lex:GetUtterancesView action.

May throw LimitExceededException. May throw InternalFailureException. May throw BadRequestException.

Parameter botName : The name of the bot for which utterance information should be returned.

Parameter botVersions : An array of bot versions for which utterance information should be returned. The limit is 5 versions per request.

Parameter statusType : To return utterances that were recognized and handled, use Detected. To return utterances that were not recognized, use Missed.

Implementation

Future<GetUtterancesViewResponse> getUtterancesView({
  required String botName,
  required List<String> botVersions,
  required StatusType statusType,
}) async {
  ArgumentError.checkNotNull(botName, 'botName');
  _s.validateStringLength(
    'botName',
    botName,
    2,
    50,
    isRequired: true,
  );
  ArgumentError.checkNotNull(botVersions, 'botVersions');
  ArgumentError.checkNotNull(statusType, 'statusType');
  final $query = <String, List<String>>{
    'bot_versions': botVersions,
    'status_type': [statusType.toValue()],
  };
  final response = await _protocol.send(
    payload: null,
    method: 'GET',
    requestUri:
        '/bots/${Uri.encodeComponent(botName)}/utterances?view=aggregation',
    queryParams: $query,
    exceptionFnMap: _exceptionFns,
  );
  return GetUtterancesViewResponse.fromJson(response);
}