SaaS saya ingin mengirim WhatsApp untuk banyak klien sekaligus (Partner API)
Untuk platform SaaS (billing ISP, kasir, klinik, sekolah…) yang kliennya perlu mengirim WhatsApp atas nama masing-masing: Partner API membuat satu tenant WACO per klien: nomor sendiri, template sendiri, reputasi sendiri, sementara aplikasi Anda tetap satu-satunya yang disentuh klien.
Kenapa satu tenant per klien (bukan satu nomor bersama)
- Identitas benar: pesan datang dari nomor & nama klien Anda, bukan nama platform.
- Sekat reputasi: kualitas nomor dinilai Meta per nomor; satu klien yang ceroboh tidak menjatuhkan yang lain.
- Batas kirim per nomor: kuota harian Meta melekat di nomor; berbagi nomor tidak akan pernah cukup skalanya.
Alurnya
- Hubungi kami → Anda menerima kunci master (
wpk_…) beserta persentase diskon Anda. Pilih juga bentuk layanannya:api(jalur kirim/terima lewat API saja) ataufull(ruang percakapan tim lengkap, blast, penjaga otomatis). POST /api/partner/v1/tenants(Authorization: Bearer wpk_…) dengan{nama_usaha, email_pemilik, nama_pemilik, sku}→ balasan berisi api_key tenant (sekali tampil); pemilik usaha otomatis menerima email untuk mengatur sandi portalnya sendiri, lalu menyambungkan nomor WhatsApp-nya (panduan mulai, nomor lama bisa, mode berdampingan).- Aplikasi Anda mengirim per klien dengan api_key klien itu, endpoint yang sama dengan
API developer biasa (
/api/v1/kirim, webhook status, dsb.). GET /api/partner/v1/tenantsuntuk daftar & status;POST /api/partner/v1/tenants/:id/tangguhkan|aktifkanuntuk mengelola;GET /api/partner/v1/tagihanuntuk melihat tagihan berjalan, lengkap dengan rincian per klien: berapa nomor tambahan, berapa otak Operator AI, harga jualnya, dan yang Anda bayar.
Tautan pasang: klien menyambungkan sendiri, tanpa login
Email undangan tetap dikirim, tetapi untuk agensi biasanya ada jalan yang lebih pendek: tautan sekali pakai yang Anda kirim sendiri ke klien (WhatsApp, chat, apa pun). Klien mengekliknya, langsung berada di alur sambung WhatsApp, tanpa membuat kata sandi, tanpa pernah membuka dashboard Anda.
POST /api/partner/v1/tenants/<tenant_id>/tautan-pasang
{ "berlaku_jam": 168, "redirect_sukses": "https://agensi-anda.com/selesai" }
→ { "url": "https://waco.id/pasang/9ohMzp…", "berlaku_jam": 168,
"kedaluwarsa": "2026-09-26T23:08:38.308Z" }
Bisa juga sekaligus saat membuat klien: tambahkan "tautan_pasang": true pada
POST /api/partner/v1/tenants, dan tautannya ikut di balasan. Di dasbor partner,
tombolnya ada di baris klien yang nomornya belum tersambung.
- Sekali pakai. Setelah diklik, tautan mati; minta tautan baru bila perlu.
- Berumur pendek. Bawaan 7 hari, maksimal 30 hari.
- Disimpan sebagai hash. Kami tidak menyimpan tautannya; ia hanya ada sekali di balasan API, jadi simpan saat itu juga.
- Sesi klien 6 jam, secukupnya untuk memasang, bukan pengganti login biasa.
redirect_sukseswajib https publik; klien dikembalikan ke sana setelah nomornya tersambung.
Satu webhook untuk semua klien
Klien boleh memasang webhooknya sendiri di halaman Developer, itu miliknya. Yang ini milik
Anda: satu alamat untuk seluruh klien, dan tiap kiriman membawa
tenant_id. Aturnya di dasbor partner.
POST https://sistem-anda.com/waco/peristiwa
X-Waco-Signature: sha256=<hmac badan mentah dengan rahasia Anda>
{ "peristiwa": "nomor.tersambung", "waktu": "2026-09-20T06:10:00.000Z",
"data": { "tenant_id": "cec70c25-…", "nomor": ["+628123456789"] } }
Peristiwa yang dikirim: tenant.dibuat, tenant.status,
tenant.dilepas, tautan_pasang.dibuat,
tautan_pasang.dipakai, dan nomor.tersambung. Pengiriman yang gagal
diulang dua kali.
Penanda klien versi Anda
Sistem Anda punya id sendiri untuk tiap klien. Titipkan saja: kirim meta (JSON
bebas, maksimal 16 KB) saat membuat klien, atau ubah kapan saja dengan
PUT /api/partner/v1/tenants/<id>/meta. Isinya ikut tampil di
GET /api/partner/v1/tenants, jadi Anda tidak perlu menyimpan peta id sendiri.
Mengakhiri hubungan dengan klien
Saat klien berhenti berlangganan lewat Anda, ada dua jalan yang berbeda: dan memilih yang salah merusak sesuatu yang bukan milik Anda:
POST /api/partner/v1/tenants/:id/lepas, untuk klien yang sudah punya akun WACO sebelum bergabung dengan Anda (Anda hanya menanggung biayanya). Akun tidak dihapus: ia kembali menjadi pelanggan langsung WACO dengan status aktif, lengkap dengan seluruh riwayat percakapannya, dan penagihan WACO menilai dari nol. Ini juga menghentikannya dari tagihan Anda mulai periode berikutnya.POST /api/partner/v1/tenants/:id/terminasi, untuk akun yang memang lahir dari program partner Anda. Akun diakhiri (status berhenti permanen); bila klien kembali, terbitkan akun baru.
Keduanya hanya berlaku untuk tenant yang tertaut ke kunci partner Anda.
Bagaimana tagihan Anda dihitung
Tidak ada daftar harga khusus partner yang harus dihafal. Kami memakai rumus yang sama dengan pelanggan langsung, lalu memotong diskon Anda:
- Langganan dan nomor tambahan: berdiskon.
- Operator AI dan top-up pemakaiannya: ditagih penuh. Sebagian besar harganya mengalir ke biaya model, jadi marginnya memang tipis. Anda tetap bebas menentukan harga jual AI ke klien Anda.
Karena rumusnya sama, Anda tidak akan pernah menemukan selisih aneh saat harga jual kami berubah: diskon Anda ikut menyesuaikan dengan sendirinya. Angka persisnya tampil di dasbor partner Anda setelah login, dan tidak pernah dipublikasikan.
Tertarik jadi partner? waco@idcloudhost.com, ceritakan platform Anda dan perkiraan jumlah klien.