createQualificationType method
The CreateQualificationType
operation creates a new
Qualification type, which is represented by a
QualificationType
data structure.
May throw ServiceFault. May throw RequestError.
Parameter description
:
A long description for the Qualification type. On the Amazon Mechanical
Turk website, the long description is displayed when a Worker examines a
Qualification type.
Parameter name
:
The name you give to the Qualification type. The type name is used to
represent the Qualification to Workers, and to find the type using a
Qualification type search. It must be unique across all of your
Qualification types.
Parameter qualificationTypeStatus
:
The initial status of the Qualification type.
Constraints: Valid values are: Active | Inactive
Parameter answerKey
:
The answers to the Qualification test specified in the Test parameter, in
the form of an AnswerKey data structure.
Constraints: Must not be longer than 65535 bytes.
Constraints: None. If not specified, you must process Qualification requests manually.
Parameter autoGranted
:
Specifies whether requests for the Qualification type are granted
immediately, without prompting the Worker with a Qualification test.
Constraints: If the Test parameter is specified, this parameter cannot be true.
Parameter autoGrantedValue
:
The Qualification value to use for automatically granted Qualifications.
This parameter is used only if the AutoGranted parameter is true.
Parameter keywords
:
One or more words or phrases that describe the Qualification type,
separated by commas. The keywords of a type make the type easier to find
during a search.
Parameter retryDelayInSeconds
:
The number of seconds that a Worker must wait after requesting a
Qualification of the Qualification type before the worker can retry the
Qualification request.
Constraints: None. If not specified, retries are disabled and Workers can request a Qualification of this type only once, even if the Worker has not been granted the Qualification. It is not possible to disable retries for a Qualification type after it has been created with retries enabled. If you want to disable retries, you must delete existing retry-enabled Qualification type and then create a new Qualification type with retries disabled.
Parameter test
:
The questions for the Qualification test a Worker must answer correctly to
obtain a Qualification of this type. If this parameter is specified,
TestDurationInSeconds
must also be specified.
Constraints: Must not be longer than 65535 bytes. Must be a QuestionForm data structure. This parameter cannot be specified if AutoGranted is true.
Constraints: None. If not specified, the Worker may request the Qualification without answering any questions.
Parameter testDurationInSeconds
:
The number of seconds the Worker has to complete the Qualification test,
starting from the time the Worker requests the Qualification.
Implementation
Future<CreateQualificationTypeResponse> createQualificationType({
required String description,
required String name,
required QualificationTypeStatus qualificationTypeStatus,
String? answerKey,
bool? autoGranted,
int? autoGrantedValue,
String? keywords,
int? retryDelayInSeconds,
String? test,
int? testDurationInSeconds,
}) async {
ArgumentError.checkNotNull(description, 'description');
ArgumentError.checkNotNull(name, 'name');
ArgumentError.checkNotNull(
qualificationTypeStatus, 'qualificationTypeStatus');
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'MTurkRequesterServiceV20170117.CreateQualificationType'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'Description': description,
'Name': name,
'QualificationTypeStatus': qualificationTypeStatus.toValue(),
if (answerKey != null) 'AnswerKey': answerKey,
if (autoGranted != null) 'AutoGranted': autoGranted,
if (autoGrantedValue != null) 'AutoGrantedValue': autoGrantedValue,
if (keywords != null) 'Keywords': keywords,
if (retryDelayInSeconds != null)
'RetryDelayInSeconds': retryDelayInSeconds,
if (test != null) 'Test': test,
if (testDurationInSeconds != null)
'TestDurationInSeconds': testDurationInSeconds,
},
);
return CreateQualificationTypeResponse.fromJson(jsonResponse.body);
}