Périmètre sûr : ce guide s'applique uniquement à vos propres applications, à vos environnements de QA, de préproduction ou de production, ou à des systèmes pour lesquels vous disposez d'une autorisation écrite. Il ne porte pas sur l'automatisation de sites tiers hors de votre contrôle.
Mojo est un langage jeune : son écosystème ne propose pas encore de bibliothèque dédiée à la résolution de CAPTCHA, et vous n'en avez pas besoin. En déléguant la résolution à l'API HTTP de CaptchaAI, votre code Mojo se limite à envoyer une requête et à lire un token — un modèle qui reste valable quelles que soient les évolutions du langage, sans dépendance native à maintenir. Une seule API couvre l'ensemble des types pris en charge (reCAPTCHA v2 et v3, Cloudflare Turnstile et Cloudflare Challenge, GeeTest v3, CAPTCHA image/OCR et grilles d'images), et la facturation par threads reste prévisible : de BASIC ($15/mois, 5 threads) aux paliers supérieurs, avec des résolutions illimitées par thread. Votre coût suit la concurrence ouverte, pas le nombre de résolutions.
Déroulé recommandé
- Isolez l'environnement. Séparez la QA de la production et stockez la clé API dans un secret CI ou un coffre — par exemple sur un worker OVHcloud ou Scaleway — jamais en dur dans le dépôt.
- Capturez les bons paramètres. Relevez sur votre page le
sitekey, l'URL et, si nécessaire, l'action attendue par la famille de CAPTCHA — rien de plus. - Soumettez la tâche, puis interrogez le résultat. Envoyez la requête, attendez, puis interrogez régulièrement jusqu'à obtenir le token.
- Appliquez le token dans la même session. Réutilisez le contexte qui a déclenché le défi ; une session différente est la première cause de rejet.
- Tracez durées, retries et acceptation. La réussite du solveur et celle du parcours sont deux métriques distinctes ; suivez les deux et alertez sur l'écart.
Encapsuler l'appel dans une fonction réutilisable
Isolez l'appel à CaptchaAI dans une fonction unique : elle reçoit le sitekey et l'URL de votre propre page, renvoie un token, puis trace la durée et le code retour. Le jour où vous passez de reCAPTCHA à Cloudflare Turnstile, vous ne modifiez qu'un seul endroit. L'exemple Node.js ci-dessous montre le contrat que votre code Mojo appellera via un client HTTP ou l'interopérabilité Python.
import fetch from 'node-fetch';
const API_KEY = process.env.CAPTCHAAI_KEY;
export async function createTurnstileTask(siteKey, pageUrl) {
const res = await fetch('https://api.captchaai.com/createTask', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
clientKey: API_KEY,
task: {
type: 'TurnstileTaskProxyless',
websiteURL: pageUrl,
websiteKey: siteKey,
},
}),
});
const data = await res.json();
return data.taskId;
}
Vérifier le token côté backend
Le token renvoyé doit être validé par votre propre backend avant toute opération métier : cette étape empêche qu'une requête soit acceptée sur la foi d'un token périmé ou falsifié. Instrumentez au passage chaque appel — durée d'obtention, code retour HTTP, identifiant de tâche — et corrélez ces identifiants à votre traçage distribué, par exemple via OpenTelemetry. Si vos journaux contiennent des données personnelles, minimisez-les et vérifiez vos obligations RGPD.
Dépannage
| Symptôme | Cause probable | Correctif |
|---|---|---|
| Clé refusée | Clé copiée avec un espace parasite ou mauvais compte. | Recopiez la clé depuis le tableau de bord et stockez-la en secret CI. |
| Solde insuffisant | Le solde est passé sous le minimum par tâche. | Rechargez avant de relancer et ajoutez une alerte de solde. |
| Paramètres invalides | URL de page ou sitekey manquant ou mal formé. |
Revalidez l'URL et le sitekey face au HTML réel de la page. |
| Token rejeté après résolution | Token appliqué dans une session différente de celle du défi. | Gardez la résolution et l'envoi du formulaire dans la même session. |
FAQ
CaptchaAI propose-t-il un SDK natif pour Mojo ?
Non, pas à ce jour — et c'est sans conséquence. Vous appelez directement l'API HTTP depuis Mojo, via un client HTTP ou l'interopérabilité avec Python. C'est ce qui rend le modèle pérenne : aucune bibliothèque spécifique à maintenir.
Comment appeler l'API depuis du code Mojo ?
Envoyez une requête POST pour soumettre la tâche, puis interrogez régulièrement le résultat jusqu'à obtenir le token. Mojo étant compatible avec l'écosystème Python, vous réutilisez un client HTTP existant ou de simples appels sur l'endpoint.
Que faire en cas d'erreur transitoire de l'API ?
Mettez en place un retry avec backoff exponentiel borné : par exemple trois tentatives, doublement du délai à chaque essai, plafond à 30 secondes. Tracez chaque échec avec son identifiant de tâche, et vérifiez le solde associé à votre clé si l'erreur persiste.
Un token peut-il servir à plusieurs requêtes ?
Non. Un token est à usage unique et doit être appliqué dans la même session que celle qui a déclenché le défi. Résolvez à la demande plutôt que de constituer une réserve de tokens.
Guides connexes
- Démarrage rapide CaptchaAI
- QA CAPTCHA en environnements autorisés
- Tester l'endpoint API sur vos formulaires web
- Intégrer la résolution CAPTCHA dans votre CI
- Résoudre reCAPTCHA v2 via l'API
Passez d'un prototype à une intégration CaptchaAI solide, en commençant par une part réduite de votre charge réelle. – Obtenez votre clé CaptchaAI.