Mengelola API key Anda

Temukan API key Anda di API & Webhooks pada konsol, simpan di sisi server, gunakan aplikasi sandbox terpisah untuk pengujian, dan atasi error 401 serta 403.

Short answer

API & Webhooks, dibatasi pada aplikasi yang sedang Anda pilih. Satu key per aplikasi, dan key itu adalah environment-nya - tidak ada key uji coba terpisah pada sebuah aplikasi live. Ini adalah secret sisi server: jangan pernah letakkan di kode frontend atau di dalam bundel aplikasi.

API key Anda berada di API & Webhooks pada sidebar konsol, dibatasi pada aplikasi tempat Anda sedang bekerja. Perlakukan seperti password - key ini memberikan akses API penuh atas nama aplikasi tersebut.

#Menemukan key Anda

  1. Masuk ke Konsol Bisnis

    Buka business.didit.me dan masuk.

  2. Pilih aplikasi Anda

    Pilih aplikasi yang Anda inginkan dari dropdown di bagian atas konsol. Setiap aplikasi punya key-nya sendiri.

  3. Buka API & Webhooks

    API key Anda ada di sini, bersama tujuan webhook Anda dan signing secret-nya.

The API & Webhooks page in the Didit console
  1. Create API key menerbitkan key baru; key bersifat per aplikasi.
  2. Secret ditampilkan di sini hanya sekali - salin ke penyimpanan secret Anda sendiri.
  3. Rotate secret mengganti secret tanpa mengubah nama key.
  4. Last used adalah cara Anda membedakan key yang aktif dari yang sudah terlupakan sebelum mencabutnya.
One key per application, on the same page as your webhook destinations.

#API key dan signing secret adalah dua hal yang berbeda

Perlu ditegaskan, karena mencampuradukkan keduanya menghasilkan error yang membingungkan:

FungsinyaDi mana
API keyMengautentikasi panggilan Anda ke Didit, di header x-api-keyPer aplikasi
Webhook signing secretMemverifikasi bahwa webhook yang masuk benar-benar berasal dari DiditPer tujuan

Mengirim signing secret sebagai API key Anda menghasilkan error 401. Memverifikasi webhook dengan API key Anda menghasilkan signature yang tidak cocok. Keduanya sering terjadi.

Important

API key Anda adalah secret. Jangan pernah meletakkannya di kode frontend, repositori publik, atau bundel aplikasi mobile - simpan hanya di sisi server. Key di dalam bundel aplikasi yang sudah dirilis adalah key yang sudah dimiliki penyerang. Lihat autentikasi API.

#Mendapatkan key untuk pengujian

Anda tidak menguji terhadap production. Buat aplikasi terpisah dalam mode sandbox - session sandbox mensimulasikan setiap pemeriksaan eksternal, tidak pernah ditagih, dan tidak menyentuh data pengguna sungguhan. Gunakan key-nya selama Anda membangun, dan pertahankan aplikasi live terpisah untuk verifikasi sungguhan.

Tidak ada "key uji coba" pada aplikasi live. Key itu sendiri adalah environment-nya, jadi ada baiknya menamai key Anda secara jelas di mana pun Anda menyimpan secret. Lihat menguji di sandbox.

#Merotasi key Anda

Jika sebuah key mungkin sudah terekspos, buat ulang dari halaman API & Webhooks yang sama. Pembuatan ulang membatalkan key lama secara langsung, jadi perbarui dulu di semua tempat yang menggunakannya - kalau tidak, trafik production Anda akan langsung gagal begitu Anda mengklik tombolnya.

Merotasi secara terjadwal adalah praktik yang baik. Rencanakan seperti sebuah deploy, bukan sekadar satu klik.

#Mengatasi error 401 dan 403

ErrorPenyebabPerbaikan
401Key hilang, salah format, atau sudah digantiSalin key terkini dari API & Webhooks untuk aplikasi tersebut. Periksa apakah ada spasi atau tanda kutip yang tidak sengaja terikut, dan pastikan Anda tidak menempelkan signing secret
403Key-nya valid tetapi panggilan ini tidak diizinkanBiasanya karena aplikasi yang salah, field khusus sandbox pada key live (atau sebaliknya), izin yang tidak dimiliki key Anda, atau fitur yang belum diaktifkan pada akun Anda

Error 403 pada workflow tertentu hampir selalu berarti key tersebut milik aplikasi yang berbeda dari aplikasi yang memiliki workflow itu. Pindah aplikasi di konsol dan salin key-nya sebagai gantinya. Rincian lengkap: error API dan artinya.

#Membatasi apa yang bisa dilakukan sebuah key

Jika kebutuhan Anda adalah membatasi kategori data mana yang bisa dijangkau sebuah key - misalnya mencegah sebuah layanan mengambil gambar dokumen - itu adalah pertanyaan seputar izin, bukan pengaturan pada key, dan apa yang tersedia tergantung pada akun Anda. Tanyakan ke support daripada berasumsi sebuah key tidak dibatasi atau berasumsi sebaliknya; kedua asumsi itu berisiko dalam arah yang berlawanan.

#Siapa di tim Anda yang bisa melihat key

Visibilitas key mengikuti peran. Peran Developer mencakup API key; Reader tidak. Jika rekan tim tidak bisa menemukan halamannya, periksa dulu perannya sebelum melaporkannya sebagai masalah. Lihat mengundang anggota tim dan menetapkan peran.

#Setiap panggilan dicatat

Permintaan dengan API key muncul di Audit Logs dan diatribusikan ke aplikasi, bukan ke seseorang - itulah sebabnya key yang dibagikan ke beberapa layanan membuat sebuah insiden lebih sulit diselidiki. Satu key per konsumen lebih mudah untuk dipahami. Lihat menggunakan audit log.