Developer
Kunci API dan cakupan akses
Buat dan cabut kunci API di halaman Developer, pilih akses baca atau tulis, dan pelajari dasar-dasar REST API Ringhum - URL dasar, autentikasi, paginasi, error, dan batas laju permintaan.
4 menit membaca Diperbarui 24 September 2026
Di halaman ini
REST API Ringhum memungkinkan sistem Anda sendiri bekerja dengan workspace Anda: menampilkan daftar panggilan dan transkrip, membuat asisten, memesan janji temu, mengelola kontak, melakukan panggilan keluar, dan banyak lagi. Setiap permintaan diautentikasi dengan kunci API yang dimiliki satu workspace. Artikel ini membahas cara membuat kunci dan konvensi yang berlaku di semua endpoint. Referensi endpoint lengkap ada di /docs.
Siapa yang dapat mengelola kunci
| Peran | Melihat halaman Developer | Membuat dan mencabut kunci |
|---|---|---|
| Owner | Ya | Ya |
| Admin | Ya | Ya |
| Member | Ya | Tidak |
| Viewer | Tidak | Tidak |
API tersedia di semua paket. Yang dapat dilakukan oleh sebuah kunci tetap dibatasi oleh paket Anda: misalnya, membuat asisten melebihi batas paket Anda akan mengembalikan error.
Membuat kunci API
- Buka Developer di sidebar.
- Di kartu Kunci API, klik Buat kunci.
- Masukkan Nama kunci yang menunjukkan di mana kunci ini digunakan, misalnya "Server produksi".
- Di bagian Cakupan, centang read, write, atau keduanya.
- Klik Buat kunci.
- Salin kunci dari kotak hijau dan simpan di tempat yang aman, misalnya penyimpanan rahasia (secret store) server Anda. Klik Selesai.
Penting: Kunci hanya ditampilkan satu kali. Ringhum hanya menyimpan sidik jari (fingerprint) kunci tersebut, sehingga tidak dapat ditampilkan lagi. Jika Anda kehilangannya, buat kunci baru dan cabut kunci yang lama.
Kunci diawali dengan ck_live_. Tabel Kunci API menampilkan nama setiap kunci, karakter awal kunci, cakupannya, kapan terakhir digunakan, dan apakah statusnya Aktif atau Dicabut.
Cakupan
| Cakupan | Yang diizinkan |
|---|---|
| read | Membaca asisten, nomor, panggilan, transkrip, dan penggunaan |
| write | Membuat dan memperbarui asisten, melakukan panggilan, mengelola webhook |
Setiap kunci dapat memanggil endpoint yang hanya membaca. Endpoint yang membuat, mengubah, atau menghapus sesuatu memerlukan cakupan write. Contohnya adalah melakukan panggilan, mengirim pesan, memesan janji temu, atau memperbarui asisten. Referensi di /docs menandai endpoint-endpoint ini. Kunci tanpa write akan menerima error 403 pada endpoint tersebut.
Berikan setiap sistem akses seminimal yang dibutuhkannya. Dasbor pelaporan hanya memerlukan read.
Mencabut kunci
- Di Developer, temukan kunci di tabel Kunci API.
- Klik Cabut dan konfirmasi.
Permintaan yang menggunakan kunci tersebut akan langsung gagal dengan error 401. Kunci yang dicabut tetap ada di daftar, ditandai Dicabut, sehingga Anda dapat melihat riwayatnya. Kunci tidak dapat diedit: untuk mengubah cakupannya, buat kunci baru dan cabut kunci yang lama.
Melakukan permintaan
- URL dasar:
https://ringhum.com/api/v1 - Autentikasi: kirim kunci sebagai Bearer token:
Authorization: Bearer ck_live_… - Format: JSON untuk masuk dan keluar. Kirim
Content-Type: application/jsondengan body. - Waktu menggunakan format ISO 8601 dalam UTC. Nomor telepon menggunakan format E.164, misalnya
+14155550132. Id berupa bilangan bulat. - Pembaruan menggunakan
PATCHhanya dengan field yang ingin Anda ubah. - Setiap respons membawa header
X-Request-Id. Sertakan header ini saat menghubungi dukungan.
curl "https://ringhum.com/api/v1/calls?per_page=10" \
-H "Authorization: Bearer ck_live_…"
Untuk memeriksa workspace mana yang dimiliki sebuah kunci, panggil GET /me.
Respons dan paginasi
Objek tunggal dikembalikan sebagai {"data": {…}}. Daftar yang dipaginasi dikembalikan dengan objek meta:
{
"data": [ … ],
"meta": {
"current_page": 1,
"last_page": 4,
"per_page": 25,
"total": 87,
"next_page_url": "https://ringhum.com/api/v1/calls?page=2",
"prev_page_url": null
}
}
Gunakan page dan per_page untuk berpindah antar hasil. per_page defaultnya adalah 25 dan maksimal 100.
Error
Setiap kegagalan memiliki bentuk yang sama, dengan type yang stabil dan dapat Anda periksa dalam kode Anda:
{
"error": {
"type": "validation_error",
"message": "The to field format is invalid.",
"errors": { "to": ["Use E.164 format, e.g. +15551234567."] }
}
}
| Status | type | Kapan terjadi |
|---|---|---|
| 401 | authentication_error |
Kunci tidak ada, tidak dikenali, atau sudah dicabut |
| 403 | permission_error |
Kunci tidak memiliki cakupan write, atau workspace ditangguhkan |
| 403 | feature_disabled |
Fitur tidak termasuk dalam paket Anda atau belum diaktifkan |
| 404 | not_found |
Sumber daya tidak ada di workspace ini |
| 409 | invalid_state |
Aksi tidak sesuai dengan status saat ini, misalnya WhatsApp belum aktif di nomor tersebut |
| 422 | validation_error |
Body atau query tidak valid; errors mencantumkan setiap field |
| 422 | plan_limit |
Batas paket tercapai, misalnya jumlah asisten atau nomor |
| 429 | rate_limit_error |
Terlalu banyak permintaan |
Batas laju permintaan
Anda dapat melakukan 120 permintaan per menit. Respons menyertakan header X-RateLimit-Limit dan X-RateLimit-Remaining. Jika Anda melebihi batas, Anda akan menerima 429 dengan header Retry-After yang menunjukkan berapa detik harus menunggu.
Tip: Jangan melakukan polling untuk hasil panggilan. Tambahkan webhook untuk
call.endeddan Ringhum akan mengirimkan ringkasan dan transkrip kepada Anda saat panggilan selesai. Lihat Webhook.
Pertanyaan umum
Apakah ada spesifikasi yang dapat dibaca mesin? Ya. Deskripsi OpenAPI 3.1 ada di /api/v1/openapi.json dan tidak memerlukan kunci. Anda dapat membuat client darinya.
Apakah kunci berhenti berfungsi jika orang yang membuatnya keluar? Tidak. Kunci dimiliki oleh workspace dan tetap berfungsi hingga dicabut. Cabut kunci yang tidak lagi Anda percayai, terutama saat seseorang yang memiliki akses keluar.
Bisakah saya menggunakan API dari halaman web? Tidak. Siapa pun yang membuka halaman tersebut dapat membaca kunci. Panggil API dari server Anda.
Artikel terkait
Webhook
Terima notifikasi HTTPS yang ditandatangani saat panggilan berakhir, pesan diambil, janji temu, pesanan, dan reservasi berubah, atau sebuah kampanye selesai, dan verifikasi bahwa masing-masing benar-benar berasal dari Ringhum.
Menghubungkan Ringhum ke Claude dan alat AI lainnya (MCP)
Tambahkan Ringhum sebagai konektor di Claude, ChatGPT, Cursor, VS Code, dan aplikasi AI lain yang mendukung Model Context Protocol, pilih akses hanya-baca atau baca-dan-ubah, dan putuskan koneksi sebuah aplikasi.
Menghubungkan aplikasi
Cara menghubungkan Slack, CRM, help desk, alat tugas, spreadsheet, toko, atau kalender Anda ke Ringhum, jenis koneksi apa yang digunakan setiap aplikasi, dan cara memeriksa apakah koneksi tersebut berfungsi.
Mengundang tim Anda dan mengatur peran
Cara mengundang orang ke workspace Anda, apa yang dapat dilakukan setiap peran, cara kerja kursi pada setiap paket, dan cara menjalankan beberapa workspace dari satu login.
Masih bingung?
Kirim email ke [email protected] atau kirim pesan kepada kami. Paket Team dan Scale mendapat dukungan prioritas.