API Reference

Satu endpoint MCP untuk semua AI client.

Databridge mengekspos data marketing kamu lewat Model Context Protocol. Halaman ini merinci endpoint, autentikasi, lifecycle JSON-RPC, dan parameter setiap tool.

Endpoint MCP.

Transport

POSThttps://databridge.id/api/mcp
  • Transport: Streamable HTTP (satu URL untuk request dan streaming).
  • Protokol: JSON-RPC 2.0.
  • Header wajib: Accept: application/json, text/event-stream.

Autentikasi

Authorization: Bearer db_live_...
  • Buat API key di /dashboard/api-keys.
  • Key disimpan sebagai hash SHA-256, tidak pernah plaintext.
  • Setiap key ter-scope ke satu workspace dan bisa dicabut kapan saja.

Lifecycle JSON-RPC.

Kebanyakan AI client (Claude, Cursor, ChatGPT) menangani lifecycle ini otomatis. Contoh curl di bawah berguna untuk debugging atau integrasi custom.

1. initialize

Buka sesi MCP. Client memperkenalkan diri dan server membalas dengan kapabilitasnya.

curl -X POST https://databridge.id/api/mcp \
  -H "Authorization: Bearer db_live_..." \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "initialize",
    "params": {
      "protocolVersion": "2025-03-26",
      "capabilities": {},
      "clientInfo": { "name": "curl", "version": "1.0.0" }
    }
  }'

2. tools/list

Ambil daftar semua tool yang tersedia beserta input schema-nya.

curl -X POST https://databridge.id/api/mcp \
  -H "Authorization: Bearer db_live_..." \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/list"
  }'

3. tools/call

Panggil tool. Contoh: run_report untuk spend dan ROAS Meta Ads 7 hari terakhir per kampanye.

curl -X POST https://databridge.id/api/mcp \
  -H "Authorization: Bearer db_live_..." \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "id": 3,
    "method": "tools/call",
    "params": {
      "name": "run_report",
      "arguments": {
        "platform": "meta-ads",
        "metrics": ["spend", "roas"],
        "dimensions": ["date", "campaign_name"],
        "datePreset": "last_7_days"
      }
    }
  }'

Konvensi.

Mata uang

Semua nilai uang (spend, revenue) dalam Rupiah (IDR), tanpa pemisah ribuan.

Format tanggal

YYYY-MM-DD untuk dateStart dan dateEnd, misal 2026-07-01.

Timezone

Asia/Jakarta (WIB) untuk semua date preset dan agregasi harian.

Kuota

Paket gratis: 50 report per bulan, gabungan MCP dan add-on Sheets. Hanya tool bertanda Terhitung yang memakai kuota.

Referensi 9 tools.

Semua tool dipanggil lewat method tools/call dan otomatis ter-scope ke workspace kamu.

list_connectionsGratis

Semua platform yang terhubung di workspace, termasuk status dan kesegaran data (last sync).

Tanpa parameter.

list_platform_fieldsGratis

Metric dan dimension yang tersedia untuk satu platform, dipakai sebelum menyusun run_report.

ParameterTipeWajibDeskripsi
platformstringYaPlatform id, contoh: meta-ads, google-ads, tiktok-ads, ga4
run_reportTerhitung

Tarik tabel data (headers + rows) untuk platform, metric, dimensi, dan rentang tanggal tertentu.

ParameterTipeWajibDeskripsi
platformstringYaPlatform id
metricsstring[]YaMetric ids dari list_platform_fields (spend dalam Rupiah)
dimensionsstring[]TidakDimension ids, contoh: ["date","campaign_name"]
datePresetenumTidaktoday · yesterday · last_7_days · last_30_days · last_90_days · this_month · last_month (default last_30_days, timezone Asia/Jakarta)
dateStartstringTidakYYYY-MM-DD, dipakai bersama dateEnd (mengalahkan datePreset)
dateEndstringTidakYYYY-MM-DD
get_summaryGratis

Total spend, impressions, clicks, conversions, revenue, ROAS, CTR, CPC untuk satu rentang tanggal, plus breakdown per platform dan harian.

ParameterTipeWajibDeskripsi
datePresetenumTidaktoday · yesterday · last_7_days · last_30_days · last_90_days · this_month · last_month (default last_30_days, timezone Asia/Jakarta)
dateStartstringTidakYYYY-MM-DD, dipakai bersama dateEnd (mengalahkan datePreset)
dateEndstringTidakYYYY-MM-DD
get_campaign_healthGratis

Skor 0-100 per kampanye berbasis ROAS + CTR, diurutkan dari yang paling bermasalah, dengan saran tindakan.

ParameterTipeWajibDeskripsi
datePresetenumTidaktoday · yesterday · last_7_days · last_30_days · last_90_days · this_month · last_month (default last_30_days, timezone Asia/Jakarta)
dateStartstringTidakYYYY-MM-DD, dipakai bersama dateEnd (mengalahkan datePreset)
dateEndstringTidakYYYY-MM-DD
platformstringTidakFilter ke satu platform internal id (meta, google_ads, tiktok, ga4)
export_to_google_sheetsGratis

Tulis tabel (headers + rows) ke spreadsheet baru atau yang sudah ada, mengembalikan URL sheet.

ParameterTipeWajibDeskripsi
headersstring[]YaHeader kolom
rows(string|number)[][]YaBaris data
titlestringTidakJudul spreadsheet baru
spreadsheetIdstringTidakIsi untuk menimpa spreadsheet yang sudah ada
save_queryGratis

Simpan konfigurasi run_report dengan nama, untuk dipakai ulang.

ParameterTipeWajibDeskripsi
namestringYaNama query (maks 80 karakter)
queryobjectYaKonfigurasi run_report yang disimpan
list_saved_queriesGratis

Semua query tersimpan milik user di workspace ini.

Tanpa parameter.

run_saved_queryTerhitung

Eksekusi saved query berdasarkan id, hasilnya sama seperti run_report.

ParameterTipeWajibDeskripsi
idstring (uuid)YaId saved query dari list_saved_queries

Appendix: Addon Bridge API (legacy)

Endpoint /api/addon/* masih hidup untuk mendukung add-on Google Sheets lama, tapi tidak disarankan untuk integrasi baru. Gunakan endpoint MCP di atas.