Langsung ke konten utama
Panduan ini menuntun developer melalui seluruh proses pemanggilan API DingTalk Open Platform, mulai dari membuat aplikasi hingga panggilan API yang berhasil. Panduan ini mencakup langkah-langkah utama, contoh kode, hal-hal yang perlu diperhatikan, dan metode debugging untuk membantu developer memulai dengan cepat dan memanggil API dengan sukses.
Contoh ini berbasis aplikasi internal dan menunjukkan cara mengambil detail pengguna dari Kontak dengan memanggil API. Pendekatan yang sama berlaku untuk tipe aplikasi lainnya.

Prasyarat

  1. Konsep dasar: Pahami konsep dasar DingTalk Open Platform dan dokumentasi setiap modul produk. Lihat dokumentasi konsep dasar untuk detailnya.
  2. Batas laju API: Pahami batas laju API. Lihat dokumentasi frekuensi pemanggilan API dan batas laju untuk detailnya.
  3. Izin developer: Miliki izin Sub Admin dan developer di Developer Backend. Anda juga dapat masuk ke DingTalk Developer untuk mendaftar dan mengaktifkan pengguna baru.
  4. Peroleh UserId pengguna: Masuk ke DingTalk Admin Console dan lihat UserId di bawah Contacts > User management. Lihat dokumentasi konsep dasar untuk detailnya.

Langkah 1: Buat aplikasi DingTalk

  1. Buka Developer Backend dan klik App Development > DingTalk App > Create app.
  2. Masukkan informasi aplikasi dan klik Save.
  3. Buka halaman detail aplikasi dan lihat kredensial serta informasi dasar aplikasi di bawah Basic information > Credential and basic information.
  4. Simpan Client ID dan Client Secret aplikasi untuk pemanggilan API berikutnya.

Catatan

Untuk detail cara memperoleh Client ID dan Client Secret, lihat dokumentasi konsep dasar. Simpan dengan aman setelah Anda memperolehnya untuk mencegah kebocoran.

Langkah 2: Konfigurasikan izin

  1. Temukan izin yang diperlukan: Menurut dokumentasi API, pemanggilan API detail pengguna memerlukan izin Read user information.
  2. Tambah izin: Buka Developer Backend, temukan aplikasi yang Anda buat, buka halaman detail aplikasi, cari Read user information di bawah Kelola izin, dan klik Apply now.

Langkah 3: Peroleh Access Token

Sebelum memperoleh Access Token, tentukan apakah API memerlukan izin standar atau izin sensitif. Keduanya memiliki metode perolehan yang berbeda.

API izin standar

Panggil API untuk memperoleh Token

  1. Buka halaman API Obtain the access token of an internal app dan klik tombol API Debug di sebelah kanan untuk membuka alat debugging sisi server.
  2. Di alat debugging, ganti nilai appkey (ganti dengan Client ID yang Anda peroleh sebelumnya) dan appSecret (ganti dengan Client Secret yang Anda peroleh sebelumnya), lalu klik Debug.

Penting

Anda harus masuk untuk menggunakan konsol debugging sisi server dan harus mengikat aplikasi yang sesuai. Anda juga dapat menyalin kode di bawah ini dan menggunakan perintah cURL. Ganti nilai appkey (dengan Client ID yang Anda peroleh sebelumnya) dan appSecret (dengan Client Secret yang Anda peroleh sebelumnya), lalu kirim permintaan secara langsung. Contoh:

Parsing respons

Setelah panggilan berhasil, sebuah nilai access token akan dibuat, seperti ditunjukkan di bawah ini:

Cache dan muat ulang

  • Simpan access_token dalam cache di database atau memori dan siapkan pembaruan terjadwal (10 menit sebelum kedaluwarsa).
  • Hindari memanggil API Token terlalu sering, karena dapat memicu batas laju.

API izin sensitif

Untuk mengaktifkan berbagi data dan pemanggilan fitur lintas organisasi, aplikasi pihak ketiga harus melalui proses otorisasi yang ketat. Aplikasi perlu memperoleh izin penggunaan dan izin akses data pengguna dari organisasi target melalui otorisasi tingkat organisasi maupun tingkat pengguna.

Ajukan izin API

Ajukan izin API sesuai dokumentasi Use sensitive permissions.

Integrasikan suite otorisasi

Setelah mengajukan izin sensitif, integrasikan suite otorisasi. Ketika pengguna menerima otorisasi pada prompt, sebuah authCode akan dikembalikan. Kemudian panggil API Obtain user token untuk menukarnya dengan access_token tingkat pengguna.

Langkah 4: Panggil API detail pengguna

API izin standar

Untuk mengambil detail pengguna, panggil API Query user details. Anda dapat menggunakan DingTalk SDK atau mengirim permintaan HTTP secara langsung. Pilih metode yang sesuai dengan kebutuhan Anda.

Opsi 1: Gunakan DingTalk SDK (direkomendasikan)

Sebelum menggunakan DingTalk SDK, pelajari perbedaan dalam Server API, lalu unduh versi SDK yang sesuai. Lihat dokumentasi perbedaan Server API untuk detailnya.
  1. Instal SDK (contoh Python)
  2. Contoh kode

Opsi 2: Kirim permintaan HTTP secara langsung

Respons berhasil

Jika respons berisi "errcode":"0" dan "errmsg":"ok", panggilan berhasil.

Penanganan error

  • Izin tidak memadai: Periksa apakah izin Read user information telah diajukan.
  • Pengguna tidak ada: Pastikan userid valid dan bebas dari kesalahan ketik.
  • Token kedaluwarsa: Muat ulang access_token dan coba lagi. Pastikan access_token valid dan bebas dari kesalahan ketik.

API izin sensitif

Setelah menukar authCode dengan access_token tingkat pengguna, panggil Retrieve user profile from Contacts untuk memperoleh nama, unionId, dan informasi lain pengguna. Jika API mengembalikan 200, panggilan berhasil. Responsnya adalah sebagai berikut: