Requisitos previos
- Una clave de API de AthenaHQ (Organización → pestaña API). Consulta la página de Autenticación.
- El
website_idsobre el que quieres informar. Obtenlo conGET /api/v1/websites. - Power BI Desktop o un espacio de trabajo de Microsoft Fabric con Dataflow Gen2 activado.
Configuración
1
Crear una clave de API
Ve a la página de claves de API del panel de AthenaHQ. Selecciona los sitios web a los que debe acceder la clave, créala y guárdala de forma segura.
Gestionar claves de API
Crea y gestiona claves de API en la configuración de tu organización
2
Buscar tu website_id
Ejecuta lo siguiente desde tu terminal:Copia el
id del sitio web cuyos datos quieres obtener en Power BI o Fabric.3
Añadir la consulta en Power BI Desktop o Fabric
- Power BI Desktop: Inicio → Obtener datos → Consulta en blanco → Editor avanzado.
- Microsoft Fabric: Espacio de trabajo → Nuevo → Dataflow Gen2 → Obtener datos → Consulta en blanco → Editor avanzado.
YOUR_API_KEY, YOUR_WEBSITE_ID y el intervalo de fechas. start_date / end_date aceptan cadenas de fecha y hora ISO-8601 (UTC).GET como /api/v1/prompts o /api/v1/competitors, omite Content y pasa los parámetros mediante Query:4
Convertir la respuesta en una tabla
Cada endpoint de métricas devuelve La comprobación
{ "data": [...] }. La respuesta de la serie temporal de cuota de voz es una matriz de filas organizadas por fecha, con un registro por empresa. Expándela así:List.IsEmpty evita que las actualizaciones programadas fallen cuando el intervalo de fechas no devuelve filas. Ajusta el paso de expansión a la estructura de respuesta del endpoint al que llames.5
Configurar las credenciales en Power BI Service o Fabric
Al publicar el conjunto de datos o flujo de datos, establece las credenciales de la fuente de datos
https://api.athenahq.ai en Anónimo. La clave de API se envía en la cabecera de la solicitud y no mediante el almacén de credenciales de Power BI, ya que el tipo de credencial integrado Web API de Power BI solo admite una cabecera Authorization y no puede almacenar una cabecera personalizada x-api-key.Si tu organización exige puertas de enlace de datos locales para el tráfico externo, dirige la conexión a través de la puerta de enlace configurada.Consideraciones de seguridad
Prácticas recomendadas:- Utiliza una clave de API dedicada, limitada a sitios web, para esta integración. Crea una clave distinta de las de otras automatizaciones y limita su acceso únicamente a los sitios web sobre los que necesitas informar. Consulta Ámbito de las claves de API. No reutilices una clave con acceso amplio a la organización.
- Restringe el acceso al espacio de trabajo. Limita los permisos de edición, compilación y colaborador del espacio de trabajo de Power BI, conjunto de datos, flujo de datos y
.pbixde origen al menor número posible de usuarios de confianza. Los lectores de Power BI Service no pueden leer el código M, pero cualquiera que tenga acceso al archivo.pbixpuede abrirlo en Desktop y leerlo. - Rota la clave si sospechas que se ha expuesto. Si cambian los miembros del espacio de trabajo, se comparte un
.pbixexternamente o sospechas una filtración, rota la clave desde la página de claves de API. - Evita guardar archivos
.pbixque contengan la clave en el control de versiones. Elimina la clave (o utiliza un parámetro que se sustituya en el servicio) antes de guardarlos.
- Ejecuta un proxy ligero que controles. Aloja un pequeño endpoint (Azure Function, Cloud Function o servicio interno) que incorpore la clave de API de AthenaHQ desde un almacén seguro antes de reenviar la solicitud. El propio proxy debe exigir su propia autenticación (por ejemplo, una cuenta de Entra ID / Microsoft, un token por solicitante o mTLS) o ser accesible únicamente desde una red interna o mediante la puerta de enlace de datos local de Power BI. Si el proxy se deja anónimo en Internet, cualquiera que conozca su URL puede llamar a AthenaHQ en tu nombre, extraer tus datos y agotar tu cuota. La clave nunca reside en la consulta M, pero queda sujeta a los controles de acceso que sitúes delante del proxy.
- Desarrolla un conector personalizado de Power BI (
.mez). Los conectores personalizados pueden utilizar el almacén de credenciales de Power BI para cabeceras arbitrarias y mantener la clave fuera del código fuente del informe. Esto requiere desarrollar el conector y distribuirlo mediante un administrador.
Endpoints
Puedes llamar a cualquier endpoint de la referencia de la API desde Power Query. Puntos de partida habituales:
Cada endpoint de métricas también tiene una variante
/cumulative que devuelve un único valor agregado para el intervalo de fechas. Utiliza el fragmento POST para los endpoints de métricas y el fragmento GET para prompts / competitors.
Autenticación
Todas las solicitudes utilizan la cabecerax-api-key. Consulta Autenticación para conocer todos los detalles, incluido el ámbito de las claves de API.
Límites de solicitudes
Las solicitudes de API están sujetas a los límites documentados en la página Límites de solicitudes. Las actualizaciones programadas de Power BI consumen la misma cuota, por lo que conviene escalonarlas si conectas muchos informes.Resolución de problemas
401 Unauthorized: la clave de API falta, se ha revocado o no tiene acceso alwebsite_idsolicitado.- Peticiones de credenciales en bucle en Power BI Service: comprueba que las credenciales de la fuente de datos están configuradas como Anónimo para
https://api.athenahq.ai. Power BI no puede almacenar por sí mismo la cabecerax-api-key, por lo que debe estar en la consulta M. - Aviso de URL dinámica de
Web.Contents: mantén la URL base fija en el código y pasa las partes dinámicas mediante las opcionesRelativePathyQuery. El fragmento anterior ya sigue este patrón. 405 Method Not Allowed: llamar a un endpointGET(por ejemplo,/api/v1/prompts) conContentdefinido fuerza un POST y se rechaza. Utiliza la varianteGETdel fragmento.