La API de FXMacroData GraphQL está ahora en funcionamiento. Junto con los puntos finales REST existentes, cada superficie de datos de la serie de tiempo de indicadores, consultas de catálogo de datos y búsquedas de calendario de lanzamiento está ahora disponible a través de un solo esquema GraphSQL. Obtenga exactamente los campos que necesita en un viaje de ida y vuelta, componga consultas multidivisa en un solo cuerpo de solicitud y explore el esquema completo de manera interactiva a través del IDE GraphiQL incorporado.
¿Qué hay de nuevo?
El punto final de GraphQL está montado en POST /api/v1/graphql y expone tres campos de consulta raíz que reflejan la superficie REST de producción:
announcements
Obtener datos históricos de indicadores macroeconómicos para cualquier moneda y indicador soportado. date¿ Qué ? val, y
announcement_datetime campos como el punto final REST, además de opcional
pct_change ¿ Qué ? pct_change_12m los campos.
dataCatalogue
Enumere todos los indicadores disponibles para una moneda, incluida la caracol del indicador, el nombre legible para el ser humano, la unidad, la frecuencia de actualización y si existe una previsión oficial del banco central.
calendar
Busca las marcas de tiempo de lanzamiento económico para cualquier moneda soportada, con un filtro de indicador opcional.
La autenticación utiliza la misma clave API que la superficie REST pasarla como la api_key
El esquema está fuertemente escrito: cada campo, argumento y objeto de retorno está documentado directamente en el esquema, por lo que la introspección y la autocompletancia de IDE funcionan de forma automática.
Por qué es importante para los comerciantes y los desarrolladores
Los puntos finales REST son eficientes para búsquedas de un solo indicador. GraphQL se vuelve valioso en el momento en que su flujo de trabajo abarca múltiples monedas, múltiples indicadores o múltiples superficies de datos en un solo ciclo analítico.
Considere un modelo de propagación de divisas cruz que necesita el historial de inflación y tasas de política para seis monedas del G10 simultáneamente. Con REST, emite doce solicitudes HTTP secuenciales. Con GraphQL, envía un cuerpo de solicitud que contiene seis announcements El sistema de conexión de Internet permite a los usuarios de Internet utilizar alias de campo y recibir la respuesta combinada en un solo viaje de ida y vuelta reduciendo la latencia, reduciendo los gastos generales de conección y manteniendo el código del cliente lineal.
Selección precisa de los campos
Sólo pregunte por los campos que usa su modelo.
date ¿ Qué ? val El servidor se salta el cálculo de cualquier cosa que no esté en su conjunto de selección.
Integración de un solo punto terminal
Una URL base, un mecanismo de autenticación, un sobre de respuesta. Herramientas que ya hablan GraphQL Apollo Client, graphql-request, gql de Python, ghql de R se integran sin ninguna capa de adaptador REST personalizada.
Exploración por primera vez en el esquema
Dispara una consulta de introspección para enumerar cada moneda, indicador y tipo de campo disponible de forma programática sin necesidad de raspar documentación por separado.
Contexto de objetivos del banco central
El announcements La consulta devuelve una opción .
cbTarget Objeto junto a la serie de datos que le da el rango de objetivo actual del banco central, la fecha de entrada en vigor y la fuente en la misma respuesta.
Ejemplo práctico: consulta de inflación en varias monedas
Supongamos que está construyendo un panel de inflación G3 y necesita los últimos doce meses de datos del IPC para el USD, EUR y GBP en una sola toma.
announcements campo tres veces dentro de un documento GraphQL único:
curl -X POST "https://fxmacrodata.com/api/v1/graphql?api_key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "{ usd: announcements(currency: \"USD\", indicator: \"inflation\", startDate: \"2025-04-01\") { currency indicator data { date val announcementDatetime } } eur: announcements(currency: \"EUR\", indicator: \"inflation\", startDate: \"2025-04-01\") { currency indicator data { date val announcementDatetime } } gbp: announcements(currency: \"GBP\", indicator: \"inflation\", startDate: \"2025-04-01\") { currency indicator data { date val announcementDatetime } } }"
}'
Respuesta de los representantes:
{
"data": {
"usd": {
"currency": "USD",
"indicator": "inflation",
"data": [
{ "date": "2026-03-01", "val": 2.8, "announcementDatetime": 1743253200 },
{ "date": "2026-02-01", "val": 3.0, "announcementDatetime": 1740747600 }
]
},
"eur": {
"currency": "EUR",
"indicator": "inflation",
"data": [
{ "date": "2026-03-01", "val": 2.3, "announcementDatetime": 1743340800 },
{ "date": "2026-02-01", "val": 2.4, "announcementDatetime": 1740834000 }
]
},
"gbp": {
"currency": "GBP",
"indicator": "inflation",
"data": [
{ "date": "2026-03-01", "val": 2.6, "announcementDatetime": 1743253200 },
{ "date": "2026-02-01", "val": 2.8, "announcementDatetime": 1740747600 }
]
}
}
}
Tres monedas, un HTTP ida y vuelta. announcementDatetime La época en cada punto de datos le da el segundo exacto de la impresión fue lanzado, por lo que puede alinear la serie en el tiempo del evento en lugar de mes calendario al modelar las reacciones del mercado.
Punto final de la tasa de interés de política en USD
y sus equivalentes en EUR y GBP para añadir la capa de diferencia de tipo.
Ejemplo práctico: Descubra los indicadores disponibles
Antes de crear un nuevo modelo, puede consultar el catálogo de datos a través de GraphQL para enumerar todos los indicadores disponibles para una moneda, incluida la frecuencia de actualización y si una previsión oficial del banco central acompaña la publicación:
curl -X POST "https://fxmacrodata.com/api/v1/graphql?api_key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "{ dataCatalogue(currency: \"AUD\") { currency indicators { slug name unit frequency hasOfficialForecast } } }"
}'
Respuesta representativa (truncada):
{
"data": {
"dataCatalogue": {
"currency": "AUD",
"indicators": [
{
"slug": "policy_rate",
"name": "Cash Rate Target",
"unit": "%",
"frequency": "irregular",
"hasOfficialForecast": false
},
{
"slug": "inflation",
"name": "CPI Inflation",
"unit": "%",
"frequency": "quarterly",
"hasOfficialForecast": false
},
{
"slug": "unemployment",
"name": "Unemployment Rate",
"unit": "%",
"frequency": "monthly",
"hasOfficialForecast": false
}
]
}
}
}
Las balas devueltas se dirigen directamente a la indicator ¿ Qué es lo que está pasando ?
announcements consulta no se necesita un pase de documentación separado. Puede escribir el paso de descubrimiento y crear automáticamente un lote de peticiones para los indicadores que requiera su modelo.
Documentación de la API del AUD- ¿ Qué ?
Ejemplo práctico: búsqueda de calendario de lanzamiento
Saber cuándo se debe imprimir la próxima impresión de alto impacto es fundamental para el tamaño de la posición en torno al riesgo de evento. calendar consulta expone las marcas de tiempo de lanzamiento próximas para cualquier moneda soportada, con un filtro de indicador opcional para reducir los resultados:
curl -X POST "https://fxmacrodata.com/api/v1/graphql?api_key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "{ calendar(currency: \"CAD\", indicator: \"policy_rate\") { currency indicator data { release announcementDatetime } } }"
}'
Respuesta de los representantes:
{
"data": {
"calendar": {
"currency": "CAD",
"indicator": "policy_rate",
"data": [
{
"release": "policy_rate",
"announcementDatetime": 1747400400
},
{
"release": "policy_rate",
"announcementDatetime": 1752580800
}
]
}
}
}
El announcementDatetime Los valores son enteros de época Unix dejarlos directamente en un programador o sistema de alerta sin ningún paso de análisis de fecha. calendar El campo , como tú lo harías alias . announcements: compone una consulta que cubre las fechas de las tasas de interés de las políticas CAD, AUD y NZD y recibe una única respuesta de calendario consolidado.
Tasa de referencia de la política CAD
para el equivalente REST.
GraphQL vs REST: cuándo usar cada uno
Ambas interfaces se basan en el mismo almacén de datos respaldado por Firestore y llevan datos idénticos.
announcement_datetime La elección es una decisión de flujo de trabajo:
| Escenario | Interfaz recomendada |
|---|---|
| Indicador único, moneda única | REST URL simple, compatible con las curvas |
| Varias monedas o indicadores en una sola solicitud | GraphQL alias de campo elimina múltiples viajes de ida y vuelta |
| Cliente con tipos fuertes (TypeScript, Kotlin, Swift) | GraphQL genera tipos de la introspección automáticamente |
| Entorno de escritorio o de escritura de guiones | REST o GraphQL ambos son únicos curl ¿ Qué ? requests.get() llamadas |
| Exploración de esquemas / descubrimiento de catálogos | GraphQL introspección devuelve el esquema completo sin raspado de documentos |
| Línea de suministro basada en REST existente | REST no se necesita migración; ambas superficies se mantienen en paralelo |
Empieza
El punto final de GraphQL está disponible para todos los suscriptores en la misma clave de API utilizada para la superficie REST. No se requiere configuración adicional.
Primeros pasos
- Ejecuta tu primera consulta:
curl -X POST "https://fxmacrodata.com/api/v1/graphql?api_key=YOUR_API_KEY" -H "Content-Type: application/json" -d '{"query":"{ dataCatalogue(currency: \"USD\") { indicators { slug name } } }"}' - Explora el esquema en vivo usando el Centro de documentación de las API
- Busque todos los indicadores soportados por moneda en los documentos de las API
- ¿No tienes la clave de API todavía? Suscríbete para empezar se dispone de una capa gratuita.