Reddit API Gateway
Choix de la langue

Suivez la clé dans un traitement sur l’onboarding

Suivez un traitement sur l’onboarding : autorisation, ajout de la clé, suivi des tentatives, conservation de la réponse et remplacement du secret.

Distinguer utilisateur, traitement et compte débité

L’utilisateur du produit, le traitement interne et le compte du domaine débité sont trois identités différentes. Votre backend relie les deux premières et vérifie les droits. Le navigateur reçoit le résultat autorisé. Lui confier la clé commune permettrait à son détenteur de lancer des lectures payantes hors des limites prévues à l’écran.

Ne publiez pas la clé dans le code du navigateur, les dépôts, les fichiers téléchargeables ou les journaux. Vous pouvez la charger par une variable d’environnement du serveur ou un gestionnaire de secrets. Cela sépare configuration et code, sans empêcher à lui seul un outil de diagnostic ou une exception d’en révéler la valeur. Vérifiez aussi les en-têtes, réponses d’erreur et copies de configuration qui quittent votre infrastructure.

Construire une requête autorisée

Fixez l’hôte de l’archive et la route autorisée pour le premier traitement. Construisez q=onboarding, subreddit=SaaS et limit=3 à partir de valeurs validées, puis ajoutez la clé à la sortie de la requête. Ne joignez pas ce secret à une URL arbitraire fournie par un visiteur. L’autorisation doit être acquise avant cette étape.

Pour comprendre le coût du traitement d’onboarding, votre journal local a besoin de son identifiant, de ses filtres et du numéro de tentative, pas de l’en-tête contenant le secret. Le client HTTP peut envoyer X-API-Key: <clé> ou Authorization: Bearer <clé> depuis une configuration protégée du serveur. Excluez la clé du code public, des réponses au navigateur et des diagnostics. Le cookie Secure HttpOnly gère la session du compte ; les identifiants de facture et d’utilisateur conservés par le widget dans localStorage par hostname ne remplacent pas non plus la clé de récupération. Examinez ces circulations de données lorsque vous branchez le suivi des coûts, sans présumer que leur séparation empêche toute divulgation.

Consigner la tentative avant de relancer

Attribuez au traitement un identifiant interne et un petit nombre de tentatives autorisées. Notez la route, les filtres, le numéro de tentative et son issue, sans en-têtes d’authentification. Une règle d’exemple permet trois tentatives au total, pages supplémentaires et relances comprises. L’archive ne fournit ni ce quota par utilisateur ni votre journal de traitements.

Examinez une séquence ambiguë : une première réussite vide coûte un crédit ; la deuxième réponse se perd et peut avoir coûté un autre crédit ; une relance réussie en consomme encore un. Une réponse perdue n’est pas un échec gratuit établi. Les erreurs du service en amont rendent la réservation, tandis qu’une erreur locale de traitement ou de stockage n’annule pas une réussite facturée.

Conserver la réponse avant de l’interpréter

Sauvegardez la réponse avant de l’adapter à l’écran. Les enregistrements sont plats ; des champs peuvent manquer et parent_id ou link_id peuvent désigner des éléments non reçus. Le regroupement ne prouve pas une conversation complète. Les dates suivent YYYY-MM-DD en UTC, jour to inclus. q recherche dans title et text avec AND à l’intérieur du champ correspondant ; min_score filtre et _doc ne classe ni par date ni par pertinence.

Remplacer la clé sans période de chevauchement

Préparez le remplacement en arrêtant l’admission de nouveaux traitements. Après connexion et confirmation du mot de passe, la régénération invalide immédiatement l’ancienne clé. Mettez à jour les processus de récupération avant de les relancer. Ne comptez sur aucun chevauchement. Limitez aussi l’accès au nouveau secret pendant sa transmission et excluez-le des diagnostics.

Une limite locale ne contrôle que les appels passant par votre backend. Elle n’arrête pas l’usage direct d’une clé divulguée. Comparez vos tentatives au contexte du compte lors d’une enquête, sans prendre une hausse de volume pour une preuve de fuite. Le remplacement ne restitue pas les crédits dépensés. Conservez aussi le mot de passe : aucune réinitialisation ni livraison de clé par e-mail n’est prévue.

Vérifier le parcours avec un petit traitement

Terminez par un petit traitement et examinez son issue réelle. Pour 400, vérifiez les paramètres ; pour 401, la clé ; pour 402, le solde ; pour 429, la fréquence. La récupération est bornée à 100 enregistrements par requête et 100 pages par recherche, sans exhaustivité garantie. /v1/status décrit un périmètre statique, pas la santé de l’archive. Une sélection sauvegardée et une décision motivée d’arrêter constituent aussi un résultat.