Documentation · Guide d'intégration

Identifiants API externes

Ce document explique comment gérer en toute sécurité les identifiants API externes utilisés par l'extension ADP Car Market Hub. Il indique d'où proviennent généralement les identifiants, ce qui ne doit jamais être publié, comment coordonner les valeurs avec les fournisseurs qui les émettent et comment partager des informations pour le support sans exposer de secrets.

Il est rédigé pour tout administrateur, intégrateur ou partenaire qui gère des valeurs d'identifiants pour le compte d'un concessionnaire.

Quand utiliser ce document

Utilisez ce document lorsque vous :

  • Recevez des identifiants d'un fournisseur pour la première fois et devez savoir comment les stocker et les transmettre en toute sécurité.
  • Coordonnez la rotation des identifiants entre le concessionnaire, le fournisseur d'API et le site WordPress.
  • Préparez une demande de support, une capture d'écran ou un export et devez savoir ce qu'il faut masquer.
  • Auditez la manière dont les identifiants sont stockés sur une installation WordPress.

Aperçu

L'extension peut contenir des identifiants pour plusieurs intégrations indépendantes. La liste exacte dépend des fonctionnalités activées, mais les exemples typiques incluent :

  • API AutoScout24 – le Client ID OAuth, le Client Secret et le(s) Seller ID utilisés par l'importateur. Voir Configuration de l'API AutoScout24.
  • AI Assistant – utilise la configuration Google Gemini managée dans ADP Car Market Hub. La clé API Gemini managée est fournie par AD Promotion dans AS24CI\Ai_Config après l'installation ; aucun fournisseur d'IA, modèle ou clé API n'a besoin d'être saisi dans le back-office WordPress, et aucune clé d'IA n'est stockée en tant qu'option WordPress.
  • Jeton Cron – un jeton généré de manière aléatoire utilisé pour authentifier le point de terminaison REST cron de l'extension lorsqu'un cron de serveur externe déclenche des importations. Voir Configuration du Cron du serveur.
  • Secret de Webhook – un secret partagé utilisé pour signer les charges utiles des webhooks sortants avec HMAC-SHA256. Voir Intégration des Webhooks.

Toutes ces valeurs sont stockées en tant qu'options WordPress sur le site qui exécute l'extension. Elles ne sont jamais fournies avec l'extension elle-même et doivent toujours être fournies par le client ou par son partenaire d'intégration.

D'où proviennent généralement les valeurs

IdentifiantÉmis parNotes
Client ID / Client Secret AutoScout24AutoScout24 ou le partenaire d'intégration qui fournit l'accès à l'API pour le concessionnaire.AD Promotion ne les émet pas. L'identifiant de connexion au site web du concessionnaire n'est pas un identifiant API.
Seller ID(s) AutoScout24AutoScout24 ou le partenaire d'intégration.Le Seller ID est un identifiant de compte stable, et non le nom d'affichage du concessionnaire.
URL de base de l'APIAutoScout24 ou le partenaire d'intégration.Détermine avec quel environnement l'extension communique. Il n'y a pas d'hôte codé en dur dans l'extension.
AI Assistant (Gemini managé)Fourni par AD Promotion dans le cadre de la configuration de l'IA managée.Stocké sous forme de constante PHP dans AS24CI\Ai_Config, non dans wp_options, et jamais exposé dans le back-office WordPress. Le client ne saisit aucun fournisseur d'IA, modèle ou clé API.
Jeton CronGénéré automatiquement par l'extension et révélé dans l'onglet Importations et Limites.Quiconque connaît le jeton peut déclencher une importation. Traitez-le comme un secret.
Secret de WebhookDéfini par le concessionnaire ou l'opérateur du système de réception ; copié dans l'extension et dans le récepteur.Optionnel. Sans lui, les signatures de charge utile ne sont pas générées.

Si une valeur est inconnue, n'en inventez pas. Demandez-la à la partie qui possède le système correspondant.

Ce qui ne doit pas être publié

Les valeurs suivantes ne doivent jamais apparaître dans un emplacement public (dépôts Git publics, commentaires de tickets publics, captures d'écran intégrées dans des documents marketing, articles de blog, assistants IA sans garantie de confidentialité, canaux de discussion publics ou documents partagés accessibles en dehors du concessionnaire / de l'agence) :

  • Le Client Secret AutoScout24 et tout autre secret OAuth.
  • Le jeton cron de l'extension (quiconque possède le jeton peut déclencher des importations).
  • Le secret de webhook.
  • Les URL de requête complètes qui incluent déjà un paramètre de requête ?token=....
  • Les sauvegardes de base de données, les exports wp_options ou les exports de diagnostic complets de l'extension sans masquage préalable.
  • Les noms d'hôtes internes, les points de terminaison privés ou les URL non publiques qui font partie de l'intégration.
  • Les données personnelles des leads, du personnel du concessionnaire ou des clients.

Le Client ID AutoScout24, le Seller ID et l'URL de base de l'API ne sont pas techniquement secrets au même titre qu'un Client Secret, mais ils identifient le compte du concessionnaire et doivent tout de même être traités comme confidentiels et partagés uniquement avec les personnes qui en ont légitimement besoin.

Règles de manipulation sécurisée

  • Utilisez un canal sécurisé. Recevez et transmettez les identifiants via un gestionnaire de mots de passe, un message chiffré de bout en bout ou un outil de transfert de fichiers sécurisé. Les e-mails simples et les discussions non chiffrées ne sont pas acceptables.
  • Limitez les personnes qui les connaissent. Seules les personnes qui configurent ou exploitent réellement l'intégration ont besoin de ces valeurs. Supprimez l'accès lorsque les personnes quittent le projet.
  • Conservez une copie maîtresse en dehors de WordPress. Le gestionnaire de mots de passe central du concessionnaire est la source de vérité. L'installation WordPress n'est qu'un consommateur de ces identifiants.
  • Renouvelez après exposition. Si un identifiant est divulgué, demandez immédiatement un renouvellement à la partie émettrice, puis mettez à jour la valeur dans l'extension et réexécutez le Test de connexion. Pour le jeton cron, régénérez-le depuis l'onglet Importations et Limites. Pour le secret de webhook, modifiez-le à la fois dans l'extension et dans le système de réception.
  • Renouvelez lorsque les accès changent. Lorsqu'une personne qui a manipulé des identifiants n'a plus besoin d'y accéder (par exemple, un employé quitte la concession ou l'agence), renouvelez les identifiants concernés. La suppression de son compte WordPress n'annule pas les valeurs qu'elle a pu copier auparavant.
  • Ne committez pas d'identifiants. Ne committez jamais d'identifiants dans Git, dans un thème, dans un mu-plugin ou dans tout autre fichier qui se retrouve dans le contrôle de version.
  • Attention au type de champ. L'extension affiche le Client Secret AutoScout24 sous la forme d'un champ de saisie de mot de passe qui n'est volontairement pas pré-rempli avec la valeur existante lors du rechargement de la page. Ne saisissez à nouveau la valeur que lorsque vous souhaitez réellement la modifier. Le jeton cron est également affiché avec un contrôle Afficher / Masquer — laissez-le masqué lors du partage de captures d'écran.

Coordination des identifiants avec les fournisseurs d'intégration

Pour toute intégration, suivez ce modèle de coordination :

  1. Demandez l'accès par l'intermédiaire du concessionnaire. Le concessionnaire est le titulaire du compte. La mise à disposition nécessite normalement une demande de la part du concessionnaire, même lorsqu'une agence ou un partenaire gère le travail technique.
  2. Mettez-vous d'accord sur l'environnement. Confirmez avec le fournisseur pour quelle URL de base de l'API les identifiants sont valides. Mélanger des valeurs de différents environnements est la cause la plus fréquente d'échecs d'authentification.
  3. Confirmez le périmètre d'autorisation. Pour AutoScout24, confirmez que la paire Client ID / Client Secret est autorisée pour chaque Seller ID qui doit être importé. Les concessions multi-vendeurs nécessitent souvent une autorisation explicite par vendeur.
  4. Recevez les valeurs de manière sécurisée. Voir les Règles de manipulation sécurisée ci-dessus.
  5. Configurez et testez sur le site WordPress. Utilisez la Configuration des identifiants API et le Test de connexion avant d'activer les importations automatisées.
  6. Documentez qui possède quoi. Enregistrez, dans la documentation interne du concessionnaire, qui est le contact chez le fournisseur d'API, qui a émis les valeurs et quand, et où est stockée la copie maîtresse des identifiants.
  7. Planifiez le renouvellement. Mettez-vous d'accord sur un processus de renouvellement des identifiants, à la fois de manière régulière et à la demande (après une fuite, après des changements de personnel, après un incident majeur).

Pour l'AI Assistant, la configuration Google Gemini managée dans AS24CI\Ai_Config est la source de vérité. Le client ne configure, ne stocke et ne renouvelle pas de clé API de fournisseur d'IA dans le back-office WordPress ; AD Promotion gère la mise à disposition de Gemini managé.

Partager des informations pour le support sans divulguer de secrets

Lorsque vous devez partager des informations de configuration ou de journalisation avec AD Promotion ou avec un autre contact de support :

  • Utilisez les informations de support décrites dans la Liste de contrôle des informations de support.
  • Masquez les secrets avant de les partager. Au minimum, remplacez le Client Secret AutoScout24, le jeton cron et le secret de webhook par [REDACTED].
  • Pour les URL qui incluent un paramètre de requête ?token=..., remplacez le jeton par [REDACTED] avant de coller l'URL dans un ticket.
  • Recadrez ou floutez les sections concernées de toute capture d'écran qui révélerait des secrets.
  • Le répertoire des journaux de l'extension dans wp-content/uploads/as24ci-logs/ n'écrit pas le Client Secret en texte clair, mais il peut inclure des URL et des métadonnées de requête. Traitez le répertoire des journaux comme confidentiel et examinez les extraits avant de les partager.

Stockage sur le site WordPress

  • Les identifiants sont stockés sous forme d'options WordPress standard. Ils peuvent être lus par tout code ayant accès à la base de données sur le même site (autres extensions, thèmes, mu-plugins, processus au niveau du serveur).
  • Les sauvegardes de base de données, les exports wp_options et les instantanés complets du serveur contiennent donc les identifiants. Appliquez les mêmes protections que pour toute autre sauvegarde contenant des secrets.
  • L'extension ne transmet pas d'identifiants à AD Promotion ni à aucun tiers autre que le fournisseur d'API auquel les identifiants sont destinés. Les identifiants AutoScout24 sont envoyés uniquement à l'URL de base de l'API configurée. Les requêtes d'IA vont au point de terminaison Google Gemini managé configuré par AD Promotion dans AS24CI\Ai_Config.
  • Pour plus de détails sur ce que l'extension stocke dans la base de données, voir l'Aperçu du stockage des données et la Référence de la base de données et du stockage.

Notes opérationnelles

  • Identifiants par environnement. Utilisez des identifiants distincts par environnement (production, pré-production, local). Ne pointez pas un site de pré-production WordPress vers des identifiants de production AutoScout24 à moins d'en avoir explicitement convenu avec le concessionnaire ; l'activité de pré-production pourrait sinon polluer les analyses, déclencher des e-mails de leads ou générer des appels de webhook indésirables.
  • Migration entre environnements. Lorsque vous copiez une base de données de la production vers la pré-production (ou inversement), vérifiez chaque champ d'identifiant sur le site cible. Voir Migration de pré-production vers la production.
  • Désinstallation. Lorsque l'extension est désinstallée avec l'option Supprimer les données lors de la désinstallation activée, les options stockées — y compris les identifiants — sont supprimées de la base de données. Si l'option est désactivée, les identifiants restent dans la base de données après la désinstallation. Voir Comportement de désinstallation et de nettoyage.
  • Vérifiez le comportement dans la version actuelle. Les libellés spécifiques de l'interface utilisateur, les valeurs par défaut et les clés de stockage exactes peuvent changer d'une version à l'autre. Vérifiez ce comportement dans la version actuelle de l'extension avant de publier des instructions destinées aux clients.

Dépannage

SymptômeCause probableCe qu'il faut vérifier
L'authentification échoue immédiatement après un changement d'identifiant.Un jeton d'accès préexistant est toujours mis en cache.Videz le cache des jetons depuis Car Market Hub → Outils et réexécutez le Connection Test.
L'authentification échoue bien que les valeurs "semblent correctes".Espace invisible, guillemets typographiques ou caractère inversé (0 contre O, 1 contre l).Collez d'abord chaque valeur dans un éditeur de texte brut, supprimez les espaces, puis collez-la dans le champ.
L'extension signale qu'aucun identifiant n'est configuré.Les valeurs ont été saisies mais le formulaire n'a pas été soumis, ou une extension de sécurité a bloqué la requête.Rouvrez l'onglet des réglages concerné et confirmez que les valeurs sont enregistrées. Désactivez temporairement les extensions de sécurité si elles interfèrent avec la soumission des formulaires d'administration.
Le point de terminaison du cron renvoie une erreur 403.Le jeton du cron dans l'URL ne correspond pas au jeton stocké, ou le jeton a été régénéré.Copiez l'URL de déclenchement REST actuelle depuis l'onglet Import & Limits dans la tâche cron de votre serveur. Voir Server Cron Setup.
Le récepteur de webhook rejette les charges utiles avec une signature non valide.Le secret du webhook dans l'extension et dans le récepteur ne correspond plus.Recopiez le secret des deux côtés et renvoyez un événement de test. Voir Webhook Integration.
Un identifiant semble fuiter dans un journal ou un ticket.La censure des données était incomplète.Renouvelez immédiatement l'identifiant auprès de l'émetteur, puis mettez à jour l'extension et testez à nouveau.

Documents connexes