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 usuarioyyyy
: tu contraseñazzzzzz
: 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.