Permintaan pertama
Kirim kunci di header; kunci dalam URL ditolak. Operasi tulis juga memerlukan tanda tangan permintaan, nonce sekali pakai, dan kunci idempotensi.
curl -sS \
'https://mindaigold.com/api/v1/market/quote.php?symbol=XAU_USD' \
-H 'X-API-Key: mag_live_xxxxxxxxxxxx_your_secret'
Gunakan X-API-Key untuk permintaan server-ke-server. Authorization: Bearer juga menerima kunci API.
Endpoint tersedia
Intelijen pasar dan data real-time
/api/v1/market/instruments.phpmarket.readForex, logam, perpetual kripto, dan saham AS yang didukung.
/api/v1/market/quote.php?symbol=XAU_USDmarket.readHarga terbaru, bid, ask, waktu upstream, dan sumber.
/api/v1/market/candles.php?symbol=XAU_USD&timeframe=15m&limit=200market.readCandle OHLCV berurutan untuk timeframe yang didukung.
/api/v1/market/stream-ticket.php?symbols=BTC-USDT-SWAPmarket.streamTiket sekali pakai untuk sesi WebSocket real-time yang disetujui.
/api/v1/signals/latest.php?symbol=XAUUSD&lang=ensignals.readSinyal strategi terpublikasi dengan level, keyakinan, dan waktu berakhir.
/api/v1/news/latest.php?days=7&limit=30news.readBerita emas dengan sentimen AI dan ringkasan singkat.
Akun, order, dan posisi MT5
/api/v1/trading/accounts.phpmt5.readAkun MT5 tertaut, status koneksi, saldo, dan telemetri margin.
/api/v1/trading/orders.phptrading.readOrder milik pengguna MindAIGold yang tertaut.
/api/v1/trading/orders.phptrading.writeValidasi order simulasi atau antrekan order MT5 live yang disetujui.
/api/v1/trading/order-cancel.phptrading.writeBatalkan order tertaut yang belum dikirim ke MT5.
/api/v1/trading/positions.phpmt5.readPosisi terbuka terkini yang dilaporkan akun MT5 tertaut.
/api/v1/trading/position-control.phptrading.writeAntrekan penutupan atau perubahan stop-loss / take-profit.
/api/v1/trading/deals.phpmt5.readRiwayat deal MT5 termasuk profit, komisi, dan swap.
Trading otomatis
/api/v1/automation/status.phpautomation.readStrategi, aktivasi, akun tertaut, dan posisi otomatis.
/api/v1/automation/activate.phpautomation.writeAktifkan strategi dalam mode simulasi atau live yang disetujui terpisah.
/api/v1/automation/control.phpautomation.writeJeda, lanjutkan, atau hentikan aktivasi otomatis milik sendiri.
Pengguna, referral, dan komisi
/api/v1/partners/profile.phpusers.readProfil pengguna partner tertaut; data kontak disamarkan secara default.
/api/v1/referrals/users.php?depth=1referrals.readPohon referral agen tertaut sampai kedalaman yang disetujui.
/api/v1/referrals/commissions.phpcommissions.readCatatan komisi dan total rebate untuk agen tertaut.
/api/v1/account/usage.phpaccount.readKuota bulanan dan riwayat penggunaan 30 hari milik Anda.
Data pasar WebSocket real-time
Minta tiket singkat sekali pakai dengan market.stream, lalu hubungkan ke URL WebSocket dalam 60 detik. Sesi hanya-baca dan jumlah simbol dibatasi oleh paket partner.
const ticket = await fetch(
'https://mindaigold.com/api/v1/market/stream-ticket.php?symbols=BTC-USDT-SWAP',
{ headers: { 'X-API-Key': process.env.MINDAIGOLD_API_KEY } }
).then(response => response.json());
const socket = new WebSocket(ticket.data.websocket_url);
socket.onmessage = event => console.log(JSON.parse(event.data));Stream kripto yang disetujui tersedia. Stream forex dan logam tetap terkunci sampai hak redistribusi upstream tercatat secara tertulis.
Operasi tulis bertanda tangan
Penulisan trading dan otomatisasi hanya untuk server-ke-server. Tanda tangani body JSON mentah dan jangan pernah memakai ulang nonce. Gunakan Idempotency-Key yang sama hanya untuk mencoba ulang satu operasi logis.
timestamp + "\n" + nonce + "\n" +
method.toUpperCase() + "\n" + requestPath + "\n" +
sha256(rawJsonBody)
X-MAG-Signature = HMAC-SHA256(apiKey, canonicalRequest)X-MAG-WaktustampWaktu Unix saat ini dalam detik dan berada dalam jendela tanda tangan.X-MAG-NonceNilai unik 16–80 karakter untuk setiap percobaan permintaan.Idempotency-KeyNilai stabil 16–100 karakter yang dipakai ulang hanya saat mengulang operasi logis yang sama.Permintaan live tetap memerlukan pengguna tertaut aktif, partner yang disetujui, IP klien tetap, persetujuan trading live, serta seluruh pemeriksaan MT5, kesegaran harga, risiko, dan jeda global. Kunci uji dan partner simulasi tidak pernah mengirim order live.
Batas dan bukti
Setiap respons memuat request ID. Header batas per menit dan kuota bulanan membantu integrasi melambat sebelum ditolak.
X-RateLimit-LimitBatas per menitX-Monthly-Quota-RemainingKuota bulananX-Request-IDLog permintaanKontrak error yang stabil
Error selalu mengembalikan kode yang dapat dibaca mesin, pesan, dan request ID yang sama dengan header respons.
missing_api_key / invalid_api_key401Kredensial hilang, tidak valid, dicabut, atau kedaluwarsa.
insufficient_scope403Kunci tidak memiliki scope endpoint.
origin_denied / ip_denied403Origin browser atau IP klien tidak masuk daftar izin.
rate_limit_exceeded429Batas permintaan per menit tercapai.
monthly_quota_exceeded429Kuota bulanan partner tercapai.
signature_required / invalid_signature401Header tanda tangan wajib tidak ada atau tidak cocok dengan permintaan.
replayed_request / idempotency_conflict409Nonce digunakan ulang atau kunci idempotensi digunakan dengan isi berbeda.
live_trading_paused409Kontrol pengiriman MT5 live tingkat platform sedang dijeda.
{
"error": {
"code": "insufficient_scope",
"message": "This key does not have the required scope: signals.read"
},
"meta": { "request_id": "0f1e2d3c4b5a69788796a5b4" }
}Onboarding produksi
Akses diaktifkan setelah identitas partner, kasus penggunaan, dan kontrol trafik ditinjau.
- 01Buat ruang kerja partner dan hubungkan akun penanggung jawab.
- 02Setujui scope, kelas stream, mode trading, kedalaman referral, IP tetap atau origin browser, dan kuota.
- 03Terbitkan secret sekali, selesaikan uji simulasi dan tanda tangan, lalu setujui hanya kemampuan produksi yang diperlukan.