When trying to use ContactWorkers for an ineligible worker (one who hasn't worked for you before), the MTurk response is that the request was valid but also contains a NotifyWorkersFailureStatus element. These need to be parsed and the value in the ContactWorkers return value should probably be changed from TRUE to something else.
Here's an example response:
<?xml version="1.0"?>
<NotifyWorkersResponse>
<OperationRequest>
<RequestId>b8eed79a-dd73-4249-92ab-e6cf9b3e3a20</RequestId></OperationRequest>
<NotifyWorkersResult>
<Request>
<IsValid>True</IsValid>
</Request>
<NotifyWorkersFailureStatus>
<WorkerId>A11VGV0ZAI1EQ2</WorkerId>
<NotifyWorkersFailureMessage>Cannot send a notification to a worker who has not done any work for you</NotifyWorkersFailureMessage>
<NotifyWorkersFailureCode>HardFailure</NotifyWorkersFailureCode>
</NotifyWorkersFailureStatus>
</NotifyWorkersResult>
</NotifyWorkersResponse>
The response in batch mode is similar:
<?xml version="1.0"?>
<NotifyWorkersResponse><OperationRequest><RequestId>7311d1f3-14f3-4171-9b33-ebf7c0d15ec6</RequestId></OperationRequest><NotifyWorkersResult><Request><IsValid>True</IsValid></Request><NotifyWorkersFailureStatus><WorkerId>A12H0Z2FYNK844</WorkerId><NotifyWorkersFailureMessage>Cannot send a notification to a worker who has not done any work for you</NotifyWorkersFailureMessage><NotifyWorkersFailureCode>HardFailure</NotifyWorkersFailureCode></NotifyWorkersFailureStatus><NotifyWorkersFailureStatus><WorkerId>A11VGV0ZAI1EQ2</WorkerId><NotifyWorkersFailureMessage>Cannot send a notification to a worker who has not done any work for you</NotifyWorkersFailureMessage><NotifyWorkersFailureCode>HardFailure</NotifyWorkersFailureCode></NotifyWorkersFailureStatus></NotifyWorkersResult></NotifyWorkersResponse>
When trying to use
ContactWorkers
for an ineligible worker (one who hasn't worked for you before), the MTurk response is that the request was valid but also contains aNotifyWorkersFailureStatus
element. These need to be parsed and the value in theContactWorkers
return value should probably be changed from TRUE to something else.Here's an example response:
The response in batch mode is similar: