Aller au contenu
ÉtatTableau de bord

Référence de l'API

createTask — créer une tâche

Cette page a été traduite automatiquement à partir de la version chinoise et peut contenir des erreurs. La version chinoise fait foi.

createTask crée une tâche de reconnaissance ; task.type indique quel captcha résoudre. Les types asynchrones renvoient un taskId, que vous passez ensuite à getTaskResult pour récupérer le résultat ; les types synchrones renvoient directement le résultat.

POSThttps://api.yescaptcha.com/createTaskEndpoint mondial
POSThttps://cn.yescaptcha.com/createTaskEndpoint Chine
Champ Type Obligatoire Description
clientKey string Oui Votre ClientKey, à copier depuis le tableau de bord de yescaptcha.com
task object Oui L’objet de la tâche. Il doit contenir type ; les autres champs dépendent du type de tâche (voir la page de chaque type de tâche)
softID integer Non ID développeur. Ajoutez le vôtre lorsque d’autres personnes utilisent votre logiciel pour recevoir une part développeur ; voir Part développeur

Lire un captcha image (synchrone) :

{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "ImageToTextTaskOcrBase",
"body": "BASE64_IMAGE"
}
}

Obtenir un token reCAPTCHA v2 (asynchrone) :

{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "NoCaptchaTaskProxyless",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
}
}

Les champs de task de chaque type figurent dans les pages de Types de tâches et tarifs.

Types asynchrones :

{
"errorId": 0,
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}

Conservez le taskId et commencez à appeler getTaskResult 5 secondes plus tard.

Types synchrones :

{
"errorId": 0,
"status": "ready",
"taskId": "2376919c-1863-11ec-a012-94e6f7355a0b",
"solution": {
"text": "LMResm"
}
}

Échec :

{
"errorId": 1,
"errorCode": "ERROR_TASK_NOT_SUPPORTED",
"errorDescription": "任务类型不正确或不受支持"
}

Le serveur vérifie la requête dans cet ordre et renvoie le code d’erreur correspondant au premier problème rencontré, sans débit de points :

  1. Le corps de la requête est du JSON valide : ERROR_REQUEST_FORMATS
  2. clientKey est présent : ERROR_REQUIRED_FIELDS
  3. clientKey existe : ERROR_KEY_DOES_NOT_EXIST
  4. La clé n’est pas en suspension automatique : ERROR_IP_BLOCKED_5MIN (voir Limite de tâches simultanées et suspension automatique)
  5. Le solde est supérieur à 10 points : ERROR_ZERO_BALANCE
  6. task est présent : ERROR_TASK_ABSENT
  7. task.type existe : ERROR_TASK_NOT_SUPPORTED
  8. Tous les champs obligatoires sont présents : ERROR_REQUIRED_FIELDS (errorDescription indique le champ manquant)
  9. Pour les tâches d’image, l’image est valide : ERROR_ZERO_CAPTCHA_FILESIZE, ERROR_IMAGE_TYPE_NOT_SUPPORTED, etc.

Créer une tâche et interroger périodiquement (polling) le résultat (type asynchrone) :

curl -s https://api.yescaptcha.com/createTask \
-H 'Content-Type: application/json' \
-d '{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "NoCaptchaTaskProxyless",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
}
}'
# Returns {"errorId":0,"taskId":"..."}; then poll every 5 seconds:
curl -s https://api.yescaptcha.com/getTaskResult \
-H 'Content-Type: application/json' \
-d '{"clientKey": "YOUR_CLIENT_KEY", "taskId": "TASK_ID"}'