Processus de demande
Pour utiliser l’API de reconnaissance du protocole Cloudflare Turnstile, commencez par obtenir votre jeton API sur le tableau de bord Ace Data Cloud pour le garder en réserve.
Si vous n’êtes pas encore connecté ou inscrit, vous serez automatiquement redirigé vers la page de connexion pour vous inviter à vous inscrire et à vous connecter, après quoi vous serez automatiquement renvoyé à la page actuelle.
Un jeton API suffit pour appeler tous les services de la plateforme, sans avoir à en demander un pour chaque service. La première demande vous donnera un quota gratuit pour une expérience sans frais ; si le quota est insuffisant, vous pouvez recharger le solde général dans le tableau de bord.
📘 Documentation complète : API de reconnaissance du protocole Cloudflare Turnstile →
Utilisation de base
Tout d’abord, comprenez la méthode d’utilisation de base, qui consiste à entrer l’URL du site Web nécessitant le traitement du captcha Turnstile pour obtenir le résultat traité. Vous devez d’abord transmettre un champwebsite_url, notre site d’exemple est : https://react-turnstile.vercel.app, nous devons obtenir la website_key sur la page website_url, ouvrez d’abord cette page, appuyez sur F12 pour accéder à la console, effectuez une recherche globale sur la page Element pour cf-turnstile, vous trouverez l’élément conteneur portant Turnstile, où la chaîne correspondant à data-sitekey est la valeur de website_key.
Les en-têtes de requête définis incluent :
accept: le format de réponse souhaité, ici rempli avecapplication/json, c’est-à-dire au format JSON.authorization: la clé pour appeler l’API, que vous pouvez sélectionner directement après la demande.
website_url: l’URL du site Web nécessitant le traitement du captcha.website_key: l’identifiant de clé de site dans Cloudflare Turnstile.action: paramètre optionnel, à transmettre uniquement si le site cible a défini uneactionpersonnalisée pour le composant Turnstile.cdata: paramètre optionnel, à transmettre uniquement si le site cible a défini uncDatapersonnalisé pour le composant Turnstile.
token, le résultat de validation après le traitement de la tâche de captcha Cloudflare Turnstile.started_at,finished_at: le temps de début et de fin du traitement de cette demande, en timestamp Unix (secondes, flottant).elapsed: le temps total de traitement (secondes).
cf-turnstile-response au site cible, le code Python correspondant à l’appel de validation du token est le suivant :
Mode asynchrone (async)
Par défaut, l’API est synchrone et bloquante : une demande attendra jusqu’à ce que le traitement du token soit terminé avant de renvoyer une réponse. Si vous effectuez une rotation de plusieurs solveurs (multi-solver rotation) et souhaitez « obtenir immédiatement le task_id après avoir soumis la tâche, puis planifier d’autres solveurs et revenir plus tard pour lire le résultat », vous pouvez passerasync: true dans le corps de la requête.
En passant async: true, l’interface renverra immédiatement un task_id sans bloquer l’attente :
task_id pour interroger POST /captcha/tasks (il est conseillé de le faire toutes les 3 à 5 secondes). Cette interface ne déclenchera ni n’accélérera le traitement de la tâche ; même si vous ne consultez pas, si vous perdez la connexion ou quittez le client, le serveur continuera à traiter :
status: processing ; une fois le traitement terminé, cela renverra status: ready et le token :
timeout, sans facturation. /captcha/tasks n’est pas responsable de l’avancement des tâches.
Remarque : Cloudflare Turnstile ne prend pas encore en charge les proxies apportés (Bring Your Own Proxy), donc cette interface n’accepte pas le paramètreproxy; si ce paramètre est passé, cela renverra400 invalid_proxy.
Gestion des erreurs
Lors de l’appel de l’API, si une erreur se produit, l’API renverra le code d’erreur et les informations correspondantes. Par exemple :400 token_mismatched: Mauvaise demande, probablement en raison de paramètres manquants ou invalides.400 invalid_proxy: Mauvaise demande, le proxy n’est pas pris en charge pour ce type de captcha.401 invalid_token: Non autorisé, jeton d’autorisation invalide ou manquant.429 too_many_requests: Trop de demandes, vous avez dépassé la limite de taux.500 api_error: Erreur interne du serveur, quelque chose s’est mal passé sur le serveur.

