Lewati ke konten

Autentikasi

Setiap request Public API memakai Business ID dan Secret Key bisnis Anda.

Public API CSKU memakai dua nilai milik bisnis Anda: Business ID dan Secret Key. Keduanya dikirim di setiap request. Tidak ada token yang kedaluwarsa, jadi satu pasang kredensial berlaku sampai Anda membuat Secret Key baru.

Syarat

  • Paket Anda punya fitur API. Tanpa fitur ini menu Secret Key tidak muncul, dan endpoint pesan menolak request. Lihat Berlangganan & kredit.
  • Anda punya akses ke email akun yang login, karena membuat Secret Key butuh kode OTP.

Ambil kredensial

  1. Buka Pengaturan → Informasi Bisnis. Salin Business ID.
  2. Buka Pengaturan → Secret Key, lalu klik Buat Secret Key Baru.
  3. Masukkan kode OTP yang dikirim ke email. Kode berlaku 5 menit. Setelah 3 kali salah, Anda harus menunggu 5 menit.
  4. Secret Key ditampilkan sekali saja. Salin dan simpan di tempat aman sebelum menutup jendela.

Secret Key lama langsung tidak berlaku

Membuat Secret Key baru membatalkan yang lama saat itu juga. Semua integrasi yang memakai secret lama, termasuk pengecekan header di webhook, harus diperbarui.

Cara mengirim kredensial

Pilih salah satu cara. Keduanya setara.

Cara 1: header Business dan Secret

HTTP
Business: BIZ_ID_ANDA
Secret: SECRET_ANDA

Cara 2: Authorization Bearer

Gabungkan BIZ_ID:SECRET (dipisah titik dua), encode dengan Base64, lalu kirim sebagai Bearer token.

Terminal
TOKEN=$(printf '%s' "BIZ_ID_ANDA:SECRET_ANDA" | base64)
curl https://api.csku.ai/v1/conversation/need-human/total \
  -H "Authorization: Bearer $TOKEN"

Header Authorization hanya dibaca jika header Secret kosong.

Nilai yang ditampilkan dashboard saat membuat Secret Key sudah dalam format Base64 BIZ_ID:SECRET. Nilai itu bisa langsung dipakai sebagai Bearer token.

Contoh lengkap

JavaScript
const res = await fetch('https://api.csku.ai/v1/message', {
  method: 'POST',
  headers: {
    Business: process.env.CSKU_BUSINESS_ID,
    Secret: process.env.CSKU_SECRET,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ conversation_id: 'CO_01J…', text: 'Halo kak' }),
})
const data = await res.json()

Keamanan

  • Simpan Business ID dan Secret Key di server (variabel lingkungan atau secret manager). Jangan taruh di aplikasi mobile, JavaScript browser, atau repository.
  • Secret Key memberi akses penuh ke API bisnis Anda. Jika bocor, buat Secret Key baru segera.
  • API tidak menerapkan batas request (rate limit), tapi tetap kirim request secukupnya dan antrekan pengiriman massal di sisi Anda.

Error autentikasi

Pesan error_msgPenyebab
Data tidak valid. Mohon periksa kembali parameter dan headerFormat Bearer salah (bukan Base64 BIZ_ID:SECRET)
business not found / biz not foundBusiness ID tidak dikenal
secret not valid Secret salah atau sudah diganti
Anda belum memiliki paket aktif.Paket tidak aktif
Paket user tidak memiliki fitur API.Paket aktif, tapi tanpa fitur API

Lihat Format respons & error untuk bentuk lengkap respons error.