API & Integrasi

Autentikasi

Cara membuat API key whatsGo, memilih scope yang tepat, dan menjaganya tetap aman.

Setiap request ke API whatsGo wajib menyertakan API key. Halaman ini menjelaskan tipe key, scope yang tersedia, dan cara mengirim key di header request.

Membuat API key

Login sebagai Owner atau Admin

Hanya pengguna dengan role Owner atau Admin yang dapat membuat API key. Pengguna dengan role Agent tidak punya akses ke menu ini.

Buka Pengaturan > API & Integrasi

Dari dashboard app.whats.sahabatmobile.com, pilih ikon roda gigi, lalu navigasi ke section API & Integrasi.

Klik "Buat API Key Baru"

Lengkapi form:

  • Nama — label untuk identifikasi (contoh: "Backend POS", "CRM Integrasi").
  • Tipe Key — Secret atau Publishable (lihat di bawah).
  • Izin Akses (Scope) — pilih hanya yang dibutuhkan integrasi kamu.

Salin key segera

Setelah disimpan, key hanya ditampilkan satu kali. Salin dan simpan ke secret manager (mis. AWS Secrets Manager, Doppler, 1Password) sebelum menutup dialog. Key yang hilang tidak bisa diambil kembali — kamu harus membuat key baru.

Tipe key

Tipe Key Prefix Kegunaan
Secret Key whats_sk_ Akses penuh sesuai scope. Hanya untuk server-side.
Publishable Key whats_pk_ Akses terbatas, aman dipakai di aplikasi client.
Jangan pakai Secret Key di frontend

whats_sk_ tidak boleh masuk ke kode JavaScript yang dijalankan di browser, kode mobile yang di-bundle, atau repository public. Kalau kamu butuh dari aplikasi client, gunakan whats_pk_ dengan scope minimum.

Scope yang tersedia

Pilih scope sesempit mungkin sesuai kebutuhan integrasi.

Scope Akses
contacts:read Membaca daftar dan detail kontak
contacts:write Membuat dan mengubah kontak
whatsapp:send Mengirim pesan WhatsApp
whatsapp:read Membaca pesan dan percakapan
whatsapp:templates Membaca daftar template WhatsApp
webhooks:manage Membuat, mengubah, menghapus webhook

Mengirim key di request

whatsGo menerima dua format header — pilih salah satu (jangan keduanya).

Opsi 1: Authorization: Bearer (rekomendasi)

GET /v1/contacts HTTP/1.1
Host: whats.sahabatmobile.com
Authorization: Bearer whats_sk_xxxxx

Opsi 2: X-API-Key

GET /v1/contacts HTTP/1.1
Host: whats.sahabatmobile.com
X-API-Key: whats_sk_xxxxx

Kedua format memberikan hasil identik.

Mencabut & merotasi key

Pesan error autentikasi

Kode Pesan Penyebab
AUTH_MISSING_KEY API key tidak ditemukan Header Authorization / X-API-Key tidak dikirim
AUTH_INVALID_KEY API key tidak valid Key salah ketik, ada karakter berlebih, atau prefix bukan whats_sk_ / whats_pk_
AUTH_KEY_REVOKED API key sudah dicabut Key dicabut dari dashboard
AUTH_KEY_EXPIRED API key sudah kadaluarsa Key memiliki masa berlaku dan sudah lewat
AUTH_INSUFFICIENT_SCOPE Tidak memiliki izin Key tidak punya scope yang diperlukan endpoint