Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

mturk-api

Package Overview
Dependencies
Maintainers
1
Versions
43
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mturk-api

JS implementation of Amazon Mechanical Turk (mturk) API

  • 3.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
207
increased by10.11%
Maintainers
1
Weekly downloads
 
Created
Source

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

Keywords

FAQs

Package last updated on 24 Jul 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc