How Mechanical Turk tasks are rendered - Amazon Mechanical Turk

How Mechanical Turk tasks are rendered

When a worker accepts a task in the Mechanical Turk marketplace, they are directed to a page for the assignment they've accepted. This page contains an iframe HTML element that has a URL for your task interface. If you define your question using the HTMLQuestion schema, the URL is for a Mechanical Turk location containing the HTML you provided. If you use the ExternalQuestion schema, this is the URL you provide, which points to your own resources.

Mechanical Turk appends four query parameters to the URL that provide your task interface with information about the assignment, as shown in the following example.

https://tictactoe.amazon.com/gamesurvey.cgi?gameid=01523   &hitId=123RVWYBAZW00EXAMPLE   &assignmentId=123RVWYBAZW00EXAMPLE456RVWYBAZW00EXAMPLE   &turkSubmitTo=https://www.mturk.com/   &workerId=AZ3456EXAMPLE

In this example, the first line is the URL that was provided in an ExternalQuestion definition, and the additional lines contain query parameters that are appended by Mechanical Turk. These are described below.

  • hitId: The ID of the HIT

  • assignmentId: The ID of the assignment that the worker has accepted for this HIT

  • turkSubmitTo: The Mechanical Turk server to which your form should submit a response

  • workerId: The ID of the worker

In most cases, you won't need to directly interact with these values, but it can be useful information in various situations. For example, you can have your question check the assignmentId value to see if a worker is currently previewing your task or if they've accepted it. If the assignmentId is ASSIGNMENT_ID_NOT_AVAILABLE, you can disable input fields so that workers don't start working on it before they've accepted it.