3.0.2 • Published 8 years ago

mturk-api v3.0.2

Weekly downloads
50
License
MIT
Repository
github
Last release
8 years ago

NPM version Downloads

alt text

Install

npm install mturk-api

Basic usage

var mturk = require('mturk-api');

var config = {
    access : 'ACCESS_KEY_GOES_HERE',
    secret : 'SECRET_KEY_GOES_HERE',
    sandbox: true
}


mturk.createClient(config).then(function(api){


  api.req('GetAccountBalance').then(function(res){
    //Do something
  }).catch(console.error);


  //Example operation, with params
  api.req('SearchHITs', { PageSize: 100 }).then(function(res){
     //Do something
  }).catch(console.error)


  //MTurk limits the velocity of requests. Normally,
  //if you exceed their request rate-limit, you will receive a
  //'503 Service Unavailable' response. As of v2.0, our interface
  //automatically throttles your requests to 3 per second.
  for(var i=0; i < 20; i++){
    //These requests will be queued and executed at a rate of 3 per second
    api.req('SearchHITs', { PageNumber: i }).then(function(res){
      //Do something
    }).catch(console.error);
  }


}).catch(console.error);

###Create HIT Example

//Import an XML file. You can use one of our examples in the templates folder *
fs.readFile('./templates/HTMLQuestion.xml', 'utf8', function(err, unescapedXML){
  if(err){console.error(err);return}
  
  //HIT options
  var params = {
    Title: "Create HIT Example",
    Description: "An example of how to create a HIT",
    Question: _.escape(unescapedXML),//IMPORTANT: XML NEEDS TO BE ESCAPED!
    AssignmentDurationInSeconds: 180, // Allow 3 minutes to answer
    AutoApprovalDelayInSeconds: 86400 * 1, // 1 day auto approve
    MaxAssignments: 100, // 100 worker responses
    LifetimeInSeconds: 86400 * 3, // Expire in 3 days
    Reward: {CurrencyCode:'USD', Amount:0.50}
  };
  
  api.req('CreateHIT', params).then(function(res){
    //DO SOMETHING
  }).catch(console.error);
  
})

* To see the all available Question templates, go to our templates folder

Supported API Operations

OperationRequired ParametersUnit test
ApproveAssignment{ AssignmentId:String }
ApproveRejectedAssignment{ AssignmentId:String }
AssignQualification{ QualificationTypeId:String, WorkerId:String }
BlockWorker{ WorkerId:String, Reason:String }
ChangeHITTypeOfHIT{ HITId:String, HITTypeId:String}
CreateHIT{ Title:String, Description:String, AssignmentDurationInSeconds:Number, LifetimeInSeconds:Number } OR {HITTypeId:String, LifetimeInSeconds:Number }
CreateQualificationType{ Name:String, Description:String, QualificationTypeStatus:String }
DisableHIT{ HITId:String }
DisposeHIT{ HITId:String }
DisposeQualificationType{QualificationTypeId:String}
ExtendHIT{ HITId:String }
ForceExpireHIT{ HITId:String }
GetAccountBalanceNone
GetAssignment{ AssignmentId:String }
GetAssignmentsForHIT{ HITId:String }
GetBlockedWorkersNone
GetBonusPayments{ HITId:String } OR { AssignmentId:String }
GetFileUploadURL{ AssignmentId:String, QuestionIdentifier:String }
GetHIT{ HITId:String }
GetHITsForQualificationType{ QualificationTypeId:String }
GetQualificationsForQualificationType{ QualificationTypeId:String }
GetQualificationRequestsNone
GetQualificationScore{ QualificationTypeId:String, SubjectId:String}
GetQualificationType{ QualificationTypeId:String }
GetRequesterStatistic{ Statistic:String, TimePeriod:String }
GetRequesterWorkerStatistic{Statistic:String, WorkerId:String, TimePeriod:String }
GetReviewableHITsNone
GetReviewResultsForHIT{ HITId:String }
GrantBonus{ WorkerId:String, AssignmentId:String, BonusAmount:Object, Reason:String }
GrantQualification{ QualificationRequestId:String }
NotifyWorkers{ Subject:String, MessageText:String, WorkerId:Array}
RegisterHITType{ Title:String, Description:String, Reward:Object, AssignmentDurationInSeconds:Number }
RejectAssignment{ AssignmentId:String }
RejectQualificationRequest{ QualificationRequestId:String }
RevokeQualification{ Subject:String, QualificationTypeId:String, Reason:String }
SearchHITsNone
SearchQualificationTypes{ MustBeRequestable:Boolean }
SendTestEventNotification{ Notification:Object, TestEventType:Object }
SetHITAsReviewing{ HITId:String }
SetHITTypeNotification{ HITTypeId:String, Notification:Object, }
UnblockWorker{ WorkerId:String, }
UpdateQualificationScore{ QualificationTypeId:String, SubjectId:String, IntegerValue:Number }
UpdateQualificationType{ QualificationTypeId:String }

License

MIT © Jose Barrios

Banner derived from Cosmin Cuciureanu's BrainUP

3.0.2

8 years ago

3.0.1

8 years ago

2.2.2

8 years ago

2.2.1

8 years ago

2.2.0

8 years ago

2.1.1

8 years ago

2.1.0

8 years ago

2.0.1

8 years ago

2.0.0

8 years ago

3.0.0

8 years ago

1.3.5

8 years ago

1.3.4

8 years ago

1.3.2

9 years ago

1.3.1

9 years ago

1.3.0

9 years ago

1.2.1

9 years ago

1.2.0

9 years ago

1.1.2

9 years ago

1.1.1

9 years ago

1.1.0

9 years ago

1.0.10

9 years ago

1.0.9

9 years ago

1.0.8

9 years ago

1.0.7

9 years ago

1.0.5

9 years ago

1.0.4

9 years ago

1.0.3

9 years ago

1.0.2

9 years ago

1.0.1

9 years ago

1.0.0

9 years ago

0.0.13

9 years ago

0.0.12

9 years ago

0.0.11

9 years ago

0.0.10

9 years ago

0.0.9

9 years ago

0.0.8

9 years ago

0.0.7

9 years ago

0.0.6

9 years ago

0.0.5

9 years ago

0.0.4

9 years ago

0.0.3

9 years ago

0.0.2

9 years ago

0.0.1

9 years ago