Developer
Akses vybeflow dari kode Anda sendiri, atau dari asisten AI lewat MCP. Setiap endpoint memerlukan API key tenant dan hanya berjalan dalam cakupan izin kunci itu.
Buat kunci
Di konsol vybeflow: Pengaturan → API Key. Pilih izin yang boleh dipakai dan kapan kunci kedaluwarsa. Kunci hanya ditampilkan satu kali.
Hubungkan asisten AI
Setiap domain adalah server MCP tersendiri dengan dua tool. Pasang hanya domain yang Anda perlukan.
Paket belum ada di npm. Jalankan dari source: clone repo-nya, npm install, lalu arahkan client ke packages/<domain>/bin/cli.js.
{
"mcpServers": {
"vybeflow-inbox": {
"command": "node",
"args": ["/path/to/vybeflow-mcp/packages/inbox/bin/cli.js"],
"env": { "VYBEFLOW_API_KEY": "vf_live_..." }
}
}
}
Coba tanyakan ini
Setelah server terhubung, ini hal-hal yang bisa langsung Anda ketik. Masing-masing butuh izin di sebelahnya — centang saat membuat kunci, kalau tidak asistennya akan ditolak di tengah jawaban.
- Ada berapa tiket yang masih terbuka, dan mana yang paling lama belum dibalas?
- Balas tiket T-1042: bilang paketnya dikirim besok pagi.
- Cari kontak dengan nomor 6281234567890, lalu tunjukkan riwayat tiketnya.
- Kampanye mana yang open rate-nya paling rendah bulan ini?
- Buat kampanye "Promo Akhir Bulan" untuk WhatsApp, jangan dikirim dulu.
- Kirim kampanye "Promo Akhir Bulan" sekarang.
- Produk mana yang stoknya di bawah 10?
- Berapa sisa kuota AI saya, dan kapan langganan berakhir?
- Jam kerja CS kami jam berapa?
Panggil langsung
curl -H "x-api-key: vf_live_..." \
https://vybeflow.vyber.id/api/campaign/campaigns
Untuk dibaca mesin
- /openapi.json
- /openapi/contact.json
- /openapi/campaign.json
- /openapi/inbox.json
- /openapi/channel.json
- /openapi/product.json
- /openapi/billing.json
- /openapi/tenant.json
- /llms.txt · /llms-full.txt
- /.well-known/mcp.json
Daftar endpoint
contact 6
| Endpoint | izin | risiko |
|---|---|---|
GET /api/user/usersDaftar kontak pelanggan milik tenant. |
contact.read |
safe |
POST /api/user/usersTambah satu kontak baru. |
contact.manage |
confirm |
PUT /api/user/users/:idUbah satu kontak. |
contact.manage |
confirm |
DELETE /api/user/users/:idHapus satu kontak. Tidak bisa dibatalkan. |
contact.delete |
destructive |
POST /api/user/users/importImpor banyak kontak sekaligus. |
contact.manage |
confirm |
GET /api/user/users/campaign/:campaignIDKontak yang termasuk dalam satu kampanye. |
contact.read |
safe |
campaign 7
| Endpoint | izin | risiko |
|---|---|---|
GET /api/campaign/campaignsDaftar kampanye beserta status dan jumlah penerima. |
campaign.read |
safe |
GET /api/campaign/campaigns/analyticsRingkasan performa kampanye: terkirim, dibuka, gagal. |
campaign.read |
safe |
POST /api/campaign/campaignsBuat kampanye baru. Membuat TIDAK mengirim — pakai campaign.send. |
campaign.manage |
confirm |
POST /api/campaign/campaigns/:id/sendMULAI mengirim kampanye ke seluruh penerimanya. |
campaign.send |
destructive |
POST /api/campaign/campaigns/:id/cancelHentikan kampanye yang sedang berjalan. Pesan yang sudah terkirim tetap terkirim. |
campaign.control |
confirm |
GET /api/campaign/campaigns/:id/progressKemajuan pengiriman satu kampanye. |
campaign.read |
safe |
DELETE /api/campaign/campaigns/:idHapus kampanye beserta statistiknya. |
campaign.manage |
destructive |
inbox 7
| Endpoint | izin | risiko |
|---|---|---|
GET /api/ai/v1/ticketsDaftar tiket percakapan. |
inbox.read |
safe |
GET /api/ai/v1/tickets/statsJumlah tiket per channel dan per status. |
inbox.read |
safe |
GET /api/ai/v1/tickets/:ticketIDSatu tiket beserta riwayat pesannya. |
inbox.read |
safe |
GET /api/ai/v1/tickets/status/:statusTiket dengan satu status tertentu. |
inbox.read |
safe |
POST /api/ai/v1/ticketsBuat tiket baru. |
inbox.manage |
confirm |
POST /api/ai/v1/tickets/:ticketID/replyKirim balasan ke pelanggan pada satu tiket. |
inbox.reply |
destructive |
POST /api/ai/v1/tickets/:ticketID/closeTutup tiket. |
inbox.manage |
confirm |
channel 5
| Endpoint | izin | risiko |
|---|---|---|
GET /api/channel/v1/channelsDaftar channel yang terhubung beserta statusnya. |
channel.read |
safe |
GET /api/channel/v1/channels/:channelIdDetail satu channel. |
channel.read |
safe |
GET /api/channel/v1/whatsapp/statusStatus sambungan WhatsApp tenant. |
channel.read |
safe |
GET /api/channel/v1/whatsapp/cloud/templatesTemplate WhatsApp Cloud yang sudah disetujui Meta. |
channel.read |
safe |
POST /api/channel/v1/notification/send/whatsappKirim satu pesan WhatsApp ke satu nomor. |
inbox.reply |
destructive |
product 5
| Endpoint | izin | risiko |
|---|---|---|
GET /api/product/v1/productsDaftar produk milik tenant. |
product.read |
safe |
GET /api/product/v1/products/:productIDDetail satu produk. |
product.read |
safe |
POST /api/product/v1/productsTambah produk baru. |
product.manage |
confirm |
PUT /api/product/v1/products/:productIDUbah satu produk. |
product.manage |
confirm |
DELETE /api/product/v1/products/:productIDHapus satu produk beserta gambarnya. |
product.manage |
destructive |
billing 5
| Endpoint | izin | risiko |
|---|---|---|
GET /api/payment/v1/payment/historyRiwayat transaksi pembayaran tenant. |
billing.read |
safe |
GET /api/payment/v1/payment/history/:orderIDSatu transaksi berdasarkan orderID. |
billing.read |
safe |
GET /api/user/v1/dashboard/subscriptionPaket langganan yang sedang aktif. |
billing.read |
safe |
GET /api/ai/v1/quotaSisa kuota AI dan pesan untuk tenant ini. |
quota.read |
safe |
GET /api/ai/v1/usageRiwayat pemakaian kuota. |
quota.read |
safe |
tenant 2
| Endpoint | izin | risiko |
|---|---|---|
GET /api/user/v1/dashboard/settingProfil perusahaan: nama, alamat, kontak, jam kerja. |
tenant.setting.read |
safe |
GET /api/user/v1/dashboard/tenant/listTenant yang dapat diakses pemegang kredensial ini. |
tenant.read |
safe |