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 démarches pour lesquelles vous disposez d'une autorisation écrite. Il ne couvre ni l'automatisation de portails tiers, ni la neutralisation de protections anti-bot.
L'extension CaptchaAI regroupe deux automatismes que vous répétez à chaque passage BLS : Auto-Open ouvre le défi CAPTCHA dès qu'il apparaît, Auto-Submit renvoie le token une fois résolu. Bien réglée, cette paire transforme une manipulation manuelle et fragile en un workflow de navigateur reproductible.
Pour un demandeur qui suit sa propre procédure de rendez-vous sur un portail BLS — cas courant au Maghreb francophone — c'est justement cette régularité qui manque quand on clique à la main. Ce guide traite ce qui entoure ce clic : profil de navigateur, cohérence de session et vérification du token, dans le cadre strict de vos propres démarches autorisées.
Ce que font réellement Auto-Open et Auto-Submit
Les deux fonctions couvrent les deux bouts du même échange. Auto-Open détecte le défi BLS et déclenche la résolution sans clic de votre part ; Auto-Submit injecte ensuite le token dans le formulaire, dans la même session que celle qui a ouvert le défi. Cette cohérence de session fait toute la différence : un token appliqué dans un contexte de navigateur autre que celui qui a déclenché le défi est presque toujours rejeté. Défi, résolution et envoi restent dans un seul contexte.
Encapsuler l'appel à l'API dans une fonction réutilisable
Isolez l'appel à CaptchaAI dans une fonction unique : elle reçoit la sitekey et l'URL de votre page, renvoie un token, et trace la durée et le code retour. Voici un exemple Node.js qui soumet la tâche et récupère l'identifiant à interroger :
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;
}
Une fois le taskId obtenu, interrogez le résultat à intervalle régulier plutôt qu'en boucle serrée, en espaçant les lectures.
Préparer un profil de navigateur dédié
Le profil chargé par l'extension doit être réservé à cette démarche, avec un user-data-dir persistant : c'est lui qui conserve l'état du compte entre deux exécutions et évite de repartir de zéro à chaque lancement. Rangez la clé CaptchaAI dans un coffre ou un secret de CI, jamais en clair. Un profil dédié règle la plupart des incidents attribués à tort à l'extension : sessions mélangées, cookies périmés, extension chargée deux fois.
Vérifier le token côté backend
Le token renvoyé par l'extension n'a de valeur qu'une fois vérifié par votre propre backend, avant toute opération métier. Cette étape n'est pas optionnelle : elle empêche qu'une action soit validée sur la foi d'un token périmé. L'extension propose, le backend décide.
Tracer chaque résolution
Instrumentez chaque appel CAPTCHA pour obtenir des signaux exploitables : durée d'obtention du token, code retour HTTP, identifiant de tâche et taille de la file d'attente. Séparez les journaux par environnement et corrélez chaque identifiant à votre traçage distribué, de quoi rejouer un incident à partir d'un seul identifiant.
Points de contrôle avant la mise en production
| Contrôle | Pourquoi | Réglage attendu |
|---|---|---|
| Périmètre | Écarter toute source non autorisée | Démarches ou sources autorisées |
| Clé API | Protéger le secret | Coffre ou secret de CI |
| Profil de navigateur | Conserver l'état | user-data-dir dédié et persistant |
| Cohérence de session | Éviter le rejet du token | Même session pour Auto-Open et Auto-Submit |
| Budget de retry | Ne pas masquer les défauts | Backoff exponentiel borné, idempotent |
Dépannage
| Symptôme | Cause probable | Correctif |
|---|---|---|
| Token rejeté après résolution | Token injecté dans une autre session | Un seul contexte pour défi, résolution et envoi |
| Erreur transitoire de l'API | Réseau instable ou quota atteint | Retry borné ; vérifiez DNS et quotas |
| Extension inactive au chargement | Profil non dédié ou chargée deux fois | Un seul user-data-dir par démarche |
| Solde insuffisant | Compte sous le minimum par tâche | Rechargez et ajoutez une alerte de solde |
FAQ
Ce guide autorise-t-il l'automatisation de portails BLS tiers ?
Non. Tous les exemples visent vos propres démarches ou un environnement pour lequel vous êtes autorisé par écrit. Pour une source externe, vérifiez d'abord les conditions d'utilisation et la base juridique.
Que faire quand l'API renvoie une erreur transitoire ?
Appliquez un retry avec backoff exponentiel borné : trois tentatives, délai doublé à chaque essai, plafond à 30 secondes. Si l'erreur persiste, contrôlez le réseau et les quotas de votre clé.
Le coût augmente-t-il avec le volume ?
La facturation CaptchaAI se fait par thread simultané, pas au solve : le forfait BASIC ($15/mois, 5 threads) inclut des résolutions illimitées par thread. Ce sont les boucles de mauvais paramètres et les tempêtes de retry qui coûtent cher — la grille ci-dessus les élimine.
Guides connexes
- Démarrage rapide CaptchaAI
- QA CAPTCHA en environnements autorisés
- Tester l'endpoint API sur vos formulaires
- Intégration CAPTCHA en CI/CD
- Résoudre reCAPTCHA v2 via l'API
Passez d'une manipulation manuelle à un workflow BLS reproductible et mesurable. – Créez votre compte CaptchaAI.