Périmètre sûr : ce guide s'applique à vos propres applications, à vos environnements de QA et de préproduction, et aux sources pour lesquelles vous disposez d'un accès contractuel ou d'une autorisation écrite. Il ne couvre pas l'automatisation de sites tiers.
La première question d'un projet de comparaison de tarifs n'est pas technique, elle est contractuelle : quelles sources avez-vous le droit d'interroger ? Une fois la réponse écrite noir sur blanc — API partenaire, espace client sous contrat, ou votre propre plateforme de cotation — le défi CAPTCHA redevient un problème d'ingénierie ordinaire. CaptchaAI le résout dans ce cadre maîtrisé ; reste à l'insérer proprement dans votre pipeline.
Quelles sources de tarifs pouvez-vous interroger ?
Trois familles de sources tiennent devant un service juridique :
- L'API tarifaire du transporteur, ouverte par le contrat commercial : pas de HTML à analyser, des quotas explicites.
- L'espace client du transporteur, quand aucune API n'existe et que le contrat autorise l'accès automatisé. C'est là que le CAPTCHA apparaît.
- Votre propre plateforme : TMS interne, portail de cotation maison, préproduction.
Tout ce qui sort de ces trois cas se négocie avant la première ligne de code. Côté conformité, un tarif est une donnée commerciale, mais les journaux d'un pipeline de cotation contiennent des adresses de livraison : appliquez la minimisation RGPD dès la conception.
Où le défi CAPTCHA apparaît dans un pipeline autorisé
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.
| Surface autorisée | Défi rencontré | Délai indicatif |
|---|---|---|
| Espace client d'un transporteur colis | reCAPTCHA v2 | < 60 s |
| Cotation derrière Cloudflare | Turnstile | < 10 s |
| Suivi de conteneurs d'un armateur partenaire | Image (OCR) | < 0,5 s |
À vérifier avant de chiffrer le projet : CaptchaAI ne prend en charge ni hCaptcha, ni FunCaptcha (Arkose Labs). Si un portail utilise l'un des deux, la seule voie propre reste l'API négociée avec le transporteur. GeeTest v3 est pris en charge, GeeTest v4 est annoncé comme à venir.
Architecture : du planificateur à l'entrepôt
Le schéma tient dans une phrase. Un planificateur dépose les couples origine-destination dans une file d'attente ; des workers détectent le sitekey, envoient la tâche à CaptchaAI, interrogent le résultat, injectent le token, puis écrivent le tarif normalisé dans votre entrepôt.
Deux détails comptent en production. La résolution est asynchrone : n'immobilisez pas un thread applicatif pendant l'attente, interrogez le résultat toutes les 5 secondes et plafonnez les tentatives. Et hébergez les workers près de la source — OVHcloud, Scaleway ou une région AWS eu-west-3 à Paris — pour ne pas ajouter 150 ms à chaque étape.
Exemple Python, envoi d'une tâche reCAPTCHA v2 :
import os
import requests
API_KEY = os.environ['CAPTCHAAI_KEY']
def submit_recaptcha_v2(sitekey: str, page_url: str) -> str:
payload = {
'clientKey': API_KEY,
'task': {
'type': 'NoCaptchaTaskProxyless',
'websiteURL': page_url,
'websiteKey': sitekey,
},
}
resp = requests.post('https://api.captchaai.com/createTask', json=payload, timeout=30)
resp.raise_for_status()
return resp.json()['taskId']
La clé vient d'une variable d'environnement, jamais du dépôt. Le démarrage rapide CaptchaAI couvre la création du compte et la vérification du solde ; l'injection du token est détaillée dans résoudre reCAPTCHA v2 via l'API.
Cadence de collecte et volumétrie
Une collecte utile est régulière, pas intensive. Ordres de grandeur pour un pipeline multi-transporteurs :
| Données | Fréquence | Volume indicatif |
|---|---|---|
| Colis national (France, Belgique) | hebdomadaire | 50–100 couples |
| International (Europe–Maghreb) | mensuelle | 20–50 couples de pays |
| Groupage routier (LTL) | quotidienne | 10–30 lignes |
Espacez les requêtes, respectez les quotas contractuels et arrêtez le worker au premier code 429.
Dimensionner le plan CaptchaAI
La facturation porte sur les threads simultanés, en dollars US, avec un nombre de résolutions illimité par thread. Un thread correspond à un défi en vol : dès qu'une résolution se termine, il prend la tâche suivante. C'est donc votre concurrence, pas votre volume mensuel, qui fixe le palier.
- BASIC ($15/mois, 5 threads) : lot nocturne sur quelques dizaines de couples.
- STANDARD ($30/mois, 15 threads) : plusieurs transporteurs cotés en parallèle, plus le suivi en journée.
- ADVANCE ($90/mois, 50 threads) : portefeuille large interrogé à heure fixe.
Si vos workers attendent surtout le HTML du transporteur, augmentez la parallélisation applicative avant de changer de palier.
Observabilité et journalisation
Instrumentez chaque appel : durée d'obtention du token, code retour HTTP, identifiant de tâche, profondeur de la file. Ces quatre signaux distinguent une source lente d'un problème de résolution.
Séparez les journaux par environnement et corrélez l'identifiant de tâche avec votre traçage distribué, OpenTelemetry par exemple : un parcours complet se rejoue depuis un seul identifiant. Le guide résoudre Cloudflare Turnstile via l'API donne les points de mesure propres aux formulaires Turnstile.
Dépannage
| Problème | Cause probable | Correctif |
|---|---|---|
| Simulateur renvoyant une page vide | Formulaire soumis avant le token | Résoudre, injecter, puis soumettre |
| Token refusé | Mauvais nom de champ | g-recaptcha-response (reCAPTCHA v2), cf-turnstile-response (Turnstile) |
| Tâche sans résultat | Interrogation trop rapprochée | Interroger toutes les 5 s, plafonner les tentatives |
| Tarif différent de l'affichage | Surcharges absentes du payload | Ajouter gazole, sûreté, zone de livraison |
Liste de contrôle avant la mise en production
- Périmètre limité à vos applications ou à des sources explicitement autorisées.
- Clé CaptchaAI dans un coffre ou un secret CI, jamais dans le code.
- Durées d'appel et codes retour tracés à chaque exécution.
- Retry idempotent avec backoff exponentiel borné sur les erreurs transitoires.
- Champs personnels inutiles écartés avant écriture.
FAQ
Ai-je besoin d'une autorisation écrite pour collecter des tarifs ?
Oui, dès que la source ne vous appartient pas : contrat commercial, conditions d'utilisation prévoyant l'accès automatisé, ou API partenaire. Sans ce cadre, le projet ne démarre pas.
Quels types de CAPTCHA CaptchaAI prend-il en charge sur ces portails ?
reCAPTCHA v2 et v3 (Enterprise compris), Cloudflare Turnstile, Cloudflare Challenge, GeeTest v3, les CAPTCHA image/OCR et les grilles d'images. CaptchaFox, Friendly Captcha et Lemin sont en bêta. hCaptcha et FunCaptcha ne sont pas pris en charge.
Le RGPD s'applique-t-il à un pipeline de tarifs ?
Un tarif seul n'est pas une donnée personnelle, mais les payloads de cotation contiennent souvent adresses et noms de destinataires. Traitez ces champs comme tels : minimisation, durée de conservation définie, accès restreint aux journaux.
Quel plan choisir pour démarrer ?
BASIC ($15/mois, 5 threads) suffit à valider un premier lot de cotations nocturnes, les résolutions étant illimitées par thread. Passez à STANDARD ($30/mois, 15 threads) quand plusieurs transporteurs sont interrogés en parallèle.
Comment traiter les erreurs transitoires de l'API ?
Trois tentatives, délai doublé à chaque essai, plafond à 30 secondes. Tracez chaque échec avec son identifiant de tâche ; si l'erreur persiste, vérifiez le DNS, les certificats et le solde.
Guides connexes
- Résolution CAPTCHA en environnements de test autorisés
- Tester un endpoint API sur vos formulaires
- Intégrer la résolution CAPTCHA à votre chaîne CI
Fiabilisez vos cotations avant de les industrialiser : mesurez vos temps de résolution sur un couple origine-destination réel. – Obtenez votre clé CaptchaAI.