getActionRecommendations method

Future<GetActionRecommendationsResponse> getActionRecommendations({
  1. String? campaignArn,
  2. String? filterArn,
  3. Map<String, String>? filterValues,
  4. int? numResults,
  5. String? userId,
})

Returns a list of recommended actions in sorted in descending order by prediction score. Use the GetActionRecommendations API if you have a custom campaign that deploys a solution version trained with a PERSONALIZED_ACTIONS recipe.

For more information about PERSONALIZED_ACTIONS recipes, see PERSONALIZED_ACTIONS recipes. For more information about getting action recommendations, see Getting action recommendations.

May throw InvalidInputException. May throw ResourceNotFoundException.

Parameter campaignArn : The Amazon Resource Name (ARN) of the campaign to use for getting action recommendations. This campaign must deploy a solution version trained with a PERSONALIZED_ACTIONS recipe.

Parameter filterArn : The ARN of the filter to apply to the returned recommendations. For more information, see Filtering Recommendations.

When using this parameter, be sure the filter resource is ACTIVE.

Parameter filterValues : The values to use when filtering recommendations. For each placeholder parameter in your filter expression, provide the parameter name (in matching case) as a key and the filter value(s) as the corresponding value. Separate multiple values for one parameter with a comma.

For filter expressions that use an INCLUDE element to include actions, you must provide values for all parameters that are defined in the expression. For filters with expressions that use an EXCLUDE element to exclude actions, you can omit the filter-values. In this case, Amazon Personalize doesn't use that portion of the expression to filter recommendations.

For more information, see Filtering recommendations and user segments.

Parameter numResults : The number of results to return. The default is 5. The maximum is 100.

Parameter userId : The user ID of the user to provide action recommendations for.

Implementation

Future<GetActionRecommendationsResponse> getActionRecommendations({
  String? campaignArn,
  String? filterArn,
  Map<String, String>? filterValues,
  int? numResults,
  String? userId,
}) async {
  _s.validateNumRange(
    'numResults',
    numResults,
    0,
    1152921504606846976,
  );
  final $payload = <String, dynamic>{
    if (campaignArn != null) 'campaignArn': campaignArn,
    if (filterArn != null) 'filterArn': filterArn,
    if (filterValues != null) 'filterValues': filterValues,
    if (numResults != null) 'numResults': numResults,
    if (userId != null) 'userId': userId,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/action-recommendations',
    exceptionFnMap: _exceptionFns,
  );
  return GetActionRecommendationsResponse.fromJson(response);
}