Comment utiliser l'API de Reporting aggrégé

L'ensemble des données disponible dans l'Eulerian Marketing Platform sont requêtables via notre API REST.
Les données sont disponibles en temps-réel, sans décalage de temps et vous retrouverez ce qui est dans votre interface dans les retours des appels API.
La documentation technique complète est disponible  ici  et des exemples au format  Postman  sont aussi disponibles.
Si votre ordinateur a du mal à accéder à la documentation API, vous pouvez télécharger directement la spécification API au format  Swagger .


Authentification

Pour requêter l'API vous aurez besoin d'un token API, le token est sous la forme PC3qOHIpm.VpzLS_XVY_4bWj4ZPW0zsfCs0_uDwGHw—
Les requêtes doivent ensuite être envoyées sur l'endpoint API associé a votre plateforme, sous la forme : https://{customer}.api.eulerian.{datacenter}
Ces deux informations sont disponibles dans l'interface pour chaque utilisateur.


Cycle d'une requête

Lancer la requête au format JSON

curl
-X POST
-H 'Authorization: Bearer $AUTH_TOKEN'
-d '{"reports":[{"kind":"rt#insummary","dateRanges":[{"range":"LAST_7_DAYS"}],"dimensions":[{"name":"channel","field":"media_key"}],"metrics":[{"name":"click","field":"click"}]}]}'
https://{customer}.api.eulerian.{datacenter}/ea/v2/ea/{site}/report/batch/query.json
{
"error": false,
"data": {
"fields": [
{
"name": "jobrun_id"
}
]
},
"meta": {
"tm": 1743605999,
"elapsed": 46.7,
"pid": 30480,
"reqid": "DEC59CE2FD2530D389E38D12D9E8C4E5",
"host": "er12"
},
"rows": [["1935150599723217"]]
}

Récupérer le statut de la requête

Dans la réponse il faut récupérer l'id du jobrun_id pour tester le statut du traitement, une fois que celui-ci est finalisé vous pouvez télécharger la donnée :
curl
-X POST
-H 'Authorization: Bearer $AUTH_TOKEN'
https://{customer}.api.eulerian.{datacenter}/ea/v2/ea/{site}/report/batch/status.json?jobrun-id=1935150599723217
{
"error": false,
"jobrun_status": "COMPLETED",
"meta": {
"reqid": "77A5B90BCED93EFD9E8BAA75A41F16D3",
"tm": 1743606185,
"elapsed": 12.045,
"host": "er16",
"pid": 16186
}
}

Récupérer le contenu de la réponse

Vous pouvez désormais récupérer le contenu du fichier
curl
-X POST
-H 'Authorization: Bearer $AUTH_TOKEN'
https://{customer}.api.eulerian.{datacenter}/ea/v2/ea/{site}/report/batch/download.json?jobrun-id=1935150599723217
{
"error": false,
"data": {
"reports": [
{
"totalRowCount": 10,
"data": [
{
"metrics": [
[
{
"values": [0]
}
]
],
"dimensions": ["NATURAL"]
},
{
"metrics": [
[
{
"values": ["7504"]
}
]
],
"dimensions": ["AFFILIATION"]
},
{
"metrics": [
[
{
"values": ["5247"]
}
]
],
"dimensions": ["SOCIAL"]
},
{
"metrics": [
[
{
"values": ["30361"]
}
]
],
"dimensions": ["MAILING"]
},
{
"metrics": [
[
{
"values": ["83401"]
}
]
],
"dimensions": ["SEARCHENGINE"]
},
{
"metrics": [
[
{
"values": ["42322"]
}
]
],
"dimensions": ["REFERER"]
},
{
"metrics": [
[
{
"values": ["827"]
}
]
],
"dimensions": ["TRUSTEDFEED"]
},
{
"metrics": [
[
{
"values": ["30"]
}
]
],
"dimensions": ["OFFLINE"]
},
{
"metrics": [
[
{
"values": ["23717"]
}
]
],
"dimensions": ["ADVERTISING"]
},
{
"metrics": [
[
{
"values": ["250884"]
}
]
],
"dimensions": ["SPONSOREDLINK"]
}
],
"columnHeader": {
"metrics": [
{
"affinity": "int",
"field": "click",
"name": "click"
}
],
"dateRanges": [
{
"to": 1743631200,
"tzone": "Europe/Paris",
"values": [
{
"epoch": 1742943600
}
],
"from": 1742943600,
"range": "LAST_7_DAYS"
}
],
"dimensions": [
{
"field": "media_key",
"name": "channel"
}
]
},
"path": "mcMEDIAINCOMING[?].*",
"kind": "rt#insummary",
"rowCount": 10
}
]
},
"meta": {
"reqid": "24AA7CD4CC9403D1511D9F270F237410",
"elapsed": 14000,
"host": "er16",
"pid": "28428"
}
}
Le format de sortie est très semblable à celle du format de sortie de l'API Google Analytics afin de faciliter l'intégration.

Exemples de requêtes

Requêter les pages vues, visites, ventes sur les 7 derniers jours, pour tous les leviers.
{
"reports": [
{
"kind": "rt#insummary",
"dateRanges": [{ "range": "LAST_7_DAYS" }],
"dimensions": [{ "name": "levier", "field": "media_key" }],
"metrics": [
{ "name": "pages vues", "field": "hit" },
{ "name": "visites", "field": "visit" },
{ "name": "ventes", "field": "realscartvalid" }
]
}
]
}

Requêter les pages vues, visites, ventes sur les 7 derniers jours pour le levier display grouper par campagne avec les dimensions supports et campagnes.
{
"reports": [
{
"kind": "rt#insummary",
"path": "mcMEDIAINCOMING[?].mcMEDIAAD.mcOPE,"
"dateRanges": [{ "range": "LAST_7_DAYS" }],
"dimensions": [
{ "name": "support", "field": "publisher_name" },
{ "name": "campagne", "field": "ope_name" }
],
"metrics": [
{ "name": "pages vues", "field": "hit" },
{ "name": "visites", "field": "visit" },
{ "name": "ventes", "field": "realscartvalid" }
]
}
]
}

Requêter les pages vues, visites, ventes sur les 7 derniers jours, pour le levier affiliation a la granularité la plus fine avec les dimensions support, campagne, bannière.
{
"reports": [
{
"kind": "rt#insummary",
"path": "mcMEDIAINCOMING[?].mcMEDIAAF.mcOPEDATA,"
"dateRanges": [{ "range": "LAST_7_DAYS" }],
"dimensions": [
{ "name": "support", "field": "publisher_name" },
{ "name": "campagne", "field": "ope_name" },
{ "name": "banniere", "field": "creative_name" }
],
"metrics": [
{ "name": "pages vues", "field": "hit" },
{ "name": "visites", "field": "visit" },
{ "name": "ventes", "field": "realscartvalid" }
]
}
]
}


Questions fréquentes


Comment récupérer les sources de données disponibles ?
curl
-H 'Authorization: Bearer {apitoken}'
"https://{customer}.api.eulerian.{datacenter}/ea/v2/ea/{site}/report/batch/kinds.json"
Cette requête vous permettra de savoir quelles sources de données sont disponibles pour votre accès et quelle valeur pour pourrez donc utiliser pour la valeur kind lorsque vous générez la requête vers l'API.

Comment récupérer les segmentations possibles par source de donnée ?
curl
-H 'Authorization: Bearer {apitoken}'
"https://{customer}.api.eulerian.{datacenter}/ea/v2/ea/{site}/report/batch/segmentations.json?kind=rt%23insummary&name=google&path=mcMEDIAINCOMING%5B35%5D.mcMEDIAAD"
En fournissant le paramètre kind et optionnellement le paramètre path vous pourrez connaître les choix possibles pour définir le niveau de segmentation de la donnée que vous souhaitez dans votre rapport en spécifiant le paramètre path souhaité dans la requête.

Comment récupérer les dimensions par niveau de segmentation ?
curl
-H 'Authorization: Bearer {apitoken}'
"https://{customer}.api.eulerian.{datacenter}/ea/v2/ea/{site}/report/batch/dimensions.json?path=mcMEDIAINCOMING%5B35%5D.mcMEDIAAD"
En fournissant le paramètre path en fonction du niveau de segmentation souhaité vous aurez accès a toutes les valeurs possibles pour renseigner le paramètre dimensions dans la requête.
Comment récupérer les métriques par source de données ?
curl
-H 'Authorization: Bearer {apitoken}'
"https://{customer}.api.eulerian.{datacenter}/ea/v2/ea/{site}/report/batch/metrics.json?kind=rt%23insummary"
En fournissant le paramètre kind vous aurez accès à la liste des métriques disponible pour la source de données fournies, vous pourrez alors utiliser ces valeurs pour renseigner le paramètre metrics de la requête.

Comment filtrer sur un appareil ?
{
"reports": [
{
"kind": "rt#insummary",
"path": "mcMEDIAINCOMING[?].mcMEDIAAD.mcOPE,"
"dateRanges": [{ "range": "LAST_7_DAYS" }],
"dimensions": [
{ "name": "support", "field": "publisher_name" },
{ "name": "campagne", "field": "ope_name" }
],
"metrics": [
{ "name": "pages vues", "field": "hit" },
{ "name": "visites", "field": "visit" },
{ "name": "ventes", "field": "realscartvalid" }
],
"segmentFilterClauses": [{
"field" : "device",
"operator" : "IN",
"value" : [ 1, 2 ]
}]
}
]
}
En ajoutant le paramètre segmentFilterClauses vous pourrez filtrer toutes les métriques par type d'appareil.

Comment filtrer sur un modèle d'attribution ?
{
"reports": [
{
"kind": "rt#insummary",
"path": "mcMEDIAINCOMING[?].mcMEDIAAD.mcOPE,"
"dateRanges": [{ "range": "LAST_7_DAYS" }],
"dimensions": [
{ "name": "support", "field": "publisher_name" },
{ "name": "campagne", "field": "ope_name" }
],
"metrics": [
{ "name": "pages vues", "field": "hit" },
{ "name": "visites", "field": "visit" },
{ "name": "ventes", "field": "realscartvalid" }
],
"segmentFilterClauses": [{
"field" : "attributionrule",
"operator" : "IN",
"value" : [ 2 ]
}]
}
]
}
En ajoutant le paramètre segmentFilterClauses vous pourrez filtrer toutes les métriques par modèle d'attribution.