L’API Batch Reporting permet d’extraire les données de reporting Eulerian à partir des vues disponibles dans l’interface.
Elle doit être utilisée comme un moyen d’automatiser l’extraction de rapports déjà exploitables dans l’interface Eulerian. Elle ne doit pas être considérée comme un outil permettant de créer en une seule requête une granularité ou une combinaison de données qui n’existe pas dans les rapports.
Par exemple, si une analyse nécessite de combiner plusieurs sources ou plusieurs vues, il faut effectuer plusieurs requêtes API, puis agréger les résultats côté BI, datawarehouse ou script de traitement.
Pour récupérer les données complètes de J-1, il est recommandé de lancer les exports à partir de .
Pendant la nuit, Eulerian synchronise la base froide afin d’y intégrer les données de J-1. Une requête très matinale, par exemple vers 05h00, peut tomber pendant cette synchronisation et rencontrer une indisponibilité ou retourner des données incomplètes.
La recommandation opérationnelle est donc de planifier les jobs API à partir de .
Une méthode simple pour construire une requête API consiste à partir du rapport souhaité dans l’interface Eulerian, puis à observer la requête générée par l’interface.
Ouvrir le rapport souhaité dans l’interface Eulerian.
Ouvrir les outils développeur du navigateur avec F12.
Aller dans l’onglet .
Identifier la requête de reporting générée par l’interface.
Récupérer les paramètres utiles pour construire le body API.
ID de la vue d’attribution
Valeur du kind, avec le préfixe rt# dans le body API
Valeur à utiliser dans le champ path du body JSON
IDs présents dans le path
IDs de publisher, levier, plan média ou campagne selon la vue consultée
Le path visible dans la console contient déjà les IDs correspondant au niveau de données consulté : publisher, levier, plan média, campagne, etc.
L’endpoint utilisé pour interroger l’API Batch Reporting est de la forme :
POST /ea/{site}/report/{batch}/query.json
Content-Type: application/json
Le body JSON contient généralement un tableau reports, dans lequel on définit :
Axes de lecture du rapport
Source de données / type de rapport
Niveau de reporting ou périmètre média
Filtres optionnels, par exemple sur les types de ventes
"path": "mcMEDIAINCOMING[?].mcMEDIAAD.mcOPE"
Le kind, le path, les dimensions et les métriques doivent être adaptés au rapport que l’on souhaite reproduire.
Les filtres sur les types de ventes sont gérés via segmentFilterClauses.
"path": "mcMEDIAINCOMING[?].mcMEDIAAD.mcOPE",
"segmentFilterClauses": [
Les IDs à renseigner dans value doivent être récupérés dans l’interface Eulerian via la recherche .
À retenir : il ne faut pas utiliser directement le libellé métier du type de vente dans la requête API. Il faut utiliser son ID technique.
Pour récupérer les IDs des types de ventes :
Aller dans l’interface Eulerian.
Utiliser la barre de recherche en haut à droite.
Rechercher .
Identifier les IDs correspondant aux types de ventes souhaités.
Utiliser ces IDs dans segmentFilterClauses.value.
Exemple :
"segmentFilterClauses": [
Les valeurs ci-dessus sont données à titre d’exemple. Elles doivent être adaptées au périmètre client et aux types de ventes réellement visibles dans l’interface.
SPONSOREDLINK / Liens sponsorisés
Ces IDs peuvent être utilisés pour vérifier ou construire les path liés aux vues média.
Pour les algorithmes d'attribution, les IDs visibles dans l’interface Eulerian, via la page .
Cela vous permettra d'identifier le modèle d’attribution utilisé dans les vues de reporting.
Pour industrialiser l’utilisation de l’API de reporting Eulerian, il est recommandé de :
- partir d’une vue existante dans l’interface Eulerian pour construire la requête API ;
- récupérer le
kind, le path et les IDs via l’onglet Réseau du navigateur ; - planifier les appels API à partir de 06h00 ;
- utiliser les IDs techniques plutôt que les libellés métier ;
- utiliser
segmentFilterClauses pour appliquer des filtres spécifiques ; - exécuter plusieurs requêtes lorsque la vue souhaitée combine plusieurs périmètres ;
- agréger les résultats côté BI, datawarehouse ou script de traitement ;
- conserver un timestamp d’extraction pour faciliter l’audit des données.
POST /ea/{site}/report/{batch}/query.json
Heure de lancement conseillée
Construction de la requête
Partir d’une vue existante dans l’interface
Récupération du kind et du path
Via l’onglet Réseau du navigateur
segmentFilterClauses avec field: "ordertype_id"
À utiliser pour vérifier les path
IDs modèles MTA augmentés
Via la page Création et Editons des modèles
Faire plusieurs requêtes puis agréger côté BI
Pour requêter les plans média via l’API de reporting Eulerian, il est recommandé de splitter la requête en plusieurs parties afin qu’elle reste viable et exploitable.
La bonne pratique consiste notamment à effectuer une requête par levier d’acquisition.
Chaque requête reprend la même structure, mais avec un path différent selon le levier souhaité.
mcWEBSITE[1].mcGLOBALMEDIAPLAN.mcMEDIAPLAN[1].mcMEDIA[3].mcPUBLISHER
mcWEBSITE[1].mcGLOBALMEDIAPLAN.mcMEDIAPLAN[1].mcMEDIA[2].mcPUBLISHER
mcWEBSITE[1].mcGLOBALMEDIAPLAN.mcMEDIAPLAN[1].mcMEDIA[17].mcPUBLISHER
mcWEBSITE[1].mcGLOBALMEDIAPLAN.mcMEDIAPLAN[1].mcMEDIA[5].mcPUBLISHER
mcWEBSITE[1].mcGLOBALMEDIAPLAN.mcMEDIAPLAN[1].mcMEDIA[4].mcPUBLISHER
Dans ces exemples :
mcWEBSITE[1] correspond au site concerné ;mcMEDIAPLAN[1] correspond au plan média ciblé ;mcMEDIA[x] correspond au levier d’acquisition ;mcPUBLISHER permet de descendre au niveau support / publisher.
Les IDs doivent être adaptés au contexte client et au niveau de reporting souhaité.
Exemple pour le levier , avec les vues d’attribution 3, 8 et 6, sur la période du .
"path": "mcWEBSITE[1].mcGLOBALMEDIAPLAN.mcMEDIAPLAN[1].mcMEDIA[3].mcPUBLISHER",
"name": "Attribution rule",
"type": "attributionrule",
"field": "publisheralias_alias",
"name": "Ventes réelles",
"field": "realscartvalid"
"dateFrom": "2026-04-01",
"dateFormat": "YYYY-MM-DD"
Pour requêter un autre levier, il suffit de reprendre la même structure et de remplacer la valeur du path par celle du levier souhaité.
Par exemple, pour le SEA, le path devient :
"path": "mcWEBSITE[1].mcGLOBALMEDIAPLAN.mcMEDIAPLAN[1].mcMEDIA[5].mcPUBLISHER"
Cette approche permet de sécuriser les temps de réponse, de mieux contrôler les volumes retournés et de faciliter l’agrégation des résultats côté BI ou datawarehouse.
Lors d’une requête, il peut arriver que la dimension publisheralias_alias retourne une valeur vide alors que des métriques sont bien présentes.
Ce comportement est normal et dépend de la manière dont le tracking Eulerian a été implémenté sur les plateformes partenaires.
Lorsque le tracking Eulerian est implémenté au sein d’une plateforme tierce de type DSP, adserver ou plateforme média, les paramètres de suivi des campagnes ne collectent oas directement le nom du publisher ou de la campagne via une macro lisible, par exemple :
ead-publisher={{publisher_name}}, qui deviendrait "lequipe.fr"
Dans ce cas, le tracking peut être alimenté avec des IDs techniques, par exemple :
ead-publisher={{publisher_id}}, qui deviendrait "1234"
Eulerian utilise alors des connecteurs EPC pour faire le mapping entre l’ID collecté dans les paramètres de suivi et le libellé réel du publisher ou de la campagne tel qu’il apparaît dans la plateforme tierce.
Ces libellés retraités sont appelés des côté Eulerian. Ils sont accessibles via la dimension :
"field": "publisheralias_alias",
À l’inverse, lorsque le nom du publisher est directement envoyé dans le tracking, sans nécessiter de mapping par connecteur, il faut utiliser la dimension :
"field": "publisher_name",
Pour éviter d’avoir à jongler manuellement entre publisher_name et publisheralias_alias, il est possible d’utiliser l’option API suivante :
"overwriteNameByAlias": true
Cette option permet de demander à l’API de privilégier l’alias lorsqu’il existe, tout en conservant le nom brut lorsque l’alias n’est pas disponible.
Elle répond notamment au cas suivant :
- si le publisher dispose d’un alias, l’API retourne l’alias ;
- si le publisher ne dispose pas d’alias, l’API retourne le
publisher_name.
Cela permet de limiter les lignes vides dans les exports et d’obtenir une dimension “Support” plus directement exploitable côté BI ou datawarehouse.
L’option overwriteNameByAlias doit être ajoutée au niveau du bloc de rapport, au même niveau que kind, path, segments, dimensions, metrics et dateRanges.
Exemple sur le levier Social :
"path": "mcWEBSITE[1].mcGLOBALMEDIAPLAN.mcMEDIAPLAN[1].mcMEDIA[17].mcPUBLISHER",
"overwriteNameByAlias": true,
"name": "Attribution rule",
"type": "attributionrule",
"field": "publisher_name",
"name": "Ventes réelles",
"field": "realscartvalid"
"dateFrom": "2026-04-01",
"dateFormat": "YYYY-MM-DD"
Lorsque overwriteNameByAlias est activé, il est recommandé d’utiliser la dimension standard publisher_name :
"field": "publisher_name",
L’API se charge alors d’appliquer l’alias lorsque celui-ci est disponible.
Cette approche est plus simple que de requêter séparément publisher_name et publisheralias_alias, puis de réconcilier les deux champs côté BI.
L’option overwriteNameByAlias ne s’applique pas uniquement aux publishers.
Elle peut également s’appliquer aux autres dimensions disposant d’un mécanisme d’alias, par exemple :
L’option permet donc d’obtenir des libellés plus propres et plus cohérents dans les exports API lorsque des connecteurs Eulerian alimentent des alias.
Pour les requêtes par support / publisher :
Utiliser publisher_name comme dimension principale.
Ajouter "overwriteNameByAlias": true dans le bloc de rapport.
Tester le résultat sur les leviers où les deux logiques coexistent, notamment Social.
Conserver cette option si les supports remontent correctement avec les alias attendus et sans lignes vides injustifiées.
Cette option est particulièrement utile pour le levier Social, où certaines campagnes peuvent être trackées via des IDs partenaires puis retraitées par alias, tandis que d’autres campagnes peuvent être trackées manuellement avec un nom de publisher déjà disponible.