Introducción de la API FXMacroData GraphQL banner image

Platform News

Product Updates

Introducción de la API FXMacroData GraphQL

La API FXMacroData GraphQL está ahora en funcionamiento. Se pueden consultar series de tiempo de indicadores, catálogos de datos y calendarios de lanzamiento en múltiples monedas en una sola solicitud escrita los mismos datos, la misma precisión, un nuevo punto final.

Disponible también en English

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.

Blogroll