PLATFORM DEVELOPER · API V1

MindAIGold Partner API

Satu integrasi terkontrol untuk pasar real-time, MT5, trading otomatis, pengguna, referral, dan komisi.

REST / JSONWEBSOCKETHMAC-SHA256V1 · 2026-09-10

Permintaan pertama

Kirim kunci di header; kunci dalam URL ditolak. Operasi tulis juga memerlukan tanda tangan permintaan, nonce sekali pakai, dan kunci idempotensi.

cURL
curl -sS \
  'https://mindaigold.com/api/v1/market/quote.php?symbol=XAU_USD' \
  -H 'X-API-Key: mag_live_xxxxxxxxxxxx_your_secret'
Autentikasi

Gunakan X-API-Key untuk permintaan server-ke-server. Authorization: Bearer juga menerima kunci API.

Endpoint tersedia

MetodeEndpointScope wajibKeterangan

Intelijen pasar dan data real-time

GET/api/v1/market/instruments.phpmarket.read

Forex, logam, perpetual kripto, dan saham AS yang didukung.

GET/api/v1/market/quote.php?symbol=XAU_USDmarket.read

Harga terbaru, bid, ask, waktu upstream, dan sumber.

GET/api/v1/market/candles.php?symbol=XAU_USD&timeframe=15m&limit=200market.read

Candle OHLCV berurutan untuk timeframe yang didukung.

GET/api/v1/market/stream-ticket.php?symbols=BTC-USDT-SWAPmarket.stream

Tiket sekali pakai untuk sesi WebSocket real-time yang disetujui.

GET/api/v1/signals/latest.php?symbol=XAUUSD&lang=ensignals.read

Sinyal strategi terpublikasi dengan level, keyakinan, dan waktu berakhir.

GET/api/v1/news/latest.php?days=7&limit=30news.read

Berita emas dengan sentimen AI dan ringkasan singkat.

Akun, order, dan posisi MT5

GET/api/v1/trading/accounts.phpmt5.read

Akun MT5 tertaut, status koneksi, saldo, dan telemetri margin.

GET/api/v1/trading/orders.phptrading.read

Order milik pengguna MindAIGold yang tertaut.

POST/api/v1/trading/orders.phptrading.write

Validasi order simulasi atau antrekan order MT5 live yang disetujui.

POST/api/v1/trading/order-cancel.phptrading.write

Batalkan order tertaut yang belum dikirim ke MT5.

GET/api/v1/trading/positions.phpmt5.read

Posisi terbuka terkini yang dilaporkan akun MT5 tertaut.

POST/api/v1/trading/position-control.phptrading.write

Antrekan penutupan atau perubahan stop-loss / take-profit.

GET/api/v1/trading/deals.phpmt5.read

Riwayat deal MT5 termasuk profit, komisi, dan swap.

Trading otomatis

GET/api/v1/automation/status.phpautomation.read

Strategi, aktivasi, akun tertaut, dan posisi otomatis.

POST/api/v1/automation/activate.phpautomation.write

Aktifkan strategi dalam mode simulasi atau live yang disetujui terpisah.

POST/api/v1/automation/control.phpautomation.write

Jeda, lanjutkan, atau hentikan aktivasi otomatis milik sendiri.

Pengguna, referral, dan komisi

GET/api/v1/partners/profile.phpusers.read

Profil pengguna partner tertaut; data kontak disamarkan secara default.

GET/api/v1/referrals/users.php?depth=1referrals.read

Pohon referral agen tertaut sampai kedalaman yang disetujui.

GET/api/v1/referrals/commissions.phpcommissions.read

Catatan komisi dan total rebate untuk agen tertaut.

GET/api/v1/account/usage.phpaccount.read

Kuota 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.

JAVASCRIPT
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));
Hak distribusi data diterapkan

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.

PERMINTAAN KANONIS
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.
Kunci live tidak melewati kontrol platform

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 menit
X-Monthly-Quota-RemainingKuota bulanan
X-Request-IDLog permintaan

Kontrak error yang stabil

Error selalu mengembalikan kode yang dapat dibaca mesin, pesan, dan request ID yang sama dengan header respons.

KodeHTTPArti
missing_api_key / invalid_api_key401

Kredensial hilang, tidak valid, dicabut, atau kedaluwarsa.

insufficient_scope403

Kunci tidak memiliki scope endpoint.

origin_denied / ip_denied403

Origin browser atau IP klien tidak masuk daftar izin.

rate_limit_exceeded429

Batas permintaan per menit tercapai.

monthly_quota_exceeded429

Kuota bulanan partner tercapai.

signature_required / invalid_signature401

Header tanda tangan wajib tidak ada atau tidak cocok dengan permintaan.

replayed_request / idempotency_conflict409

Nonce digunakan ulang atau kunci idempotensi digunakan dengan isi berbeda.

live_trading_paused409

Kontrol pengiriman MT5 live tingkat platform sedang dijeda.

JSON
{
  "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.

  1. 01Buat ruang kerja partner dan hubungkan akun penanggung jawab.
  2. 02Setujui scope, kelas stream, mode trading, kedalaman referral, IP tetap atau origin browser, dan kuota.
  3. 03Terbitkan secret sekali, selesaikan uji simulasi dan tanda tangan, lalu setujui hanya kemampuan produksi yang diperlukan.
Mulai peninjauan kemitraan
Salin contoh