Sincronizar dados de usuário do DingTalk
DingTalkProfessional Edition+Introdução
O plugin DingTalk sincroniza usuários e departamentos de uma organização DingTalk com o NocoBase. Ele oferece sincronização completa manual e atualizações incrementais por callback HTTP ou conexão Stream.
Antes de começar
- Instale e ative os plugins DingTalk e Sincronização de dados de usuário.
- Crie um aplicativo interno na central de desenvolvedores do DingTalk.
- Conceda as permissões de contatos e configure o escopo de dados descritos abaixo.
- Copie o Client ID e o Client Secret. Consulte Autenticação: DingTalk.
Configurar permissões de contatos e escopo de dados
Abra o Gerenciamento de permissões do aplicativo no DingTalk e conceda:
Configure também o Escopo de permissões de dados para incluir os departamentos e funcionários permitidos. Selecione todos os funcionários para sincronizar toda a organização.
As permissões de API determinam os campos legíveis; o escopo de dados determina os departamentos e funcionários legíveis. Ambos são necessários. A assinatura de eventos não substitui as permissões de leitura.
Se o mesmo aplicativo também for usado para login, conceda as permissões pessoais descritas em Autenticação: DingTalk.
Adicionar uma fonte DingTalk
Acesse Usuários e permissões > Sincronizar, clique em Adicionar e selecione DingTalk.
Salve e ative a fonte; em seguida clique em Sincronizar para executar primeiro uma sincronização completa.
Escolher o modo de recepção de eventos
Modo Stream
O modo Stream estabelece uma conexão persistente de saída do servidor NocoBase para o DingTalk. Não requer URL pública, Token ou EncodingAESKey.
- Selecione modo Stream nas configurações de eventos do DingTalk.
- Assine os eventos necessários de usuários e departamentos.
- Selecione modo Stream no NocoBase, salve e ative a fonte.
O cliente Stream inicia quando a fonte é ativada. Atualizar, desativar ou excluir a fonte atualiza ou encerra a conexão.
O servidor NocoBase precisa estabelecer conexões de saída com o DingTalk. Não é necessário proxy reverso nem endpoint público de entrada.
Callback HTTP
- Selecione Callback HTTP no NocoBase.
- Informe o Token e o EncodingAESKey configurados no DingTalk.
- Salve a fonte e copie a URL de callback de eventos gerada.
- Configure a URL no DingTalk e assine os eventos de usuários e departamentos.
A URL deve ser acessível pelo DingTalk. Em produção use HTTPS e preserve o caminho completo no proxy reverso.
Eventos incrementais compatíveis
Campos sincronizados
Campos de departamento
Campos de usuário
Responsáveis por departamentos
O NocoBase sincroniza leader_in_dept separadamente para cada departamento. Um usuário pode responder por vários departamentos, independentemente do departamento principal. Ao remover a marca no DingTalk, a próxima sincronização também a remove no NocoBase. Alterações manuais podem ser sobrescritas.
As sincronizações completa e incremental usam o mesmo mapeamento. Avatar, cargo e número de funcionário não são sincronizados atualmente.
Solução de problemas
- Se os dados estiverem vazios ou incompletos, verifique as três permissões obrigatórias e o escopo de dados.
- Se telefone ou e-mail estiverem vazios, verifique
fieldMobileefieldEmail. - Usuários sem o identificador único configurado são ignorados.
- No Stream, procure
Dingtalk stream client starting,Dingtalk stream client startede erros de conexão nos logs. - No callback HTTP, verifique acesso público, Token e EncodingAESKey.
- Execute nova sincronização completa após alterar permissões ou escopo.

