There are various approaches to integration, ranging from publishing and performing tasks directly in Toloka’s UI to using a separate registration on a third-party platform. If tasks need to be completed on the third-party platform, we recommend a “combined” approach: publish the task descriptions on Toloka and perform the tasks on the third-party platform. This approach is more familiar to our performers.
Here’s how you can set up a special type of project in Toloka that integrates with a third-party platform:
Project Creation:
Labeling Process on Third-Party Platform:
Task Visibility and Information:
Task Execution:
Data Transfer:
Payment and Withdrawal:
Project Completion:
On the Toloka side we can create preliminary training and qualification tests to allow only performers that have read instruction and understand task specific. For each task separately or unify for all tasks from the platform.
To start the labeling process, you can create a project using the common API endpoint /api/v1/projects
with the following parameters:
Issuing type:
"assignments_issuing_type": "EXTERNAL"
to specify that the task assignments will be managed outside of Toloka."assignments_issuing_view_config.redirect_url": <url>
to provide the URL where performers will be redirected to the third-party platform to complete tasks.Metadata:
To make the project more attractive to raters, it's recommended to include approximate prices in the project metadata:
ptmik_bonus_price_max
: Maximum estimated bonus price.ptmik_bonus_price_min
: Minimum estimated bonus price.Additionally, fill out the following fields:
ptmik_partner_name
: Name of the partner platform.ptmik_partner_url
: URL of the partner platform.URL Registration:
redirect_url
, it must be registered within Toloka as a valid URL for this scenario. Please contact Toloka support to get this set up.The registration process for Tolokers on third-party platforms can be handled in two ways, depending on the integration approach:
Custom Integration Protocol:
Using user_id
from Toloka:
user_id
from Toloka when a Toloker clicks the link to the platform.user_id
associated with the Toloker.user_id
can be obtained using the assignment_id
, which is passed along with the task.user_id
:
/api/v1/assignments/{id}
GET
user_id
associated with the assignment_id
, allowing the platform to complete the registration process for the Toloker.By using this method, the platform ensures that each Toloker is properly registered and associated with their tasks in a secure and streamlined manner.
When a performer (referred to as a "rater" or "Toloker") submits a task on a third-party platform, the platform sends information about the task to Toloka using the following API call:
/api/v1/tasks/external/submit
OAuth <OAuth token>
Parameter | Overview |
---|---|
pool_id | long | required ID of the pool the task belongs to. Example: 123 |
user_id | string | required The Toloker's unique ID. Example: "1a2b3c4d56781a2b3c4d5678" |
retry_id | string | Optional but recommended to track task retries. Example: "1a2b3c4d56781a2b3c4d5678" |
reward | big decimal | required The amount of money Toloka should pay for this task. Example: 10.52 |
quality | big decimal | The quality of the completed task (value between 0 and 1). Example: 0.21 |
close_session | boolean | Indicates if this was the last task for this performer on the platform. Example: true |
custom_log | string | A JSON string for antifraud purposes. Example: "{}" |
start_time | string | The time when the task started. Example: "2024-08-22T14:00:00Z" |
end_time | string | The time when the task ended. Example: "2024-08-22T14:15:00Z" |
skipped | boolean | Indicates if the Toloker skipped the task (i.e., did not complete it). Example: false |
golden_tasks_count | int | The number of exam (golden) tasks included. Example: 2 |
training_tasks_count | int | The number of training tasks included. Example: 3 |
real_tasks_count | int | The number of regular, paid tasks completed. Example: 4 |
Property | Overview |
---|---|
speed_quality_balance_match | boolean | Indicates if the Toloker is in the top N percent of performers based on speed and quality (where N is configured in the pool settings). Example: false |
restriction_match | boolean | Indicates if the Toloker is banned or has any restrictions. Example: true |
filter_match | boolean | Indicates if the Toloker meets all the filters set for the task. Example: true |
Last updated: August 22, 2024