/v3/users/. Anexos de perfil, como o upload de rosto importado, usam o caminho de organização/aplicação com didit_internal_id. Esta página traz a explicação conceitual. Consulte a referência da API para ver os esquemas completos de requisição e resposta.
Listar usuários
GET /v3/users/
Retorna uma lista paginada dos usuários da sua aplicação. Aceita filtros por status, busca, intervalo de datas, entre outros.
- Sincronizar diariamente um subconjunto de usuários com o seu data warehouse.
- Encontrar usuários sinalizados para a fila de um analista.
- Buscar usuários pelo nome de exibição.
Obter um usuário
GET /v3/users/{vendor_data}/
Recupera um único usuário pelo vendor_data. Retorna o modelo de dados completo, incluindo os contadores agregados.
O
vendor_data na URL diferencia maiúsculas de minúsculas. Sempre envie exatamente o valor que você usou na criação da sessão.Criar um usuário
POST /v3/users/create/
Crie uma entidade User antes do início de qualquer sessão. Isso é útil para:
- Preencher metadados ou campos personalizados antes que o cliente faça a verificação.
- Definir um status inicial (por exemplo,
FLAGGEDenquanto sua equipe de onboarding revisa documentos manualmente). - Pré-carregar usuários de um banco de dados existente para ter uma lista completa desde o primeiro dia.
vendor_data, a chamada retorna um erro de conflito. Nesse caso, use PATCH para atualizar.
Você também pode enviar dados de contato: first_name e last_name (unidos em full_name quando você não envia um), email, phone_number e country.
A Didit armazena email e phone_number em metadata.contact, e country em metadata.address.
Para convidar a pessoa a fazer a verificação na mesma chamada, adicione send_verification_link: true com um email e um workflow_id.
A Didit cria uma sessão de verificação para a pessoa nesse fluxo de verificação (workflow) e envia o link a ela por e-mail.
O verification_link da resposta traz o session_id, o session_number, o status, a url, o workflow_id e o email da sessão, e é null quando você não solicita um link.
Consulte Create User para ver as verificações e os erros.
Fazer upload de um rosto importado
POST /v3/organization/{organization_id}/application/{application_id}/vendor-users/by-id/{didit_internal_id}/faces/upload/
Anexe uma imagem de rosto confiável a um perfil de usuário existente. Esse é o passo seguinte adequado quando você importa usuários de outro provedor e quer que a Didit mantenha a evidência facial deles antes da primeira sessão na Didit.
Atualizar um usuário
PATCH /v3/users/{vendor_data}/
Atualize os campos editáveis do perfil. A maioria dos campos derivados de sessões verificadas é somente leitura: tentativas de alterá-los via PATCH serão ignoradas ou sinalizadas no registro de auditoria.
Campos editáveis: display_name, metadata, tags.
Somente leitura após a verificação: full_name, date_of_birth, portrait_image, todos os contadores agregados e o mapa features.
user.data.updated com o array changed_fields.
Alterar o status
PATCH /v3/users/{vendor_data}/update-status/
Altere o status de um usuário entre ACTIVE, FLAGGED e BLOCKED. As alterações de status se propagam para sessões e transações futuras.
Emite um webhook
user.status.updated.
Excluir usuários (em lote)
POST /v3/users/delete/
Exclua um ou mais usuários. Os registros dos usuários são removidos permanentemente, junto com todos os templates biométricos retidos para eles após a exclusão da sessão. As sessões de verificação deles não são cobertas por este endpoint e continuam existindo, com o vínculo ao usuário removido; exclua-as com Delete Session ou Batch Delete Sessions. As transações também não são cobertas; exclua-as pelo Console.
vendor_data_list, por didit_internal_id_list ou pelos dois ao mesmo tempo; ou
envie delete_all: true para remover todos os usuários da aplicação. Os parâmetros de lote filter_*
do Console são rejeitados aqui com um 400 em vez de ignorados, para que uma intenção restrita
nunca se transforme em uma exclusão total.
Retorna uma contagem, {"deleted": <int>}, e não um resultado por item. Identificadores sem correspondência são ignorados silenciosamente; por isso, envie uma lista sem duplicatas se quiser comparar deleted com o número de identificadores enviados.
Modelo de permissões
As chaves de API pertencem a uma única aplicação. O segredo principal e as chaves de acesso total podem chamar todos os endpoints/v3/users/* dessa aplicação, incluindo delete.
Uma chave de API com escopo precisa de acesso a Pessoas (users): leitura para os endpoints GET e escrita para criar, atualizar, alterar o status e excluir.
Criar um usuário com send_verification_link: true também exige escrita em Sessões, porque isso cria uma sessão e envia o link dela por e-mail.
Uma chave sem o acesso necessário retorna 403.
Uma chave limitada a alguns fluxos ou a sessões aprovadas não consegue acessar os endpoints /v3/users/* de forma alguma.
As funções são um conceito do Console: o recurso de permissão users e suas claims definem o que um membro da equipe pode fazer no Console, e não são avaliados em requisições com chave de API.
Consulte Roles & permissions para ver essa matriz.
Para impedir que um serviço exclua usuários, dê a ele uma chave apenas com leitura em Pessoas, ou sem nenhum acesso a Pessoas.
Limites de requisições e idempotência
- Todos os endpoints
/v3/users/*estão sujeitos aos limites de requisições padrão. createnão é idempotente: tentar novamente com o mesmovendor_dataretorna um conflito. Elimine duplicatas do seu lado ou sempre faça umGETantes.deleteé idempotente: excluir um usuário já excluído não tem efeito.
Webhooks disparados por estas operações
Próximos passos
Modelo de dados
Referência completa dos campos.
API de listagem
Schema de GET /v3/users/.
API de criação
Schema de POST /v3/users/create/.
Enviar imagem facial
Anexe imagens de rosto importadas aos perfis de usuário.