createCallAnalyticsCategory method
Creates a new Call Analytics category.
All categories are automatically applied to your Call Analytics transcriptions. Note that in order to apply categories to your transcriptions, you must create them before submitting your transcription request, as categories cannot be applied retroactively.
When creating a new category, you can use the InputType
parameter to label the category as a POST_CALL or a
REAL_TIME category. POST_CALL categories can
only be applied to post-call transcriptions and REAL_TIME
categories can only be applied to real-time transcriptions. If you do not
include InputType, your category is created as a
POST_CALL category by default.
Call Analytics categories are composed of rules. For each category, you must create between 1 and 20 rules. Rules can include these parameters: , , , and .
To update an existing category, see .
To learn more about Call Analytics categories, see Creating categories for post-call transcriptions and Creating categories for real-time transcriptions.
May throw BadRequestException.
May throw ConflictException.
May throw InternalFailureException.
May throw LimitExceededException.
Parameter categoryName :
A unique name, chosen by you, for your Call Analytics category. It's
helpful to use a detailed naming system that will make sense to you in the
future. For example, it's better to use
sentiment-positive-last30seconds for a category over a
generic name like test-category.
Category names are case sensitive.
Parameter rules :
Rules define a Call Analytics category. When creating a new category, you
must create between 1 and 20 rules for that category. For each rule, you
specify a filter you want applied to the attributes of a call. For
example, you can choose a sentiment filter that detects if a customer's
sentiment was positive during the last 30 seconds of the call.
Parameter inputType :
Choose whether you want to create a real-time or a post-call category for
your Call Analytics transcription.
Specifying POST_CALL assigns your category to post-call
transcriptions; categories with this input type cannot be applied to
streaming (real-time) transcriptions.
Specifying REAL_TIME assigns your category to streaming
transcriptions; categories with this input type cannot be applied to
post-call transcriptions.
If you do not include InputType, your category is created as
a post-call category by default.
Parameter tags :
Adds one or more custom tags, each in the form of a key:value pair, to a
new call analytics category at the time you start this new job.
To learn more about using tags with Amazon Transcribe, refer to Tagging resources.
Implementation
Future<CreateCallAnalyticsCategoryResponse> createCallAnalyticsCategory({
required String categoryName,
required List<Rule> rules,
InputType? inputType,
List<Tag>? tags,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'Transcribe.CreateCallAnalyticsCategory'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'CategoryName': categoryName,
'Rules': rules,
if (inputType != null) 'InputType': inputType.value,
if (tags != null) 'Tags': tags,
},
);
return CreateCallAnalyticsCategoryResponse.fromJson(jsonResponse.body);
}