Integrations

Résolution de CAPTCHAs depuis un Budibase workflow

Périmètre sûr : Ce guide s'applique uniquement à vos propres applications et environnements (QA, préproduction, production) ou à des systèmes pour lesquels vous détenez une autorisation écrite. Il ne traite pas de l'automatisation de sites tiers que vous n'exploitez pas.

Budibase déclenche l'automatisation, CaptchaAI renvoie le token, votre application reprend son parcours : voilà tout le contrat d'une intégration captcha budibase workflow. Le vrai travail commence après le premier essai : rendre cet échange assez robuste pour tourner sans surveillance et survivre à un passage de relais entre équipes. Ce guide couvre l'architecture, la clé API, l'observabilité et les contrôles avant production.

Architecture d'une intégration CAPTCHA dans Budibase

Budibase orchestre l'automatisation ; il n'exécute pas la résolution lui-même. Le schéma qui tient en production repose sur trois maillons : une étape Budibase déclenche un composant interne (requête REST ou action serveur), ce composant appelle CaptchaAI en HTTPS pour obtenir un token, puis réinjecte ce token dans le formulaire ou la route d'API qui poursuit le flux. Le premier essai fonctionne en cinq minutes ; la difficulté vient ensuite, avec les déploiements, les coupures réseau et les changements de famille de CAPTCHA. Tracer chaque maillon rend ces régressions visibles dès la première montée de version.

Les étapes du workflow

  1. Capturez uniquement ce dont le solveur a besoin : sitekey, URL de la page, action éventuelle, proxy si nécessaire. Stocker davantage crée de fausses pistes de débogage.
  2. Envoyez la tâche à CaptchaAI et conservez l'identifiant retourné. Traitez tout statut autre que la réussite comme une erreur : journalisez-la et remontez-la vers votre supervision.
  3. Interrogez le résultat à intervalle régulier : un premier délai d'attente, puis une interrogation toutes les quelques secondes avec un plafond ferme 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 client HTTP, même cookie jar). Une session dépareillée est la première cause de rejet.
  5. Mesurez la latence, les tentatives et l'acceptation en aval : la réussite du solveur et celle du workflow sont deux métriques distinctes.

Gérer la clé API en toute sécurité

La clé CaptchaAI ne vit jamais dans le code Budibase ni dans une variable exposée côté client. Placez-la dans un coffre (HashiCorp Vault, AWS Secrets Manager, Azure Key Vault) ou un secret d'intégration continue, monté en variable d'environnement au runtime du composant serveur. Sur un hébergement européen (OVHcloud, Scaleway, région eu-west-3 à Paris), le principe reste identique : la clé transite par le gestionnaire de secrets, jamais par le dépôt.

Observabilité : ce qu'il faut tracer

Quel que soit le langage, instrumentez chaque appel CAPTCHA : durée d'obtention du token, code retour HTTP, identifiant de tâche et taille de la file d'attente. Ces signaux alimentent vos tableaux de bord de QA et vos alertes. Séparez les journaux par environnement et corrélez-les à votre traçage distribué (par exemple via OpenTelemetry) pour rejouer un incident complet à partir d'un identifiant unique. Côté RGPD, gardez-les sobres : un sitekey et un identifiant de tâche suffisent au diagnostic, sans consigner les données personnelles du formulaire.

Exemple de code côté serveur

Cet appel s'exécute dans votre propre service, jamais dans le navigateur du client. Il envoie une tâche et récupère un taskId que vous interrogez ensuite jusqu'à obtention du token :

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

Indicateurs à suivre

Les chiffres ci-dessous reposent sur des mesures observées et des retours d'utilisateurs. Les résultats varient selon l'environnement, le volume et le moment de la journée.

Indicateur Seuil d'alerte Ce qu'il révèle
Latence de première résolution (p50) < 25 s pour les CAPTCHA à token, < 8 s pour l'OCR d'image Intégration saine, sans attente de retry.
Taux de réussite du solveur >= 95 % par famille de CAPTCHA Vos paramètres sont corrects et 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.

La facturation par thread garde ce coût prévisible : le tarif dépend du nombre de threads simultanés, pas du nombre de résolutions (illimitées par thread). Une agence démarre souvent sur le plan BASIC ($15/mois, 5 threads) et change de plan pour monter en capacité.

Liste de contrôle avant mise en production

  • Le périmètre reste strictement limité à vos applications ou à des sources autorisées.
  • La clé CaptchaAI est stockée dans un coffre ou un secret CI, jamais dans le code.
  • 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 et reproductibles depuis votre intégration continue.

Dépannage

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 comme secret CI.
ERROR_ZERO_BALANCE Solde inférieur au minimum par tâche. Rechargez le solde et ajoutez une alerte de solde bas.
ERROR_PAGEURL / ERROR_BAD_PARAMETERS Un paramètre requis manque ou est 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 autre session que celle du défi. Gardez la résolution et l'envoi du formulaire dans le même contexte.

FAQ

Faut-il un plugin dédié pour appeler CaptchaAI depuis Budibase ?

Non. Budibase appelle CaptchaAI comme n'importe quelle API HTTP : une requête REST ou une action serveur suffit. Vous envoyez la tâche, récupérez le token, puis l'injectez dans l'étape suivante.

Où stocker la clé API dans un projet Budibase ?

Dans un gestionnaire de secrets ou une variable d'environnement du composant serveur, jamais dans une configuration exposée côté client. Le composant qui contacte CaptchaAI lit la clé au runtime ; l'éditeur Budibase n'en a pas connaissance.

Que faire quand un token est refusé après résolution ?

Vérifiez d'abord la session : le token doit être appliqué dans le même contexte de navigateur ou client HTTP que celui qui a déclenché le défi — un client différent est la cause la plus fréquente. Contrôlez ensuite qu'il n'a pas expiré avant l'envoi du formulaire.

Comment concilier journalisation et RGPD ?

Tracez le strict nécessaire au diagnostic — identifiant de tâche, sitekey, durée, code retour — et laissez les données personnelles hors des journaux. Séparez les logs par environnement et fixez une durée de rétention.

Ce guide couvre-t-il l'automatisation de sites tiers ?

Non. Tous les exemples portent sur vos propres applications ou des environnements de test autorisés par écrit. Pour une source externe, validez les conditions d'utilisation et la base juridique avant toute automatisation.

Guides connexes

Rendez vos workflows CAPTCHA stables et reproductibles, du premier essai à la production. – Récupérez votre clé CaptchaAI.

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