Dokumentasi Developer
Keamanan & data
Kelola API key dan izin dengan aman, serta pahami catatan yang dapat diakses setiap integrasi.
Penanganan API key
- API key (
alt_live_...) hanya ditampilkan sekali saat dibuat. Kami hanya menyimpan keyed hash dari secret-nya, jadi key tidak akan pernah bisa ditampilkan lagi โ kalau hilang, Anda harus merotasinya. - Signing secret webhook (
whsec_...) juga hanya ditampilkan sekali. Secret disimpan terenkripsi (AES-256-GCM) dan hanya didekripsi untuk menandatangani pengiriman keluar โ tidak pernah ditampilkan ulang. Untuk merotasinya, buat ulang endpoint-nya; secret baru akan diterbitkan. - Simpan key di secret manager. Jangan pernah menanamkannya di kode sisi klien, aplikasi mobile, atau repository.
- Rotasi lewat console: terbitkan key baru pada integration yang sama, pindahkan sistem Anda ke key tersebut, lalu cabut key lama. Pencabutan berlaku seketika.
- Anda juga bisa menetapkan masa berlaku saat membuat key; key yang kedaluwarsa otomatis ditolak.
- Satu key untuk satu sistem. Pisahkan staging dari production supaya mencabut salah satunya tidak mematikan yang lain.
- Tidak ada sandbox maupun mode uji โ setiap key yang diterbitkan adalah key live dan membaca catatan sungguhan. Gunakan integration terpisah untuk staging dan production; dan untuk menguji receiver tanpa menunggu rekaman nyata, manfaatkan event verifikasi yang dikirim saat endpoint dibuat atau "Kirim tes" di console.
Data yang dapat diakses setiap integrasi
- Integration pribadi hanya melihat catatan pribadi milik pemiliknya. Integration teamspace hanya melihat catatan yang dibagikan ke teamspace tersebut โ tidak pernah catatan pribadi anggotanya.
- Integration teamspace hanya bisa dibuat oleh pemilik teamspace.
- Catatan di luar cakupan sebuah kredensial mengembalikan
404โ API tidak mengungkapkan apakah catatan itu ada atau tidak. - Saat sebuah catatan keluar dari cakupan Anda, Anda menerima
note.deleted (reason: access_lost)dan catatan itu hilang dari daftar Anda. Hapus atau blokir akses ke salinan yang Anda simpan.
Cakupan izin (scope)
| Cakupan izin | Izin yang diberikan |
|---|---|
| notes:read | Mengambil daftar catatan dan membaca metadata catatan. |
| transcripts:read | Membaca teks transkrip dan segmen pembicara. |
| summaries:read | Membaca ringkasan (Markdown). |
| webhooks:manage | Membuat, memperbarui, menghapus, dan menguji endpoint webhook lewat API publik. |
Berikan hanya izin yang dibutuhkan integrasi. Request yang memerlukan izin yang tidak dimiliki API key akan gagal dengan 403 insufficient_scope.
Batas request API
- 120 request per menit per key. Jika terlampaui, API mengembalikan
429 rate_limitedbeserta headerRetry-Afterโ tunggu setidaknya selama itu sebelum mencoba lagi. - Utamakan webhook plus sinkronisasi inkremental (
updated_after) ketimbang polling beruntun. - Gunakan
ETag/If-None-Matchsaat membaca catatan, transkrip, dan ringkasan โ respons304lebih murah untuk semua pihak.
Privasi
- Transkrip dan ringkasan adalah konten pengguna dan bisa memuat data pribadi. Ambil hanya yang dibutuhkan integration Anda, dan lindungi data yang Anda simpan.
- Hormati penghapusan: saat menerima
note.deleted(apa pun alasannya), hapus atau blokir akses ke salinan yang Anda simpan. Lakukan rekonsiliasi berkala kalau-kalau ada event yang terlewat. - URL webhook harus berupa endpoint HTTPS publik. Alamat privat, loopback, dan cloud metadata ditolak, dan redirect tidak diikuti.
- Akses API memerlukan langganan aktif pada workspace milik integration; tanpa itu, request gagal dengan
403 plan_required. - Lihat Kebijakan Privasi kami untuk mengetahui bagaimana Alt sendiri menangani data pengguna.