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
- Transport: Streamable HTTP (satu URL untuk request dan streaming).
- Protokol: JSON-RPC 2.0.
- Header wajib:
Accept: application/json, text/event-stream.
Autentikasi
- 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_connectionsGratisSemua platform yang terhubung di workspace, termasuk status dan kesegaran data (last sync).
Tanpa parameter.
list_platform_fieldsGratisMetric dan dimension yang tersedia untuk satu platform, dipakai sebelum menyusun run_report.
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
platform | string | Ya | Platform id, contoh: meta-ads, google-ads, tiktok-ads, ga4 |
run_reportTerhitungTarik tabel data (headers + rows) untuk platform, metric, dimensi, dan rentang tanggal tertentu.
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
platform | string | Ya | Platform id |
metrics | string[] | Ya | Metric ids dari list_platform_fields (spend dalam Rupiah) |
dimensions | string[] | Tidak | Dimension ids, contoh: ["date","campaign_name"] |
datePreset | enum | Tidak | today · yesterday · last_7_days · last_30_days · last_90_days · this_month · last_month (default last_30_days, timezone Asia/Jakarta) |
dateStart | string | Tidak | YYYY-MM-DD, dipakai bersama dateEnd (mengalahkan datePreset) |
dateEnd | string | Tidak | YYYY-MM-DD |
get_summaryGratisTotal spend, impressions, clicks, conversions, revenue, ROAS, CTR, CPC untuk satu rentang tanggal, plus breakdown per platform dan harian.
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
datePreset | enum | Tidak | today · yesterday · last_7_days · last_30_days · last_90_days · this_month · last_month (default last_30_days, timezone Asia/Jakarta) |
dateStart | string | Tidak | YYYY-MM-DD, dipakai bersama dateEnd (mengalahkan datePreset) |
dateEnd | string | Tidak | YYYY-MM-DD |
get_campaign_healthGratisSkor 0-100 per kampanye berbasis ROAS + CTR, diurutkan dari yang paling bermasalah, dengan saran tindakan.
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
datePreset | enum | Tidak | today · yesterday · last_7_days · last_30_days · last_90_days · this_month · last_month (default last_30_days, timezone Asia/Jakarta) |
dateStart | string | Tidak | YYYY-MM-DD, dipakai bersama dateEnd (mengalahkan datePreset) |
dateEnd | string | Tidak | YYYY-MM-DD |
platform | string | Tidak | Filter ke satu platform internal id (meta, google_ads, tiktok, ga4) |
export_to_google_sheetsGratisTulis tabel (headers + rows) ke spreadsheet baru atau yang sudah ada, mengembalikan URL sheet.
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
headers | string[] | Ya | Header kolom |
rows | (string|number)[][] | Ya | Baris data |
title | string | Tidak | Judul spreadsheet baru |
spreadsheetId | string | Tidak | Isi untuk menimpa spreadsheet yang sudah ada |
save_queryGratisSimpan konfigurasi run_report dengan nama, untuk dipakai ulang.
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
name | string | Ya | Nama query (maks 80 karakter) |
query | object | Ya | Konfigurasi run_report yang disimpan |
list_saved_queriesGratisSemua query tersimpan milik user di workspace ini.
Tanpa parameter.
run_saved_queryTerhitungEksekusi saved query berdasarkan id, hasilnya sama seperti run_report.
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
id | string (uuid) | Ya | Id 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.