Synchroniser les données utilisateur depuis DingTalk
DingTalkProfessional Edition+Introduction
Le plugin DingTalk synchronise les utilisateurs et départements d'une organisation DingTalk avec NocoBase. Il prend en charge la synchronisation complète manuelle et les mises à jour incrémentielles via callback HTTP ou connexion Stream.
Prérequis
- Installez et activez DingTalk et Synchronisation des données utilisateur.
- Créez une application interne dans la console développeur DingTalk.
- Accordez les permissions d'annuaire et configurez le périmètre des données ci-dessous.
- Copiez le Client ID et le Client Secret. Consultez Authentification : DingTalk.
Configurer les permissions d'annuaire et le périmètre des données
Dans la Gestion des permissions de l'application DingTalk, accordez les permissions suivantes :
Configurez également le Périmètre des permissions de données afin d'inclure les départements et employés à synchroniser. Sélectionnez tous les employés pour une synchronisation complète.
Les permissions API déterminent les champs lisibles ; le périmètre de données détermine les départements et employés lisibles. Les deux sont nécessaires. L'abonnement aux événements ne remplace pas les permissions de lecture.
Si la même application sert aussi à la connexion, accordez les permissions personnelles décrites dans Authentification : DingTalk.
Ajouter une source DingTalk
Accédez à Utilisateurs et permissions > Synchroniser, cliquez sur Ajouter et sélectionnez DingTalk.
Enregistrez et activez la source, puis lancez d'abord une synchronisation complète avec Synchroniser.
Choisir le mode de réception des événements
Mode Stream
Le mode Stream établit une connexion persistante sortante du serveur NocoBase vers DingTalk. Il ne nécessite ni URL publique, ni Token, ni EncodingAESKey.
- Sélectionnez mode Stream dans les paramètres d'abonnement DingTalk.
- Abonnez-vous aux événements utilisateur et département nécessaires.
- Sélectionnez mode Stream dans NocoBase, enregistrez et activez la source.
Le client Stream démarre lorsque la source est activée. La mise à jour, la désactivation ou la suppression actualise ou ferme la connexion.
Le serveur NocoBase doit pouvoir se connecter à DingTalk. Aucun proxy inverse ni endpoint entrant public n'est requis.
Callback HTTP
- Sélectionnez Callback HTTP dans NocoBase.
- Saisissez le Token et l'EncodingAESKey configurés dans DingTalk.
- Enregistrez la source et copiez l'URL de callback des événements.
- Configurez cette URL dans DingTalk et abonnez les événements requis.
L'URL doit être accessible par DingTalk. En production, utilisez HTTPS et transmettez le chemin sans modification via le proxy inverse.
Événements incrémentiels pris en charge
Champs synchronisés
Champs des départements
Champs des utilisateurs
Responsables de département
NocoBase synchronise leader_in_dept séparément pour chaque département. Un utilisateur peut diriger plusieurs départements, indépendamment de son département principal. La suppression du statut dans DingTalk le supprime à la synchronisation suivante dans NocoBase. Les modifications manuelles peuvent être écrasées.
La synchronisation complète et incrémentielle utilisent le même mappage. L'avatar, le poste et le matricule ne sont pas synchronisés actuellement.
Dépannage
- En cas de données manquantes, vérifiez les trois permissions requises et le périmètre de données.
- En cas de téléphone ou d'e-mail manquant, vérifiez
fieldMobileetfieldEmail. - Les utilisateurs sans identifiant unique configuré sont ignorés.
- Pour Stream, recherchez
Dingtalk stream client starting,Dingtalk stream client startedet les erreurs de connexion dans les journaux. - Pour le callback HTTP, vérifiez l'accessibilité, le Token et l'EncodingAESKey.
- Relancez une synchronisation complète après toute modification des permissions ou du périmètre.

