Présentation

Reporting API

Reporting API permet à un marchand d'interagir avec ses données de performances par programmation via le langage de requête Merchant Center. Cette fonctionnalité est semblable à la création de rapports personnalisés directement dans Merchant Center. Reporting API présente les avantages suivants :

  • Permet aux grands marchands d'importer les données de performances des fiches produit dans leurs systèmes de création de rapports internes ou tiers.
  • Permet aux utilisateurs, aux partenaires tiers et aux agrégateurs qui gèrent les comptes Merchant Center d'accéder aux rapports.

Les utilisateurs de l'API peuvent spécifier les données de performances qu'ils souhaitent récupérer dans la réponse à l'appel de la Recherche, par exemple :

  • Métriques à renvoyer (par exemple, Clics, Impressions)
  • Dimensions auxquelles segmenter les données (par exemple : OfferId, Date)
  • Conditions à remplir (par exemple, Clics > 100)

Le langage de requête de Reporting API permet d'exécuter une requête sur Content API for Shopping pour des métriques de performances (clics, impressions), éventuellement segmentées selon différentes dimensions (attributs d'un événement signalé tels que le programme et la date, et attributs d'un produit tels que la marque, la catégorie, etc.), en utilisant la méthode Search sur le service Reports.

Le résultat d'une requête envoyée au service Reports est une liste d'instances ReportRow, chaque ReportRow représentant les valeurs des métriques demandées pour les segments spécifiés dans votre requête. Si aucun segment n'est spécifié, une ligne unique est renvoyée avec les métriques regroupées pour tous les segments. Sinon, si des segments sont demandés parallèlement aux métriques, la réponse affiche une ligne pour chaque tuple de segment unique. Il est possible de sélectionner plusieurs segments et plusieurs métriques dans une même requête.

Requête pour des métriques

Vous pouvez exécuter une requête pour les métriques (clics, impressions, CTR, etc.) que vous souhaitez obtenir. Vous devez ajouter un filtre sur la plage de dates pour interroger le service Reports. L'exemple de requête ci-dessous renvoie une seule ligne : il s'agit du nombre total de clics dans la condition ajoutée d'une plage de dates.

SELECT metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN '2020-12-01' AND '2020-12-21';

Exemple de réponse

L'exemple de réponse de code JSON ci-dessous montre comment ce marchand a totalisé 4 440 clics pour tous ses produits dans l'ensemble de ses destinations entre le 1er décembre 2020 et le 21 décembre 2020.

{"results": [
    {
      "metrics": {
        "clicks": "4,440"
      }
    }
]}

Requête pour des segments

Parallèlement aux métriques, vous pouvez également exécuter une requête pour des segments, qui peuvent être des attributs d'un produit (offer_id, brand, category, etc.) ou des attributs d'un événement signalé (date, program). Un événement signalé est une impression ou un clic pour un produit.

Les segments se comportent de la même manière qu'une clause GROUP BY en SQL. Les segments divisent les métriques sélectionnées, en les regroupant par segment dans la clause SELECT. L'exemple de requête ci-dessous renvoie les clics par jour, classés par nombre décroissant de clics dans la condition ajoutée d'une plage de dates. Seules les lignes où au moins une métrique demandée n'est pas nulle seront renvoyées.

SELECT
  segments.date,
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN '2020-12-01' AND '2020-12-03'
ORDER BY metrics.clicks DESC;

Exemple de réponse

L'exemple de réponse de code JSON ci-dessous montre comment ce marchand a enregistré 1 546 clics pour tous ses produits dans l'ensemble de ses destinations le 1er décembre 2020, et 829 clics pour tous ses produits dans l'ensemble de ses destinations le 2 décembre 2020. Aucun objet ne sera renvoyé pour le 3 décembre 2020, car le marchand n'a enregistré aucun clic ce jour-là.

{
  "results": [
    {
      "segments": {
        "date": {
          "year": 2020,
          "month": 12,
          "day": 1
        }
      },
      "metrics": {
        "clicks": "1546"
      }
    },
    {
      "segments": {
        "date": {
          "year": 2020,
          "month": 12,
          "day": 2
        }
      },
      "metrics": {
        "clicks": "829"
      }
    }
]}