Saltar al contenido principal

Obtener datos de Analytics

Este documento describe cómo conectarse a la API de Auravant para obtener datos de una query de Analytics desde PowerBI, incluyendo ejemplos equivalentes en Python y JavaScript.


🟡 PowerBI: Query Personalizada (M Language)

En PowerBI, podés crear una consulta personalizada con el siguiente código en lenguaje M:

let
url = "https://api.auravant.com/api/auth",
body = "username=xxxx&password=yyyyy&s=zzzzzz",
tokenResponse = Json.Document(Web.Contents(url,[Headers = [#"Content-Type"="application/x-www-form-urlencoded"], Content = Text.ToBinary(body) ] )),
AccessToken = tokenResponse[token],
AccessTokenHeader = "Bearer " & AccessToken,

data_url = "https://dashboards.auravant.com/avt/query/NNNNNNN",
data_body = "{
""authorization"": """& AccessTokenHeader & """,
""content-type"": ""application/json""
}",
Source = Json.Document( Web.Contents(data_url,[Headers = Json.Document(data_body)] )),

#"Convertida en tabla" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error)
in
#"Convertida en tabla"

Parámetros:

  • xxxx: tu nombre de usuario
  • yyyy: tu contraseña
  • zzzzzz: nombre del espacio (por ejemplo: compañia)
  • NNNNNNN: número de query en Auravant Analytics
  • La última línea define qué columnas se expanden para mostrar en PowerBI.

🟢 Alternativa en Python

Para hacer lo mismo en Python, usá la librería requests:

import requests

# Paso 1: Autenticación
auth_url = "https://api.auravant.com/api/auth"
auth_data = {
"username": "xxxx",
"password": "yyyy",
"s": "zzzzzz"
}

auth_response = requests.post(auth_url, data=auth_data)
access_token = auth_response.json().get("token")
headers = {
"Authorization": f"Bearer {access_token}",
"Content-Type": "application/json"
}

# Paso 2: Obtener datos
query_id = "NNNNNNN"
data_url = f"https://dashboards.auravant.com/avt/query/{query_id}"
response = requests.get(data_url, headers=headers)
data = response.json()

# Paso 3: Mostrar los resultados
for row in data:
print(row["campo"], row["lote"], row["campaña"])

Requiere: pip install requests


🔵 Alternativa en JavaScript (Node.js)

Podés hacer lo mismo usando fetch o axios. Ejemplo con axios:

const axios = require("axios");

(async () => {
try {
// Paso 1: Autenticación
const authResponse = await axios.post("https://api.auravant.com/api/auth", new URLSearchParams({
username: "xxxx",
password: "yyyy",
s: "zzzzzz"
}));

const token = authResponse.data.token;

// Paso 2: Obtener datos
const queryId = "NNNNNNN";
const dataResponse = await axios.get(`https://dashboards.auravant.com/avt/query/${queryId}`, {
headers: {
"Authorization": `Bearer ${token}`,
"Content-Type": "application/json"
}
});

const data = dataResponse.data;

// Paso 3: Mostrar datos
data.forEach(row => {
console.log(row.campo, row.lote, row.campaña);
});

} catch (err) {
console.error("Error:", err);
}
})();

Requiere: npm install axios


🔚 Notas Finales

  • Asegurate de tener permisos adecuados para acceder a la API ya Analytics.
  • Si la estructura de datos cambia, modificá las columnas a expandir en PowerBI.
  • Las credenciales no deben ser compartidas ni hardcodeadas en código de producción.