Périmètre sûr : Ce guide s'applique exclusivement à 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 que vous ne contrôlez pas.
L'extension CaptchaAI affiche ses messages d'état en anglais : « solving », « solved », un code d'erreur brut. Pour des opérateurs à Bruxelles, Montréal ou Casablanca, ces libellés ralentissent le diagnostic et gonflent le support. Inutile d'attendre une option de langue : en traitant l'extension comme un workflow de navigateur reproductible, vous présentez chaque état dans la langue de vos opérateurs, là où ils le lisent — journaux, tableaux de bord et écrans internes.
Ce que l'extension notifie réellement
Chaque état observable de l'extension doit correspondre à un message clair en français, sans toucher à son code. Établissez cette table de correspondance une fois, puis réutilisez-la partout :
| État de l'extension | Message opérateur (fr) |
|---|---|
| solving | Résolution du défi en cours… |
| solved / token injecté | Défi résolu, le parcours continue |
ERROR_ZERO_BALANCE |
Solde insuffisant : rechargez le compte |
ERROR_WRONG_USER_KEY |
Clé API invalide : vérifiez le secret CI |
| tâche non résolue | Échec : nouvelle tentative en cours |
Le déroulé, identique pour chaque famille
Le même enchaînement vaut pour toutes les familles prises en charge — reCAPTCHA v2 et v3, Cloudflare Turnstile, GeeTest v3, image/OCR et grilles :
- Capturez les paramètres exacts attendus par la famille CAPTCHA (sitekey, URL, action éventuelle).
- Envoyez la tâche à l'API et conservez l'identifiant retourné.
- Interrogez le résultat régulièrement, avec un plafond de délai par tâche.
- Appliquez le token dans la même session que celle qui a déclenché le défi.
- Mesurez la latence, les retries et l'acceptation en aval, chacun tracé séparément.
Encapsuler l'appel dans une fonction réutilisable
Encapsulez l'appel à CaptchaAI dans une fonction réutilisable qui prend la sitekey et l'URL de votre propre page et retourne un token. Cette abstraction est l'endroit unique où vous associez un message localisé à chaque code retour.
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 et journaliser dans la bonne langue
Le token doit être vérifié par votre propre backend avant toute opération métier, et appliqué dans la même session que le défi — même contexte de navigateur, même file de cookies. Une session incohérente reste la première cause de rejet après résolution. Instrumentez ensuite chaque appel et séparez les journaux par environnement, corrélés à votre traçage distribué (OpenTelemetry). Côté conformité, minimisez les données personnelles écrites dans les logs, ce qui simplifie vos obligations RGPD.
Exemple : une astreinte multilingue
Une équipe de QA répartie entre Paris et Casablanca lance chaque nuit un lot de tests sur des formulaires internes. Le plan BASIC ($15/mois, 5 threads) suffit à cinq résolutions simultanées, et les journaux localisés permettent à l'astreinte de lire un incident sans traducteur. Quand le volume grimpe, vous montez de palier sans toucher à la couche de présentation.
Dépannage
| Symptôme | Cause probable | Correctif |
|---|---|---|
| Token refusé après résolution | Token appliqué dans une autre session | Gardez le même contexte de navigateur et la même file de cookies. |
ERROR_ZERO_BALANCE répété |
Solde sous le minimum par tâche | Rechargez le compte et ajoutez une alerte de solde. |
| Message d'état resté en anglais | État absent de la table de correspondance | Complétez la table et rejouez le scénario en QA. |
Liste de contrôle
- Le périmètre est strictement limité à vos propres applications ou à des sources autorisées.
- La clé CaptchaAI est stockée dans un secret CI ou un coffre, jamais dans le code source.
- Chaque état de l'extension est associé à un message localisé unique et testé.
- Les durées et codes retour sont tracés ; un retry idempotent couvre les erreurs transitoires.
FAQ
L'extension CaptchaAI affiche-t-elle nativement ses messages en français ?
Son interface est en anglais par défaut. La méthode fiable consiste à mapper ses états observables vers des messages localisés dans votre propre couche de présentation : journaux, tableaux de bord et écrans internes.
Comment présenter une erreur de l'API à un opérateur non anglophone ?
Traduisez le code en une consigne actionnable. Un solde insuffisant devient « Rechargez le compte CaptchaAI avant de relancer le lot » ; un token rejeté devient « Conservez le même contexte de navigateur ». Le code brut, lui, reste dans les journaux techniques.
Que faire en cas d'erreur transitoire de l'API ?
Appliquez un retry avec backoff exponentiel borné (trois tentatives, doublement du délai, plafond à 30 s). Tracez les échecs avec leur identifiant de tâche, et affichez un message localisé indiquant qu'une nouvelle tentative est en cours plutôt qu'une erreur brute.
Guides connexes
- Démarrage rapide CaptchaAI
- QA CAPTCHA en environnements autorisés
- Tester l'endpoint API sur vos formulaires
- Intégration CAPTCHA en CI
- Résoudre reCAPTCHA v2 via l'API
Donnez à vos opérateurs des messages qu'ils comprennent du premier coup. – Obtenez votre clé CaptchaAI.