Use Cases

Gérer les CAPTCHA des portails GDS India / VFS

Périmètre sûr : ce guide couvre uniquement vos propres applications, vos environnements de QA, de préproduction ou de production, ou des systèmes pour lesquels vous détenez une autorisation écrite. Il ne décrit ni l'automatisation de sites tiers, ni le contournement de protections, ni l'évasion d'un anti-bot.

Les portails GDS India et VFS présentent un défi CAPTCHA de type BLS à l'étape sensible d'un parcours : c'est précisément là qu'un test automatisé casse s'il n'est pas outillé. CaptchaAI prend en charge le BLS CAPTCHA en version GA, et l'intégrer à un workflow autorisé tient en quelques dizaines de lignes. Ce guide montre comment câbler cette résolution proprement, la rendre observable et la garder stable — pas seulement dans un notebook.

Pourquoi ces portails déclenchent un CAPTCHA

Les portails de prise de rendez-vous voient passer un trafic automatisé intense, légitime comme abusif ; le défi CAPTCHA sert de point de friction pour protéger les créneaux. Pour une équipe QA qui teste sa propre intégration, ou un prestataire disposant d'un accord écrit, ce défi transforme un test simple en test fragile — la médiane est bonne, mais la traîne fait échouer la suite au pire moment. CaptchaAI répond avec une API unique : le même contrat de soumission et d'interrogation du résultat couvre le BLS CAPTCHA comme les familles reCAPTCHA v2/v3, Cloudflare Turnstile ou GeeTest v3. Vous changez la méthode, pas votre architecture.

Architecture d'un workflow autorisé

Votre orchestrateur pilote les étapes du parcours ; CaptchaAI n'intervient qu'à celle où le défi apparaît. Les autres étapes restent des appels HTTP standards vers votre backend.

  1. Capturez uniquement ce dont le solveur a besoin (sitekey, URL de la page, éventuel proxy). Stocker davantage crée de fausses pistes de débogage.
  2. Soumettez la tâche à l'API et traitez tout statut différent du succès comme une erreur : journalisez la réponse complète et remontez-la vers votre supervision.
  3. Interrogez régulièrement le résultat : une quinzaine de secondes avant la première interrogation, puis toutes les 5 secondes avec un plafond strict par tâche.
  4. Appliquez le token dans la même session que celle qui a déclenché le défi (même contexte de navigateur, même cookie jar). Une session dépareillée est la première cause de refus.
  5. Mesurez la latence, les retries et l'acceptation en aval. La réussite du solveur et celle du workflow sont deux métriques distinctes ; suivez les deux.

Intégrer CaptchaAI : le contrat submit / poll

Le contrat de soumission puis d'interrogation du résultat est identique quelle que soit la famille de défi. Voici un exemple côté client, extrait de votre suite de tests : il crée une tâche et renvoie l'identifiant à interroger. Pour un BLS CAPTCHA, vous adaptez le type de tâche ; la boucle reste la même.

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;
}

Gardez la clé API hors du code source : un secret CI ou un coffre suffisent. La variante BLS de ces portails repose sur des images en grille, résolues via la méthode bls, sans changer la boucle.

Observabilité et journalisation

Instrumentez les appels CAPTCHA pour obtenir des métriques exploitables : durée totale 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 les identifiants à votre traçage distribué, par exemple via OpenTelemetry. Vous pourrez ainsi rejouer un scénario complet à partir d'un identifiant unique — en cas d'incident, ces journaux divisent par deux le temps de diagnostic.

Indicateurs à suivre

Les valeurs ci-dessous sont des objectifs d'exploitation à adapter à votre environnement : les résultats varient selon le volume, le réseau et le moment de la journée.

Indicateur Objectif à viser Ce qu'il révèle
Latence de première résolution (p50) < 25 s pour un défi à token L'intégration est saine et n'attend pas sur des retries.
Latence de première résolution (p95) < 60 s pour un défi à token La traîne est contenue et vos timeouts sont bien dimensionnés.
Taux de réussite du solveur ≥ 95 % par famille CAPTCHA Vos paramètres correspondent au défi affiché.
Acceptation de bout en bout ≥ 95 % après token La vérification en aval accepte le token dans la même session.

Conformité RGPD et données personnelles

Les portails de type VFS traitent des données à caractère personnel. Appliquez les principes du RGPD : minimisez les données collectées, ne conservez que le nécessaire au test et vérifiez vos obligations avant toute exécution. CaptchaAI ne reçoit que les éléments du défi (image ou sitekey), jamais l'identité du dossier ; gardez cette séparation pour limiter la surface de conformité.

Liste de contrôle avant mise en production

  • Le périmètre se limite à vos propres applications ou à des sources autorisées par écrit.
  • La clé CaptchaAI est stockée dans un secret CI ou un coffre, jamais en clair dans le dépôt.
  • Les durées d'appel et les codes retour sont tracés à chaque exécution.
  • Un retry idempotent avec backoff exponentiel borné couvre les erreurs transitoires.
  • Les tests sont rejouables depuis votre intégration continue.

Dépannage

Ces erreurs couvrent l'essentiel des tickets liés à ce type d'intégration.

Symptôme Cause probable Correctif
ERROR_WRONG_USER_KEY Clé copiée avec un espace parasite ou mauvais compte. Recopiez la clé depuis le tableau de bord et stockez-la en secret CI.
ERROR_ZERO_BALANCE Solde inférieur au minimum par tâche. Rechargez le solde et ajoutez une alerte de seuil sur le tableau de bord.
ERROR_PAGEURL / ERROR_BAD_PARAMETERS Paramètre requis manquant ou mal formé. Revalidez l'URL de la page et le sitekey face au HTML réel.
Token refusé 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

De quels paramètres CaptchaAI a-t-il besoin pour résoudre un BLS CAPTCHA ?

Uniquement les éléments du défi : les images en grille et l'instruction associée, ou le sitekey et l'URL selon la variante. Ne transmettez aucune donnée de dossier, et vérifiez que les valeurs envoyées correspondent à la page réelle.

Le token est refusé alors que la résolution a réussi. Que vérifier ?

Presque toujours, le token est appliqué dans une session différente de celle du défi. Réutilisez le même contexte de navigateur ou client HTTP, avec le même cookie jar, entre la résolution et l'envoi du formulaire.

Comment dimensionner les threads pour cette charge ?

La facturation CaptchaAI repose sur les threads concurrents, avec un nombre de résolutions illimité par thread. Le plan BASIC ($15/mois, 5 threads) suffit à une suite QA modeste ; passez au STANDARD ($30/mois, 15 threads) quand votre parallélisme réel le justifie. Facturation en dollars US.

Guides connexes

Fiabilisez vos workflows CAPTCHA avec une approche méthodique et reproductible. – Obtenez votre clé CaptchaAI.

Les commentaires sont désactivés pour cet article.