UNLOCK API
Seret dan lepas

Seret dan lepas

Cara menghantar tugas Seret dan lepas ke UNLOCK API dengan createTask atau in.php: nama jenis tugas, setiap parameter, objek solution, medan proxy dan contoh kod dalam 7 bahasa.
Harga
$0.60 $0.0006 setiap tugas
Anda hantar
Imej dan tempat kepingan perlu diletakkan
Anda terima
Pergerakan untuk dilakukan (titik mula dan akhir)

Ringkasan dan harga

Nama jenis tugas

Jenis ini ada satu nama.
DragAndDropTask

Objek task

type
StringWajib
Nama jenis tugas. Dipadankan tanpa mengira huruf besar atau kecil. DragAndDropTask
body
StringWajib
Imej sebagai base64 (JPG, PNG atau GIF), sehingga kira-kira 100 KB. Awalan data: dibenarkan.
comment
StringPilihan
Arahan untuk penyelesai, contohnya soalan yang dipaparkan di atas imej.

Medan yang tidak disenaraikan di sini dihantar kepada penyelesai seperti yang dihantar.

Permintaan

POST /createTask
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "DragAndDropTask",
    "body": "/9j/4AAQSkZJRgABAQ...",
    "comment": "Move each piece to its matching place"
  }
}

Objek solution

Dipulangkan dalam solution apabila status ialah ready.
answer
Array
Jawapan untuk dihantar.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "answer": [
      {
        "from": {
          "x": 20,
          "y": 40
        },
        "to": {
          "x": 210,
          "y": 44
        }
      }
    ]
  },
  "cost": "0.0006",
  "createTime": 1791640000,
  "endTime": 1791640014,
  "solveCount": 1
}

Contoh kod

import time, requests

API = "https://unlock-api.com"
KEY = "YOUR_API_KEY"

task = requests.post(f"{API}/createTask", json={
    "clientKey": KEY,
    "task": {
      "type": "DragAndDropTask",
      "body": "/9j/4AAQSkZJRgABAQ...",
      "comment": "Move each piece to its matching place"
    }
}).json()
if task["errorId"]:
    raise SystemExit(task["errorCode"])

for _ in range(60):   # 60 x 5 s = the 5 minute task limit
    time.sleep(5)
    r = requests.post(f"{API}/getTaskResult", json={"clientKey": KEY, "taskId": task["taskId"]}).json()
    if r["errorId"]:
        raise SystemExit(f"{r['errorCode']}: {r.get('errorDescription', '')}")   # failed tasks are refunded
    if r["status"] == "ready":
        print(r["solution"])
        break
else:
    raise SystemExit("timed out")

Kaedah borang in.php

Jenis ini hanya tersedia dengan kaedah JSON.