ডকসডেভেলপারদের জন্য
TaskerData API
আপনার নিজের কোড থেকে ক্যাম্পেইন দিন, ওয়ার্কারদের সাবমিশন সংগ্রহ ও রিভিউ করুন, অথবা একটি এক্সটার্নাল কোয়ালিফিকেশন টেস্ট যুক্ত করুন। প্রতিটি রিকোয়েস্ট আপনার API key দিয়ে অথেনটিকেট হয়।
সংক্ষিপ্ত পরিচিতি
Campaign API দিয়ে আপনার কোড সেই কাজগুলো করতে পারে যা আপনি রিকোয়েস্টার ড্যাশবোর্ডে করেন: ক্যাম্পেইন তৈরি করা, অগ্রগতি দেখা, প্রমাণসহ সাবমিশন ডাউনলোড করা এবং সেগুলো অনুমোদন বা প্রত্যাখ্যান করা। এক্সটার্নাল কোয়ালিফিকেশন এন্ডপয়েন্টের মাধ্যমে আপনার ওয়েবসাইটের টেস্ট TaskerData-কে জানাতে পারে প্রতিটি ওয়ার্কার পাস করেছে কি না।
সব রিকোয়েস্ট HTTPS-এর মাধ্যমে https://taskerdata.com এ যায়। ডেটা পাঠান ও পান JSON আকারে।
API দিয়ে তৈরি ক্যাম্পেইনের খরচ ও নিয়ম ড্যাশবোর্ডের মতোই। লাইভ হওয়ার আগে TaskerData সেগুলো রিভিউ করে (বিশ্বস্ত রিকোয়েস্টারদের ক্যাম্পেইন সঙ্গে সঙ্গে লাইভ হয়), এবং টাকা একইভাবে সংরক্ষিত রাখা ও পরিশোধ করা হয়।
অথেনটিকেশন
রিকোয়েস্টার ড্যাশবোর্ড খুলে API-তে যান। সেখানে দুটি key পাবেন:
- API Key: আসল রিকোয়েস্টের জন্য। Campaign API এটি Authorization হেডার থেকে পড়ে। কোয়ালিফিকেশন এন্ডপয়েন্টে এটি api_token হিসেবে পাঠান।
- টেস্ট API Key: শুধু কোয়ালিফিকেশন টেস্ট এন্ডপয়েন্টের জন্য, যাতে আসল ওয়ার্কারদের প্রভাবিত না করেই সেই ইন্টিগ্রেশন পরীক্ষা করতে পারেন।
নতুন key তৈরি করলে পুরোনোটি সঙ্গে সঙ্গে বাতিল হয়ে যায়, তাই তখন আপনার ব্যাকএন্ড আপডেট করুন। প্রতি ঘণ্টায় সর্বোচ্চ 3টি নতুন key তৈরি করতে পারবেন।
গুরুত্বপূর্ণ: আপনার API key গোপন রাখুন। এটি শুধু আপনার সার্ভারে ব্যবহার করুন, কখনও এমন ওয়েব পেজ বা অ্যাপে নয় যা ভিজিটররা খুলতে পারে।
প্রতিটি Campaign API রিকোয়েস্টের সাথে আপনার API key পাঠান:
Authorization: Bearer YOUR_API_KEYপ্রতি মিনিটে সর্বোচ্চ 120টি Campaign API রিকোয়েস্ট করতে পারবেন। X-RateLimit-Remaining হেডারে দেখায় আর কতগুলো বাকি আছে। এরপর স্ট্যাটাস 429 আসে, আর Retry-After হেডার জানায় কত সেকেন্ড অপেক্ষা করতে হবে।
Campaign API
আপনার নিজের কোড থেকে ক্যাম্পেইন তৈরি করুন এবং সেগুলোর মাধ্যমে আসা কাজ সামলান।
ক্যাম্পেইনের তালিকা
GET/api/v1/campaigns
আপনার ক্যাম্পেইনগুলো, নতুনগুলো আগে। total জানায় কতগুলো ক্যাম্পেইন মেলে, যাতে limit ও offset দিয়ে পেজ ধরে দেখতে পারেন।
কোয়েরি প্যারামিটার
| প্যারামিটার | বিবরণ |
|---|---|
status | শুধু এই স্ট্যাটাসের ক্যাম্পেইন: pending, in review, active, paused, completed, terminated বা rejected |
limit | কতগুলো ফেরত দেবে, 1 থেকে 100 (ডিফল্ট 20) |
offset | পেজিংয়ের জন্য কতগুলো বাদ দেবে (ডিফল্ট 0) |
curl "https://taskerdata.com/api/v1/campaigns?status=active&limit=20" \
-H "Authorization: Bearer $TASKERDATA_API_KEY"রেসপন্স · 200
{
"success": true,
"campaigns": [
{
"id": "Ab12…-Cd34…-Ef56…",
"title": "Test our sign-up page",
"status": "active",
"category": "Website Testing",
"type": "instructions",
"url": "https://example.com/signup",
"payment": 0.5,
"positions": 50,
"filled_positions": 12,
"time_to_complete": 10,
"time_to_rate": 3,
"cost": 34.06,
"proof": {
"text": "What went wrong?",
"images": [
"Screenshot after signing up"
],
"video": null
},
"qualification_id": null,
"created_at": "2026-10-16T09:30:00.000Z"
}
],
"total": 1,
"limit": 20,
"offset": 0
}এররের উদাহরণ
// status 401
{
"success": false,
"error": {
"code": "invalid_api_key",
"message": "Invalid API key."
}
}একটি ক্যাম্পেইন দেখুন
GET/api/v1/campaigns/{id}
একটি ক্যাম্পেইন, তার সেটিংস এবং কতগুলো সাবমিশন রিভিউয়ের অপেক্ষায়, সংশোধনের অপেক্ষায়, অনুমোদিত ও প্রত্যাখ্যাত। ক্যাম্পেইনের অগ্রগতি দেখতে এটি ব্যবহার করুন।
ঠিকানার মধ্যে
| প্যারামিটার | বিবরণ |
|---|---|
id আবশ্যক | ক্যাম্পেইন ID (ক্যাম্পেইনের তালিকায় id) |
curl "https://taskerdata.com/api/v1/campaigns/CAMPAIGN_ID" \
-H "Authorization: Bearer $TASKERDATA_API_KEY"রেসপন্স · 200
{
"success": true,
"campaign": {
"id": "Ab12…-Cd34…-Ef56…",
"title": "Test our sign-up page",
"status": "active",
"category": "Website Testing",
"type": "instructions",
"url": "https://example.com/signup",
"payment": 0.5,
"positions": 50,
"filled_positions": 12,
"time_to_complete": 10,
"time_to_rate": 3,
"cost": 34.06,
"proof": {
"text": "What went wrong?",
"images": [
"Screenshot after signing up"
],
"video": null
},
"qualification_id": null,
"created_at": "2026-10-16T09:30:00.000Z",
"submissions": {
"total": 14,
"to_review": 3,
"revision_requested": 1,
"approved": 9,
"rejected": 1
}
}
}এররের উদাহরণ
// status 404
{
"success": false,
"error": {
"code": "not_found",
"message": "Campaign not found."
}
}ক্যাম্পেইন তৈরি করুন
POST/api/v1/campaigns
একটি নতুন ক্যাম্পেইন দেয় এবং আপনার উপলব্ধ ব্যালেন্স থেকে এর পুরো খরচ সংরক্ষিত রাখে, ঠিক ড্যাশবোর্ডের মতো। উত্তরে থাকে ক্যাম্পেইনের id, খরচ এবং স্ট্যাটাস: TaskerData রিভিউ করার সময় pending, অথবা আপনি বিশ্বস্ত রিকোয়েস্টার হলে সঙ্গে সঙ্গে active।
JSON বডি
| প্যারামিটার | বিবরণ |
|---|---|
title আবশ্যক | ক্যাম্পেইনের শিরোনাম, সর্বোচ্চ 100 অক্ষর |
category আবশ্যক | GET /api/v1/options থেকে একটি ক্যাটাগরি। টেমপ্লেট ব্যবহার করলে এটি বাদ দিন |
instructions আবশ্যক | ওয়ার্কারদের কী করতে হবে, সর্বোচ্চ 5,000 অক্ষর |
url | ওয়ার্কাররা যে লিংক খোলেন। যেসব ক্যাটাগরিতে needs_url true, সেগুলোতে আবশ্যক |
payment আবশ্যক | প্রতি টাস্কে পেমেন্ট USD-তে, সর্বনিম্ন 0.12 |
positions আবশ্যক | কতজন ওয়ার্কার, সর্বনিম্ন 10। টেমপ্লেট ডেটা ফাইল থাকলে সারি থেকে হিসাব করা হয় |
time_to_complete আবশ্যক | ওয়ার্কার কত মিনিটে শেষ করবেন, 1 থেকে 120 |
time_to_rate আবশ্যক | প্রতিটি সাবমিশন রিভিউ করার জন্য আপনার হাতে কত দিন, 1 থেকে 30। এরপর এটি স্বয়ংক্রিয়ভাবে অনুমোদিত হয় |
proof.text | টেক্সট উত্তর চান: ওয়ার্কারকে বলুন কী লিখতে হবে |
proof.images | স্ক্রিনশট বা ছবি চান: প্রতিটি ছবির জন্য একটি বিবরণ |
proof.video | ভিডিও বা রেকর্ডিং চান: তাতে কী দেখা যাবে |
targeting.region | international (ডিফল্ট), usa, west-europe, east-europe, latin-america বা asia-africa |
targeting.exclude_countries | অঞ্চল থেকে যেসব দেশ বাদ দিতে চান, তাদের নাম |
targeting.min_success_rate | ওয়ার্কারের সর্বনিম্ন সফলতার হার: 75 (ডিফল্ট), 80, 85, 90, 95 বা 100 |
targeting.type, targeting.group_id | শুধু আপনার কোনো ওয়ার্কার গ্রুপকে টাস্কটি পাঠাতে type-এ "group" দিন এবং group_id-তে সেই গ্রুপটি দিন |
qualification_id | শুধু যেসব ওয়ার্কার এই কোয়ালিফিকেশন টেস্টে পাস করেছেন, তারাই টাস্কটি নিতে পারবেন |
template | নির্দেশনার বদলে আপনার কোনো টেমপ্লেট ব্যবহার করুন: id, সাথে data, যার columns ও rows টেমপ্লেটের প্লেসহোল্ডার পূরণ করে, প্রতি টাস্কে একটি সারি। answers_per_row (1 থেকে 5) ও rows_per_task (1 থেকে 50) ঐচ্ছিক |
drip_feed | ওয়ার্কারদের ধাপে ধাপে ছাড়ুন: min_workers ও max_workers (1 থেকে 50) এবং interval_minutes (15, 30, 60, 120, 180, 360, 720 বা 1440) |
location | স্থানীয় ফিল্ড টাস্ক ও মিস্ট্রি শপিংয়ের জন্য: lat, lng, radius_m (50 থেকে 50,000) এবং ঐচ্ছিক address |
আপাতত যেসব ক্যাটাগরিতে আপনাকে ফাইল আপলোড করতে হয় (যেমন অডিও ট্রান্সক্রিপশন বা ছবি ট্যাগিং), ভিডিও টাস্ক এবং উদাহরণ ছবি শুধু ড্যাশবোর্ডেই তৈরি করা যায়। দাম কীভাবে হিসাব হয় তা খরচ ও ফি গাইডে ব্যাখ্যা করা আছে।
curl -X POST "https://taskerdata.com/api/v1/campaigns" \
-H "Authorization: Bearer $TASKERDATA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Test our sign-up page",
"category": "Website Testing",
"url": "https://example.com/signup",
"instructions": "Open the page, create an account and tell us anything that went wrong.",
"payment": 0.5,
"positions": 50,
"time_to_complete": 10,
"time_to_rate": 3,
"proof": {
"text": "What went wrong?",
"images": [
"Screenshot after signing up"
]
},
"targeting": {
"region": "international",
"min_success_rate": 90
}
}'রেসপন্স · 201
{
"success": true,
"campaign": {
"id": "Ab12…-Cd34…-Ef56…",
"title": "Test our sign-up page",
"status": "pending",
"category": "Website Testing",
"type": "instructions",
"url": "https://example.com/signup",
"payment": 0.5,
"positions": 50,
"filled_positions": 0,
"time_to_complete": 10,
"time_to_rate": 3,
"cost": 34.06,
"proof": {
"text": "What went wrong?",
"images": [
"Screenshot after signing up"
],
"video": null
},
"qualification_id": null,
"created_at": "2026-10-16T09:30:00.000Z"
},
"balance": {
"available": 65.94,
"reserved": 34.06
}
}এররের উদাহরণ
// status 402
{
"success": false,
"error": {
"code": "insufficient_balance",
"message": "Insufficient balance"
}
}সাবমিশন পান
GET/api/v1/campaigns/{id}/submissions
একটি ক্যাম্পেইনের জন্য ওয়ার্কারদের পাঠানো কাজ, পুরোনোগুলো আগে, প্রমাণসহ: টেক্সট উত্তর, ছবি ও ভিডিওর লিংক, টেমপ্লেটের উত্তর (answers), তারা যে ডেটা সারিতে কাজ করেছেন সেটি এবং ফিল্ড টাস্কের ক্ষেত্রে তাদের লোকেশন।
ঠিকানার মধ্যে
| প্যারামিটার | বিবরণ |
|---|---|
id আবশ্যক | ক্যাম্পেইন ID (ক্যাম্পেইনের তালিকায় id) |
কোয়েরি প্যারামিটার
| প্যারামিটার | বিবরণ |
|---|---|
status | to_review (pending ও resubmitted), pending, resubmitted, revision_requested, approved বা rejected |
since | শুধু এই সময়ে বা এর পরে পাঠানো সাবমিশন, যেমন 2026-10-01T00:00:00Z |
after_id | পেজিংয়ের জন্য: শুধু এর চেয়ে বড় id-এর সাবমিশন। আগের পেজের next_after_id ব্যবহার করুন |
limit | কতগুলো ফেরত দেবে, 1 থেকে 100 (ডিফল্ট 50) |
নিয়মিত নতুন কাজ সংগ্রহ করতে, শেষ যে id পেয়েছেন তা রেখে দিন এবং পরের বার after_id হিসেবে পাঠান। ওয়ার্কারের পাঠানো সবকিছু raw-এ থাকে, যদি তালিকায় নেই এমন কিছু দরকার হয়।
curl "https://taskerdata.com/api/v1/campaigns/CAMPAIGN_ID/submissions?status=to_review&after_id=0" \
-H "Authorization: Bearer $TASKERDATA_API_KEY"রেসপন্স · 200
{
"success": true,
"submissions": [
{
"id": 1842,
"campaign_id": "Ab12…-Cd34…-Ef56…",
"worker_id": "wK3…",
"status": "pending",
"started_at": "2026-10-16 10:02:11",
"submitted_at": "2026-10-16 10:09:45",
"revision_count": 0,
"revision_note": null,
"rejection_reason": null,
"payment": 0.5,
"proof": {
"text": "The confirm button did nothing on mobile.",
"image_urls": [
"https://storage.taskerdata.com/…/proof_0.png"
],
"video_url": null
},
"answers": null,
"data_row": null,
"data_row_number": null,
"items": null,
"location": null,
"raw": {
"textProof": "…"
}
}
],
"has_more": false,
"next_after_id": null
}এররের উদাহরণ
// status 400
{
"success": false,
"error": {
"code": "invalid_status",
"message": "status must be one of: to_review, pending, resubmitted, revision_requested, approved, rejected."
}
}সাবমিশন রিভিউ করুন
POST/api/v1/submissions/{id}/review
অনুমোদন, প্রত্যাখ্যান বা সংশোধনের অনুরোধ করুন, ড্যাশবোর্ডের বোতামগুলোর মতোই। অনুমোদন করলে সংরক্ষিত টাকা থেকে ওয়ার্কারকে পেমেন্ট দেওয়া হয়। প্রত্যাখ্যান করলে পেমেন্ট ও তার ফি আপনার ব্যালেন্সে ফিরে আসে এবং পজিশনটি অন্য ওয়ার্কারের জন্য খুলে যায়।
ঠিকানার মধ্যে
| প্যারামিটার | বিবরণ |
|---|---|
id আবশ্যক | সাবমিশন ID |
JSON বডি
| প্যারামিটার | বিবরণ |
|---|---|
action আবশ্যক | approve, reject বা revision |
reason | reject-এর সাথে: ওয়ার্কার যে কারণ দেখবেন |
note | revision-এর সাথে (আবশ্যক): ওয়ার্কারকে কী ঠিক করতে হবে |
কোনো সাবমিশন শুধু রিভিউয়ের অপেক্ষায় থাকলে (pending বা resubmitted) সেটি রিভিউ করতে পারবেন। সংশোধনের সংখ্যা ক্যাম্পেইনের সংশোধন সীমা পর্যন্ত; এরপর শুধু অনুমোদন বা প্রত্যাখ্যান করতে পারবেন।
curl -X POST "https://taskerdata.com/api/v1/submissions/1842/review" \
-H "Authorization: Bearer $TASKERDATA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"action": "revision",
"note": "Please add a screenshot of the error message."
}'রেসপন্স · 200
{
"success": true,
"submission": {
"id": 1842,
"status": "revision_requested"
},
"balance": {
"available": 65.94,
"reserved": 34.06
}
}এররের উদাহরণ
// status 409
{
"success": false,
"error": {
"code": "already_reviewed",
"message": "Submission already reviewed"
}
}ব্যালেন্স দেখুন
GET/api/v1/balance
available হলো নতুন ক্যাম্পেইনে যা খরচ করতে পারবেন, reserved হলো লাইভ ক্যাম্পেইনের জন্য রাখা টাকা, আর spent হলো এ পর্যন্ত ওয়ার্কারদের যা পেমেন্ট দিয়েছেন।
curl "https://taskerdata.com/api/v1/balance" \
-H "Authorization: Bearer $TASKERDATA_API_KEY"রেসপন্স · 200
{
"success": true,
"balance": {
"available": 65.94,
"reserved": 34.06,
"spent": 212.4
}
}অপশন ও ID
GET/api/v1/options
API দিয়ে যেসব ক্যাটাগরি ব্যবহার করতে পারবেন তার তালিকা (needs_url ও needs_location দেখায় কোনগুলোতে লিংক বা লোকেশন লাগে), টার্গেটিং ও ড্রিপ ফিডের অনুমোদিত মান, এবং আপনার টেমপ্লেট, ওয়ার্কার গ্রুপ ও কোয়ালিফিকেশন টেস্টের ID।
curl "https://taskerdata.com/api/v1/options" \
-H "Authorization: Bearer $TASKERDATA_API_KEY"রেসপন্স · 200
{
"success": true,
"categories": [
{
"name": "Website Testing",
"needs_url": true,
"needs_location": false
},
"…"
],
"regions": [
"international",
"usa",
"west-europe",
"east-europe",
"latin-america",
"asia-africa"
],
"min_success_rates": [
75,
80,
85,
90,
95,
100
],
"drip_feed_intervals": [
15,
30,
60,
120,
180,
360,
720,
1440
],
"templates": [
{
"id": 12,
"title": "Sentiment check"
}
],
"worker_groups": [
{
"id": 3,
"name": "Trusted testers",
"workers": 25
}
],
"qualifications": [
{
"id": "Qa1…",
"title": "English test",
"status": "active"
}
]
}এরর
Campaign API HTTP স্ট্যাটাস কোড ব্যবহার করে। কিছু ভুল হলে success হয় false, এবং error-এ থাকে একটি code, যা আপনার কোডে যাচাই করবেন, আর একটি message, যা দেখাবেন বা লগ করবেন। ক্যাম্পেইন যাচাইয়ে ড্যাশবোর্ডের মতোই মেসেজ আসে।
| স্ট্যাটাস | error.code | এর মানে কী |
|---|---|---|
| 400 | invalid_body, invalid_campaign, invalid_region, category_needs_files, invalid_status, invalid_since, invalid_action, note_required | রিকোয়েস্টে কিছু নেই বা অনুমোদিত নয়। message-এ জানানো হয় কী। |
| 401 | missing_api_key, invalid_api_key | API key নেই, অথবা key ভুল বা নতুন key দিয়ে বদলে গেছে। |
| 402 | insufficient_balance | আপনার উপলব্ধ ব্যালেন্সে ক্যাম্পেইনের খরচ কুলায় না। ফান্ড যোগ করে আবার চেষ্টা করুন। |
| 403 | test_key_not_allowed, account_suspended | আপনার লাইভ API key ব্যবহার করুন। সাসপেন্ড করা অ্যাকাউন্ট API ব্যবহার করতে পারে না। |
| 404 | not_found | আপনার অ্যাকাউন্টে এই ID-এর কোনো ক্যাম্পেইন বা সাবমিশন নেই। |
| 409 | already_reviewed, review_refused | সাবমিশনটি আগেই রিভিউ করা হয়েছে, অথবা এই মুহূর্তে রিভিউ সম্ভব নয়, যেমন সংশোধন সীমা পূর্ণ হয়ে গেছে। |
| 429 | rate_limited | এক মিনিটে 120টির বেশি রিকোয়েস্ট। Retry-After-এ যত সেকেন্ড আছে তত অপেক্ষা করুন। |
| 500 | internal_error | আমাদের দিকে সমস্যা হয়েছে। আবার চেষ্টা করুন, আর বারবার হলে সাপোর্টে যোগাযোগ করুন। |
এক্সটার্নাল কোয়ালিফিকেশন টেস্ট
যেসব কোয়ালিফিকেশন টেস্ট আপনার নিজের ওয়েবসাইটে চলে, সেগুলোর জন্য।
টেস্টের ফলাফল জানান লাইভ
GET/api/worker/external_qualification/data
এক্সটার্নাল হিসেবে চিহ্নিত কোয়ালিফিকেশন টেস্টের জন্য। ওয়ার্কার কোয়ালিফিকেশন থেকে আপনার টেস্ট খোলেন এবং আপনার ওয়েবসাইটে তার ওয়ার্কার টোকেন দেন। তিনি শেষ করলে approve বা reject দিয়ে এই এন্ডপয়েন্ট কল করুন।
| প্যারামিটার | বিবরণ |
|---|---|
qualification_id আবশ্যক | আপনার কোয়ালিফিকেশন টেস্টের ID |
worker_token আবশ্যক | ওয়ার্কার আপনার ওয়েবসাইটে যে ওয়ার্কার টোকেন দিয়েছেন |
api_token আবশ্যক | আপনার API key (টেস্ট এন্ডপয়েন্টের জন্য টেস্ট key) |
decision আবশ্যক | approve বা reject |
টেস্টে পাস করলে বোনাস দেওয়ার কথা থাকলে এবং আপনার রিকোয়েস্টার ব্যালেন্সে তা না কুলালে, সাবমিশনটি অপেক্ষমাণ হিসেবে সেভ হয়, যাতে আপনি ব্যালেন্স টপ আপ করে ড্যাশবোর্ড থেকে অনুমোদন করতে পারেন।
একটি টেস্টে একজন ওয়ার্কারকে একবারই মূল্যায়ন করা যায়। টেস্টটি সক্রিয় ও এক্সটার্নাল হিসেবে চিহ্নিত থাকতে হবে, এবং API key টেস্টের মালিকের হতে হবে।
curl -G "https://taskerdata.com/api/worker/external_qualification/data" \
--data-urlencode "qualification_id=QUAL_ID" \
--data-urlencode "worker_token=WORKER_TOKEN" \
--data-urlencode "api_token=YOUR_API_KEY" \
--data-urlencode "decision=approve"রেসপন্স · 200
{
"success": true
}এররের উদাহরণ
{
"success": false,
"error": "This worker has already been evaluated for this qualification"
}সেটআপ পরীক্ষা করুন
POST/api/worker/external_qualification/data_test
একই ফিল্ডগুলো JSON আকারে টেস্ট এন্ডপয়েন্টে পাঠান, সাথে আপনার টেস্ট API Key। কিছুই সেভ হয় না এবং কোনো ওয়ার্কার প্রভাবিত হন না: এটি শুধু আপনার রিকোয়েস্ট যাচাই করে।
| প্যারামিটার | বিবরণ |
|---|---|
qualification_id আবশ্যক | আপনার কোয়ালিফিকেশন টেস্টের ID |
worker_token আবশ্যক | ওয়ার্কার আপনার ওয়েবসাইটে যে ওয়ার্কার টোকেন দিয়েছেন |
api_token আবশ্যক | আপনার API key (টেস্ট এন্ডপয়েন্টের জন্য টেস্ট key) |
decision আবশ্যক | approve বা reject |
ভুল টেস্ট key দিলে স্ট্যাটাস 401 আসে; ফিল্ড বাদ পড়লে বা decision ভুল হলে স্ট্যাটাস 400 আসে।
curl -X POST "https://taskerdata.com/api/worker/external_qualification/data_test" \
-H "Content-Type: application/json" \
-d '{
"qualification_id": "QUAL_ID",
"worker_token": "WORKER_TOKEN",
"api_token": "YOUR_TEST_API_KEY",
"decision": "approve"
}'রেসপন্স · 200
{
"success": true
}এররের উদাহরণ
// status 401
{
"statusCode": 401,
"statusMessage": "Invalid API test key"
}টেস্টের ফলাফলের এরর
ফলাফল এন্ডপয়েন্ট সবসময় স্ট্যাটাস 200 দিয়ে উত্তর দেয়। success দেখুন: এটি false হলে error কারণ জানায়:
| error | এর মানে কী |
|---|---|
Missing required parameters: qualification_id, worker_token, api_token, decision | চারটি প্যারামিটারের একটি নেই। |
Decision must be 'approve' or 'reject' | decision-এর মান অন্য কিছু। |
Invalid API token | API key ভুল, অথবা নতুন key দিয়ে বদলে গেছে। |
Worker token not found for this qualification | টোকেনটি এই টেস্টের নয়। ওয়ার্কারকে এটি আবার দেখতে বলুন। |
API token does not belong to the qualification owner | যে অ্যাকাউন্ট টেস্টটি তৈরি করেছে তার key ব্যবহার করুন। |
This qualification is not configured for external submissions | টেস্টটি এক্সটার্নাল হিসেবে চিহ্নিত নয়। |
This qualification is no longer active | টেস্টটি পজ করা বা শেষ হয়ে গেছে। |
This worker has already been evaluated for this qualification | প্রতিটি টেস্টে প্রত্যেক ওয়ার্কার একটি ফলাফলই পান। |
Worker account is suspended | ওয়ার্কার এই মুহূর্তে টেস্ট দিতে পারবেন না। |
No remaining positions for this qualification | টেস্টের সব জায়গা পূর্ণ হয়ে গেছে। |