Menyinkronkan Data Pengguna dari DingTalk
Authentication: DingTalkProfessional Edition+Pengantar
Plugin DingTalk menyinkronkan pengguna dan departemen organisasi DingTalk ke NocoBase. Plugin ini mendukung sinkronisasi penuh manual dan pembaruan inkremental melalui callback HTTP atau koneksi Stream.
Persiapan
- Instal dan aktifkan plugin DingTalk dan Sinkronisasi Data Pengguna.
- Buat aplikasi internal perusahaan di konsol pengembang DingTalk.
- Berikan izin kontak dan atur cakupan izin data seperti dijelaskan di bawah.
- Salin Client ID dan Client Secret. Lihat Autentikasi: DingTalk.
Mengatur izin kontak dan cakupan izin data
Buka Manajemen Izin aplikasi di DingTalk dan berikan izin berikut:
Atur juga Cakupan Izin Data agar mencakup departemen dan karyawan yang boleh disinkronkan. Pilih semua karyawan untuk sinkronisasi seluruh organisasi.
Izin API menentukan field yang dapat dibaca, sedangkan cakupan izin data menentukan departemen dan karyawan yang dapat dibaca. Keduanya wajib dikonfigurasi. Langganan event tidak menggantikan izin baca kontak.
Jika aplikasi yang sama juga dipakai untuk login, tambahkan izin informasi pribadi yang dijelaskan di Autentikasi: DingTalk.
Menambahkan sumber sinkronisasi DingTalk
Buka Pengguna & Izin > Sinkronkan, klik Tambah, lalu pilih DingTalk.
Simpan dan aktifkan sumber, lalu klik Sinkronkan untuk menjalankan sinkronisasi penuh pertama.
Memilih mode penerimaan event
Mode Stream
Mode Stream membuat koneksi persisten keluar dari server NocoBase ke DingTalk. URL callback publik, Token, dan EncodingAESKey tidak diperlukan.
- Pilih mode Stream pada pengaturan langganan event DingTalk.
- Langgan event perubahan pengguna dan departemen yang diperlukan.
- Pilih mode Stream di NocoBase, simpan, dan aktifkan sumber.
Klien Stream dimulai saat sumber diaktifkan. Pembaruan, penonaktifan, atau penghapusan sumber akan memperbarui atau menutup koneksi.
Server NocoBase harus dapat membuat koneksi keluar ke DingTalk. Mode Stream tidak memerlukan reverse proxy atau endpoint masuk publik.
Callback HTTP
- Pilih Callback HTTP di NocoBase.
- Masukkan Token dan EncodingAESKey dari konfigurasi event DingTalk.
- Simpan sumber dan salin URL callback event yang dibuat.
- Atur URL tersebut di DingTalk dan langgan event pengguna serta departemen.
URL callback harus dapat diakses DingTalk. Gunakan HTTPS di produksi dan pastikan reverse proxy meneruskan path secara utuh.
Event inkremental yang didukung
Field yang disinkronkan
Field departemen
Field pengguna
Penanggung jawab departemen
NocoBase menyinkronkan leader_in_dept secara terpisah untuk setiap departemen. Seorang pengguna dapat bertanggung jawab atas beberapa departemen, terlepas dari departemen utamanya. Jika tanda dihapus di DingTalk, sinkronisasi berikutnya akan menghapusnya di NocoBase. Perubahan manual dapat ditimpa.
Sinkronisasi penuh dan inkremental memakai pemetaan field yang sama. Avatar, jabatan, dan nomor karyawan belum disinkronkan.
Pemecahan masalah
- Jika data kosong atau tidak lengkap, periksa tiga izin wajib dan cakupan izin data.
- Jika nomor seluler atau email kosong, periksa
fieldMobiledanfieldEmail. - Pengguna tanpa pengenal unik yang dikonfigurasi akan dilewati.
- Untuk Stream, periksa log
Dingtalk stream client starting,Dingtalk stream client started, dan error koneksi. - Untuk callback HTTP, periksa akses publik, Token, dan EncodingAESKey.
- Jalankan ulang sinkronisasi penuh setelah mengubah izin atau cakupan data.

