Guide d’intégration des événements de catalogue et des Adobe I/O Events

Les événements de catalogue sont des notifications générées par l’ordinateur qui décrivent les modifications de catalogue prises en charge mises à disposition par le biais de Catalog Service. Ils activent des workflows pilotés par les événements tels que :

  • Garder les caches ou services externes synchronisés avec les mises à jour du catalogue.
  • Déclencher des processus en aval lorsque des produits, des variantes, des prix ou des catégories changent.
  • Optimiser les cas d’utilisation Experience Edge et Edge Delivery Services qui nécessitent des mises à jour de catalogue en temps quasi réel.

Pour le chemin d’accès de bout en bout du Adobe Commerce aux consommateurs d’événements, consultez la section ​ Diffusion d’événements via Adobe I/O Events.

Types d’événement pris en charge supported-event-types

Les événements de catalogue se concentrent sur les modifications pertinentes pour le storefront exposées par le biais de Adobe Developer Console. Les abonnements suivants sont actuellement pris en charge.

Abonnement
Événements
Mise à jour du produit
Modifications apportées à la création, la mise à jour et la suppression de produits disponibles via Catalog Service
Mise à jour des prix
Prix créer, mettre à jour et supprimer les modifications qui affectent les données du catalogue de storefront

Chaque événement comprend :

  • Identifiant d’événement qui décrit le type de modification.
  • Contexte d’entité et d’environnement, tel que l’ID d’instance et le SKU.
  • Payload qui décrit l’entité modifiée et les informations de portée pertinentes.

Exemples de payloads d’événement

Événement ProductUpdated

{
  "imsOrgId": "aaa-0",
  "instanceId": "instance-9",
  "eventCode": "productUpdated",
  "sku": "1234",
  "links": [
    {"type":  "variantOf", "sku": "5678"}
   ],
  "scope": [
    { "storeViewCode": "US-us" },
    { "storeViewCode": "FR-fr" },
    { "storeViewCode": "DE-de" }
  ]
}

Événement PriceUpdated

{
  "imsOrgId": "aaa-0",
  "instanceId": "instance-9",
  "eventCode": "priceUpdated",
  "sku": "1234",
  "scope": [
    {
      "websiteCode": "website1",
      "customerGroupCode": "customer-group-code1"
    },
    {
      "websiteCode": "website2",
      "customerGroupCode": "customer-group-code2"
    }
  ]
}

Diffusion d’événement via Adobe I/O Events event-delivery-through-adobe-io-events

Adobe I/O Events fournit des événements de catalogue à vos intégrations. Le diagramme suivant montre le flux de haut niveau des modifications de catalogue de Adobe Commerce à Catalog Service et Adobe I/O Events aux consommateurs abonnés :

Flux de haut niveau d’événements de catalogue d’Adobe Commerce vers les consommateurs abonnés via le service de catalogue et Adobe I/O Events

Les étapes suivantes expliquent plus en détail chaque remise :

  1. Service de catalogue Adobe Commerce →

Adobe Commerce exporte les données du catalogue vers Catalog Service à l’aide des extensions d’exportation de données SaaS prises en charge.

  1. Traitement du service de catalogue

    • Catalog Service traite les modifications de catalogue prises en charge et les prépare pour la diffusion d’événements.
  2. Service de catalogue → Adobe I/O Events

  • Les événements de catalogue sont publiés vers Adobe I/O Events.
  • Les consommateurs et consommatrices s’abonnent en utilisant la journalisation, les webhooks, Adobe I/O Runtime, Amazon EventBridge ou d’autres mécanismes de diffusion pris en charge.

Adobe I/O Events fournit :

  • Diffusion au moins une fois par abonné (des événements en double sont possibles).
  • Aucune garantie de commande sur les diffusions.

Vos clients doivent gérer les événements en double et la diffusion dans le désordre. Voir Idempotency pour obtenir des conseils d’implémentation.

Cas d’utilisation use-cases

Vous pouvez utiliser des événements de catalogue dans plusieurs scénarios.

Diffusion statique de site et de périphérie

  • Régénérer ou invalider des pages de catalogue et des fragments de storefront lors de modifications des données de catalogue.
  • Évitez d’interroger fréquemment les API Catalog Service.

Indexation et mise en cache de la recherche

  • Déclenchez des mises à jour incrémentielles dans les index de recherche en aval.
  • Mettez à jour les calques de cache ou les vues externes du catalogue lorsque les données de produit ou de catégorie changent.

Intégration avec des systèmes externes

  • Transférer les modifications du catalogue vers des systèmes externes tels que PIM, des moteurs de tarification ou d’autres systèmes métier.
  • Gardez les applications en aval synchronisées sans accès direct à la base de données.

Surveillance et observabilité

Combinez les événements de catalogue avec la surveillance existante (par exemple, Grafana et Prometheus) pour :

  • Surveillez le débit des événements.
  • Détection des anomalies dans le volume de mise à jour du catalogue.

Activer les événements de catalogue enable-catalog-events

Pour activer les événements de catalogue de bout en bout, procédez comme suit.

PREREQUISITES
Avant d’activer les événements de catalogue, vérifiez que vous disposez des éléments suivants :
  • Un environnement Adobe Commerce pris en charge avec Catalog Service activé.
  • La connexion Adobe I/O est configurée pour Adobe Commerce.
  • Accès à Adobe Developer Console dans la même organisation IMS que celle dans laquelle l’environnement Commerce est configuré.
  • Pour vérifier que la synchronisation avec les services SaaS Commerce est effectuée, utilisez le Data Management Dashboard dans l’interface d’administration.
  • Les versions v6.0, Live Search v4.1.0+ ou Catalog Service v1.17+ de Recommandations de produits sont requises pour la vérification des tableaux de bord. Adobe recommande de mettre à jour votre projet Commerce vers les dernières versions prises en charge de ces services. Pour les versions de service antérieures, utilisez Synchronisation des catalogues pour vérifier la synchronisation.
NOTE
Pour utiliser les événements de catalogue, commencez par configurer l’environnement Commerce pour Adobe I/O Events, puis enregistrez un abonnement à un événement dans Adobe Developer Console.
Si votre environnement n’apparaît pas dans Adobe Developer Console après la configuration, vérifiez que vous êtes connecté à l’organisation IMS appropriée et que votre compte dispose de l’accès requis. Si l’environnement n’apparaît toujours pas, contactez l’assistance Adobe.

Vérifier les données du catalogue verify-catalog-data

Vérifiez que Catalog Service dispose des données de catalogue actuelles de votre instance Commerce avant de procéder à la configuration. Les événements de catalogue dépendent de SaaS Data Export’achèvement de deux étapes. Confirmez-les les deux :

  1. Confirmez la réussite de l’exportation du flux depuis Commerce.

    À partir de l’administration Adobe Commerce, ouvrez la page Statut de synchronisation des flux de données (System > Data Transfer > Data Feed Sync Status) et vérifiez que le dernier statut d’exportation a réussi pour chaque flux de Catalog Service.

  2. Confirmez la réussite de la synchronisation avec les services Commerce connectés à partir de l’administrateur Adobe Commerce.

    À partir de l’administration Adobe Commerce, ouvrez le tableau de bord de gestion des données (System > Data Transfer > Data Management Dashboard) et vérifiez que les données des produits synchronisés incluent les produits attendus.

S’inscrire et s’abonner à Adobe I/O Events register-events

Définissez les événements Commerce auxquels vous abonner, puis enregistrez-les dans le projet.

Si votre instance ne figure pas dans la liste de sélection, elle n’est pas connectée à Adobe I/O. Pour obtenir des instructions sur la résolution du problème, consultez Configuration de la connexion Adobe I/O ​ dans la documentation Adobe Commerce Developer.

  1. À partir du Adobe Developer Console, connectez-vous à la même organisation IMS que celle utilisée pour le projet Commerce.

  2. Créez un projet pour les événements de catalogue Commerce ou ajoutez l’API d’événements à un projet existant.

    • Sélectionnez APIs and services dans le volet de navigation supérieur.

    • Sur la page Browse APIs and services, sélectionnez l’onglet Events .

    • Recherchez rapidement les API d’événements de catalogue Commerce. Saisissez Catalogue dans la zone de recherche, ou filtrez selon le produit Commerce.

    • Sur la carte Commerce Catalog Events, sélectionnez Project.

    Fournisseur d’événements de catalogue Commerce sélectionné sur la page Parcourir les API et services ​ {width="600" modal="regular"}

  3. Configurez l’enregistrement des événements.

    Sélectionnez l’instance Commerce à partir de laquelle recevoir les notifications d’événement. Sélectionnez ensuite Next.

    instance Commerce sélectionnée dans l'écran d'enregistrement de l'événement {width="600" modal="regular"}

  4. Choisissez les événements auxquels vous abonner.

    Sélectionnez les abonnements aux événements pris en charge que vous souhaitez recevoir, par exemple Product Update ou Price Update. Sélectionnez ensuite Next.

    Catégories d’événement sélectionnées pour l’abonnement dans l’écran d’enregistrement {width="600" modal="regular"}

  5. Ajoutez des informations d’identification de serveur à serveur OAuth.

    Saisissez un Credential name. Sélectionnez ensuite Next.

  6. Saisissez un Event registration name et un Event registration description. Sélectionnez ensuite Next.

  7. Sur l’écran d’enregistrement final, acceptez le client par défaut, l’API de journalisation.

    Le consommateur d’API de journalisation par défaut vous permet de tester l’enregistrement des événements et de confirmer que les événements sont diffusés. Si vous avez déjà configuré un webhook ou un client d’action Adobe I/O Runtime, sélectionnez-le ici. Sinon, modifiez l’enregistrement de l’événement ultérieurement lorsque votre client est prêt.

    Valeur par défaut du client API de journalisation sélectionnée dans l’écran de fin de l’enregistrement de l’événement {width="600" modal="regular"}

  8. Sélectionnez Complete registration.

Configurer le client d’événement configure-consumer

  1. Configurez un client, par exemple :

    • Un point d’entrée webhook
    • Une action Adobe I/O Runtime
    • Autre destination prise en charge
  2. Si vous n’avez pas sélectionné de client lors de l’enregistrement, modifiez l’enregistrement de l’événement pour ajouter les détails du client.

    • Dans la Adobe Developer Console, modifiez votre projet. Sélectionnez ensuite l’enregistrement d’événement que vous avez créé.

    • Sur la page des détails de l’enregistrement de l’événement, sélectionnez Edit Events Registration.

    • Sélectionnez Next jusqu’à ce que vous atteigniez l’écran de sélection du client. Sélectionnez ensuite le client que vous avez configuré.

    • Mettez à jour le client vers la destination configurée. Sélectionnez ensuite Save configured events.

Validation du flux d’événements validate-event-flow

Les événements de catalogue sont activés pour votre environnement. Lorsque les données du catalogue changent dans Commerce, les mises à jour Catalog Service transitent par Adobe I/O Events et le consommateur auquel vous êtes abonné reçoit l’événement de catalogue correspondant. Examinez les limites et bonnes pratiques avant de créer des intégrations de production.

  1. Effectuer une simple modification de catalogue prise en charge, comme mettre à jour un nom de produit ou modifier un prix.

  2. Confirmez les résultats suivants :

    • La modification est visible via les API Catalog Service.
    • Votre client Adobe I/O Events reçoit le produit ou l’événement de prix correspondant.

Limites et bonnes pratiques limits-and-best-practices

Lorsque vous créez des événements de catalogue, suivez ces bonnes pratiques.

Idempotence idempotency

Adobe I/O Events pouvez diffuser le même événement de catalogue plusieurs fois et les événements d’un seul produit peuvent arriver dans le désordre. Concevez les consommateurs de manière à ce qu’ils soient idempotents en :

  • Utilisation des ID d’entité avec un champ de version ou d’horodatage.
  • Ignorer en toute sécurité les notifications en double pour la même modification.

Débit et contre-pression

Les catalogues volumineux avec des taux de mise à jour élevés peuvent générer un volume d’événements significatif. Assurez-vous que :

  • Les consommateurs et consommatrices peuvent traiter les événements à un débit maximal.
  • Vous utilisez la mise en mémoire tampon, le traitement par lots ou les files d’attente si nécessaire.

Sécurité et isolement

  • Adobe I/O Events applique l’isolement client.
  • Votre organisation ne reçoit des événements que pour ses propres environnements et droits.

Évolution des schémas

Les payloads d’événement de catalogue suivent le même modèle conceptuel que les API Catalog Service. Pour rester compatible avec le transfert :

  • Dans la mesure du possible, évitez d’appliquer strictement les schémas.
  • Ignorez les champs inconnus au lieu d’échouer.

Résolution des problèmes liés aux événements de catalogue troubleshoot-catalog-events

Si des événements de catalogue sont manquants ou retardés, procédez comme suit.

  1. Vérifier les données du service de catalogue

    Utilisez l Catalog Service API pour vérifier que la modification du catalogue est stockée correctement.

  2. Vérifier lesSaaS Data Export

    Les événements de catalogue nécessitent des données actives en Catalog Service. Confirmez les deux étapes du chemin d’exportation :

    • Exportation des flux depuis Commerce — Sur la page État de synchronisation des flux de données ou dans var/log/saas-export.log, vérifiez que Catalog Service flux ont bien été exportés depuis Commerce.

    • Synchroniser avec les services SaaS Commerce connectés — Vérifiez que les données ont bien été synchronisées avec le Catalog Service dans le tableau de bord Data Management, Synchronisation de catalogue ou dans les journaux d’exportation.

    Pour résoudre les problèmes liés aux tâches d’exportation et de synchronisation, voir Synchronisation des données avec l’exportation de données SaaS et Journalisation et dépannage.

  3. Valider Adobe I/O Events configuration

    Confirmez que :

    • Vous êtes connecté à l’organisation IMS appropriée dans Adobe Developer Console.
    • Le fournisseur de Commerce Catalog Events est activé.
    • Le fournisseur de Commerce Catalog Events et l’environnement attendus sont visibles.
    • L’abonnement est actif.
    • Votre point d’entrée, action ou client de journal peut recevoir et traiter des événements de test.
  4. Contactez l’assistance Adobe

    Lors de l’ouverture d’un ticket d’assistance, sélectionnez le motif du problème qui correspond à l’application ​et incluez les informations suivantes :

    • Détails du service de catalogue (environnement, région).
    • Adobe I/O Events les détails de l’abonnement.
    • Heure approximative et description des événements manquants.

    Pour obtenir de l’aide supplémentaire, voir tickets d’assistance.

recommendation-more-help
commerce-help-catalog-service