FXMacroData GraphQL API sekarang aktif. Seiring dengan titik akhir REST yang ada, setiap permukaan data inti seri waktu indikator, kueri katalog data, dan pencarian kalender rilis sekarang tersedia melalui skema GraphSQL yang tertipu tunggal. Dapatkan persis bidang yang Anda butuhkan dalam satu perjalanan pulang pergi, menulis kueri multi-mata uang dalam satu badan permintaan, dan menjelajahi skema penuh secara interaktif melalui GraphiQL IDE bawaan.
Apa yang baru?
Titik akhir GraphQL dipasang di POST /api/v1/graphql dan mengekspos tiga bidang query akar yang mencerminkan permukaan produksi REST:
announcements
Mengambil data indikator makro ekonomi historis untuk mata uang yang didukung dan slug indikator. dateAku akan pergi. val, dan
announcement_datetime bidang sebagai titik akhir REST, ditambah opsional
pct_change Dan pct_change_12m ladang.
dataCatalogue
Daftarkan semua indikator yang tersedia untuk mata uang, termasuk slug indikator, nama yang dapat dibaca manusia, unit, frekuensi pembaruan, dan apakah ada perkiraan resmi bank sentral yang tersedia.
calendar
Menanyakan waktu rilis ekonomi mendatang untuk mata uang yang didukung, dengan filter indikator opsional. Mengembalikan waktu Unix epoch sehingga Anda dapat menjadwalkan pengambilan data tindak lanjut dengan tepat.
Otentikasi menggunakan kunci API yang sama dengan permukaan REST lulus sebagai api_key
skema ini sangat diketik: setiap bidang, argumen, dan obyek pengembalian didokumentasikan langsung dalam skema, sehingga introspeksi dan IDE autocompletion bekerja dari kotak.
Mengapa Hal Ini Penting Bagi Pedagang dan Pengembang
REST endpoint efisien untuk pencarian indikator tunggal. GraphQL menjadi berharga saat alur kerja Anda mencakup beberapa mata uang, beberapa indikator, atau beberapa permukaan data dalam satu siklus analisis.
Pertimbangkan model spread lintas mata uang yang membutuhkan sejarah inflasi dan kebijakan suku bunga untuk enam mata uang G10 secara bersamaan. Dengan REST Anda mengeluarkan dua belas permintaan HTTP berurutan. Dengan GraphQL Anda mengirim satu request body yang berisi enam announcements alias lapangan dan menerima respons gabungan dalam satu perjalanan pulang pulang memotong latensi, mengurangi overhead koneksi, dan menjaga kode klien linier.
Pilihan bidang yang tepat
Tanyakan hanya untuk bidang yang digunakan model Anda.
date Dan val Server melewatkan perhitungan apapun yang tidak dalam set pilihan Anda.
Integrasi titik akhir tunggal
Satu URL dasar, satu mekanisme auth, satu amplop respons. Alat yang sudah berbicara GraphQL Apollo Client, graphql-request, Python gql, R ghql mengintegrasikan tanpa lapisan adaptor REST kustom.
Eksplorasi pertama skema
Menembakkan kueri introspeksi untuk menghitung setiap mata uang, indikator, dan jenis bidang yang tersedia secara programmatic tidak perlu mengikis dokumentasi terpisah.
Konteks target bank sentral
- Apa? announcements pertanyaan mengembalikan opsional
cbTarget objek di samping seri data memberi Anda target target bank sentral saat ini, tanggal efektif, dan sumber dalam respon yang sama.
Contoh Praktis: Kueri Inflasi Multi-Mata Uang
Misalkan Anda membangun G3 inflasi dashboard dan perlu dua belas bulan terakhir dari data CPI untuk USD, EUR, dan GBP dalam satu tembakan.
announcements bidang tiga kali dalam satu dokumen GraphQL:
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 } } }"
}'
Jawaban perwakilan:
{
"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 }
]
}
}
}
Tiga mata uang, satu HTTP pulang pergi. announcementDatetime Epoch pada setiap titik data memberi Anda detik yang tepat cetakan dirilis, sehingga Anda dapat menyelaraskan seri pada waktu peristiwa daripada bulan kalender ketika pemodelan reaksi pasar.
Nilai akhir suku bunga kebijakan USD
dan setara EUR dan GBP untuk menambahkan lapisan tingkat diferensial.
Contoh Praktis: Temukan Indikator yang Tersedia
Sebelum membangun model baru, Anda dapat menelusuri katalog data melalui GraphQL untuk menghitung setiap indikator yang tersedia untuk mata uang, termasuk frekuensi pembaruannya dan apakah perkiraan resmi bank sentral menyertai rilis:
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 } } }"
}'
Tanggapan representatif (dipotong):
{
"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
}
]
}
}
}
Peluru yang dikembalikan langsung ke indicator Argumen dari
announcements query tidak diperlukan dokumen terpisah. Anda dapat menuliskan langkah penemuan dan secara otomatis membuat batch permintaan untuk indikator mana pun yang dibutuhkan model Anda.
Dokumen API AUD.
Contoh Praktis: Pencarian Kalender Rilis
Mengetahui kapan cetakan berdampak tinggi berikutnya harus dilakukan sangat penting untuk ukuran posisi di sekitar risiko kejadian. calendar query mengekspos waktu rilis mendatang untuk mata uang yang didukung, dengan filter indikator opsional untuk mempersempit hasil:
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 } } }"
}'
Jawaban perwakilan:
{
"data": {
"calendar": {
"currency": "CAD",
"indicator": "policy_rate",
"data": [
{
"release": "policy_rate",
"announcementDatetime": 1747400400
},
{
"release": "policy_rate",
"announcementDatetime": 1752580800
}
]
}
}
}
- Apa? announcementDatetime nilai adalah Unix era bilangan bulat menjatuhkan mereka langsung ke dalam penjadwal atau sistem peringatan tanpa langkah-langkah tanggal-parsing. calendar lapangan seperti yang Anda akan alias announcements: menulis satu pertanyaan yang mencakup tanggal suku bunga kebijakan CAD, AUD, dan NZD dan menerima satu jawaban kalender terkonsolidasi.
Referensi suku bunga kebijakan CAD
untuk setara REST.
GraphQL vs REST: Kapan Menggunakan Masing-masing
Kedua antarmuka mengambil dari penyimpanan data yang sama yang didukung Firestore dan membawa identik
announcement_datetime Keputusan adalah keputusan alur kerja:
| Skenario | Antarmuka yang direkomendasikan |
|---|---|
| Indikator tunggal, mata uang tunggal | REST URL sederhana, ramah keriting |
| Beberapa mata uang atau indikator dalam satu permintaan | GraphQL aliasing lapangan menghilangkan beberapa perjalanan pulang pergi |
| Klien yang memiliki tipe yang kuat (TypeScript, Kotlin, Swift) | GraphQL menghasilkan tipe dari introspeksi secara otomatis |
| Notebook atau lingkungan scripting | REST atau GraphQL keduanya tunggal curl atau requests.get() panggilan |
| Eksplorasi skema / penemuan katalog | GraphQL introspeksi mengembalikan skema penuh tanpa scraping dokumen |
| Pipeline berbasis REST yang ada | REST tidak perlu migrasi; kedua permukaan dipertahankan secara paralel |
Mulailah
Titik akhir GraphQL tersedia untuk semua pelanggan pada kunci API yang sama yang digunakan untuk permukaan REST. Tidak ada konfigurasi tambahan yang diperlukan.
Langkah pertama
- Jalankan query pertama:
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 } } }"}' - Jelajahi skema hidup menggunakan Hub dokumentasi API
- Lihat semua indikator yang didukung per mata uang di Dokumen API
- Belum ada kunci API? Berlangganan untuk memulai tersedia tingkat gratis.