Tasko
На главную

Документация API Tasko

Управляйте микрозаданиями заказчика из своей CRM, интернет-магазина или другого сервиса. Все операции выполняются от имени владельца API-ключа.

Подать заявку

Доступ к API подключается после согласования интеграции с командой Tasko.

Быстрый старт

  1. Подайте заявку на подключение API через страницу контактов и дождитесь подтверждения.
  2. После подключения создайте ключ в профиле и сразу сохраните секрет.
  3. Передавайте ключ в заголовке каждого запроса.
  4. Используйте числовые ID, которые API возвращает в поле id.
  5. Для создания задания всегда формируйте уникальный Idempotency-Key.
Базовый URLhttps://tasko.one/api/v1

Авторизация

Храните ключ только на своём сервере. Не добавляйте его в URL, браузерный JavaScript, мобильное приложение или публичный репозиторий.

HTTP header
X-API-Key: YOUR_API_KEY

Также поддерживается Authorization: Bearer YOUR_API_KEY. Полный секрет показывается только один раз. Отключённый, удалённый или просроченный ключ не принимается.

Создание задания

bash
curl -X POST 'https://tasko.one/api/v1/tasks/create' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Idempotency-Key: order-5931-attempt-1' \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "Проверить карточку организации",
    "description": "Откройте карточку и выполните условия",
    "secretDescription": "Проверьте номер телефона в разделе Контакты",
    "link": "https://example.com/task",
    "typeId": 2,
    "siteTypeId": 4,
    "characterCount": 150,
    "language": "RU",
    "intervalMinutes": 0,
    "pricePerTask": 150,
    "requiredCount": 10,
    "requireScreenshot": true,
    "requireMoreTime": false,
    "premoderationText": false
  }'
ПолеТипОбязательноПравило
titlestringДаНазвание, не более 200 символов
descriptionstringДаОткрытое описание задания
secretDescriptionstringНетИнструкция после взятия работы, до 10 000 символов
linkstringДаСсылка для выполнения
typeIdnumberДаПубличный ID типа задания
siteTypeIdnumberДаПубличный ID площадки
pricePerTasknumberДаЦена одной работы, не ниже минимальной
requiredCountnumberДаКоличество работ, не менее 1
characterCountnumberНет75, 150, 300, 500, 1000 или 2000
languagestringНетRU или EN, по умолчанию RU
intervalMinutesnumberНет0 — без паузы; иначе от 5 до 20 160 минут
requireScreenshotbooleanНетТребовать итоговый скриншот
requireMoreTimebooleanНет12 суток вместо 3 на проверку
premoderationTextbooleanНетПроверить текст до публикации
scheduledStartAtstringНетБудущая дата ISO 8601
preparedCommentsstring[]НетГотовые тексты для поддерживаемого типа задания
attachmentIdsnumber[]НетДо пяти ID ранее загруженных черновиков

Tasko проверяет цену и баланс, затем резервирует pricePerTask × requiredCount. Повтор с тем же Idempotency-Key возвращает первое задание без повторного резервирования.

json
{
  "success": true,
  "data": {
    "id": 5931,
    "status": "ACTIVE",
    "requiredCount": 10,
    "reservedAmount": "1500.00"
  }
}

Управление заданием

GET/tasks/:idПолучить своё задание и отправленные работы
PATCH/tasks/edit/:idИзменить параметры задания
PATCH/tasks/:id/attachmentsЗаменить вложения задания
PATCH/tasks/:id/pauseПриостановить выдачу новых работ
PATCH/tasks/:id/resumeВозобновить приостановленное задание
PATCH/tasks/:id/add-worksДобавить работы и зарезервировать средства
PATCH/tasks/:id/stopОстановить набор и вернуть свободный резерв
PATCH/tasks/:id/cancelОтменить задание

Вместо :id передавайте положительный числовой ID. Получить или изменить можно только задание владельца ключа. Отдельного метода списка заданий в версии v1 пока нет.

bash
curl 'https://tasko.one/api/v1/tasks/5931' \
  -H 'X-API-Key: YOUR_API_KEY'

Готовые комментарии

Методы доступны только для типов заданий, поддерживающих готовые тексты. Изменять и удалять можно комментарии со статусом AVAILABLE.

GET/tasks/:id/prepared-commentsПолучить комментарии
POST/tasks/:id/prepared-commentsДобавить комментарий
PATCH/tasks/:taskId/prepared-comments/:commentIdИзменить невыданный комментарий
DELETE/tasks/:taskId/prepared-comments/:commentIdУдалить невыданный комментарий
bash
curl -X POST 'https://tasko.one/api/v1/tasks/5931/prepared-comments' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"content":"Готовый текст комментария"}'

Проверка работ

Массив submissions в ответе задания содержит отправленные работы. Для проверки передайте публичный ID работы.

bash
curl -X PATCH 'https://tasko.one/api/v1/submissions/1444/review' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"action":"APPROVED"}'
  • APPROVED — одобрить работу.
  • REJECTED — отклонить; требуется rejectionReason.
  • REVISION_REQUESTED — вернуть; требуется revisionComment.

Вложения

Загрузите до пяти файлов запросом POST /tasks/attachments/drafts, затем передайте полученные числовые ID в attachmentIds при создании задания.

bash
curl -X POST 'https://tasko.one/api/v1/tasks/attachments/drafts' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -F 'files=@brief.pdf' \
  -F 'files=@example.png'

Поддерживаются JPG, JPEG, PNG, WebP, PDF, DOC, DOCX, XLS, XLSX и TXT до 10 МБ.

Ошибки и ограничения

HTTP 400Ошибка полей, недостаточный баланс или нарушение бизнес-правила
HTTP 401Ключ отсутствует, неверен, отключён или просрочен
HTTP 403Нет разрешения на API или операция относится к чужой сущности
HTTP 404Задание или работа не найдены

В v1 пока нет списка заданий и справочников типов заданий и площадок. Их числовые ID необходимо заранее согласовать с поддержкой Tasko.

При обращении в поддержку приложите HTTP-статус, путь и время ошибки. Сам API-ключ передавать поддержке нельзя.