Cómo utilizar la API de Reporting agregado

Cómo utilizar la API de Reporting agregado

Todos los datos disponibles en la Eulerian Marketing Platform pueden consultarse mediante nuestra API RESTLos datos están disponibles en tiempo real, sin desfase, y los resultados de las llamadas API reflejan lo que ves en tu interfaz.
La documentación técnica completa está disponible  aquí  y también puedes consultar ejemplos en formato  Postman .
Si tu equipo no puede acceder a la documentación API, puedes descargar directamente la especificación en formato  Swagger .


Autenticación

Para hacer una consulta a la API necesitarás un token API, con formato similar a:PC3qOHIpm.VpzLS_XVY_4bWj4ZPW0zsfCs0_uDwGHw—
Las peticiones deben enviarse al endpoint correspondiente a tu plataforma, con la siguiente estructura:https://{customer}.api.eulerian.{datacenter}
Ambos datos están disponibles en la interfaz para cada usuario.


Ciclo de una petición

Lanzar la petición en formato 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"]]
}

Recuperar el estado de la petición

En la respuesta, necesitas recuperar el jobrun_id para comprobar el estado del procesamiento. Una vez finalizado, puedes descargar los datos:
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
}
}

Recuperar el contenido de la respuesta

Ahora puedes descargar el contenido del archivo:
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"
}
}
El formato de salida es muy similar al de la API de Google Analytics, para facilitar la integración.


Ejemplos de peticiones

Consultar páginas vistas, visitas y ventas de los últimos 7 días, para todos los canales.
{
"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" }
]
}
]
}
Consultar páginas vistas, visitas y ventas de los últimos 7 días, para el canal display agrupado por campaña, con las dimensiones soporte y campaña.
{
"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" }
]
}
]
}
Consultar páginas vistas, visitas y ventas de los últimos 7 días, para el canal afiliación con la granularidad más detallada: soporte, campaña, banner.
{
"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" }
]
}
]
}


Preguntas frecuentes



¿Cómo recuperar las fuentes de datos disponibles?
curl
-H 'Authorization: Bearer {apitoken}'
"https://{customer}.api.eulerian.{datacenter}/ea/v2/ea/{site}/report/batch/kinds.json"
Esta petición te permitirá saber qué fuentes de datos tienes disponibles y qué valor usar para el campo kind al generar tu petición a la API.
****
¿Cómo recuperar las segmentaciones posibles por fuente de datos?
curl
-H 'Authorization: Bearer {apitoken}'
"https://{customer}.api.eulerian.{datacenter}/ea/v2/ea/{site}/report/batch/dimensions.json?path=mcMEDIAINCOMING%5B35%5D.mcMEDIAAD"
Al proporcionar el parámetro kind (y opcionalmente path), podrás ver las opciones de segmentación disponibles para esa fuente de datos. Luego, podrás indicar la path deseada en tu consulta.
¿Cómo recuperar las dimensiones por nivel de segmentación?
curl
-H 'Authorization: Bearer {apitoken}'
"https://{customer}.api.eulerian.{datacenter}/ea/v2/ea/{site}/report/batch/metrics.json?kind=rt%23insummary"
Indicando el parámetro path según el nivel de segmentación deseado, obtendrás todas las opciones posibles para el campo dimensions en tu petición.
¿Cómo recuperar las métricas por fuente de datos?
curl
-H 'Authorization: Bearer {apitoken}'
"https://{customer}.api.eulerian.{datacenter}/ea/v2/ea/{site}/report/batch/metrics.json?kind=rt%23insummary"
Al pasar el parámetro kind, obtendrás la lista de métricas disponibles para esa fuente. Podrás usarlas para rellenar el campo metrics de la petición.


¿Cómo filtrar por dispositivo?
{
"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 ]
}]
}
]
}
Usa el parámetro segmentFilterClauses para filtrar las métricas por tipo de dispositivo.


¿Cómo filtrar por modelo de atribución?
{
"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 ]
}]
}
]
}
También mediante el parámetro segmentFilterClauses podrás filtrar las métricas por modelo de atribución.