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.