Skip to main content
Toda integração com a Cativa começa pelo usuário. Esta página descreve o modelo User no nível conceitual, o endpoint canônico para validar credenciais e o CRUD administrativo que você usa para criar, atualizar e vincular usuários ao seu CRM ou ERP.

O modelo User

Cada usuário pertence a um único tenant e é identificado por um id (GUID). O mesmo usuário nunca existe em dois tenants: se a mesma pessoa participa de duas comunidades, são dois registros distintos. Os campos mais usados em respostas autenticadas:
O contrato detalhado de cada response (nomes e tipos exatos de todos os campos) está publicado na aba API Reference, na tag Users / Auth. Os JSON desta página são ilustrativos.

Papéis (role)

Status da conta (status)

Existe em toda comunidade um usuário de sistema com userName = "admin" (interno da plataforma). Ele nunca aparece em listagens, buscas ou seletores. Ignore-o caso apareça em algum export.

Validar credencial e descobrir o usuário associado

O endpoint canônico para parceiros validarem uma credencial e descobrirem o usuário associado é GET /auth/me. Use-o no boot da sua integração e sempre que precisar confirmar o contexto.
Resposta ilustrativa:
Use o retorno para:
  • Confirmar que a chave é válida e aponta pro tenant certo (campo customer).
  • Capturar o id do usuário associado à chave (útil pra logs e auditoria do seu lado).
  • Renovar a sessão com os campos accessToken / refreshToken retornados.

CRUD administrativo de usuários

Parceiros com API Key administrativa gerenciam usuários direto pela API, sob o prefixo /admin/users. Esta é a superfície que você usa para manter a base da Cativa em sincronia com o seu sistema.

Criar um usuário

Resposta ilustrativa (201 Created):
password é opcional. Se omitido, o usuário entra por convite ou fluxo de definição de senha, dependendo da configuração do tenant.

Achar um usuário pelo email

O caminho mais direto quando você tem o email vindo do seu CRM, sem precisar do userId:

Atualizar campos pontuais

Prefira as rotas de campo único para mudanças focadas: elas são mais seguras que um PUT completo (não sobrescrevem outros campos por acidente).

Vincular o id do seu sistema (external-id)

Guarde o identificador do seu CRM/ERP no usuário Cativa. Isso permite correlacionar registros nos dois lados sem depender do email (que pode mudar).

Banir e excluir

Fluxo ponta a ponta: sincronizar um membro do CRM

1

Procure pelo email

Chame GET /admin/users/email/{email}. Se retornar 200, o usuário já existe: guarde o id e pule para o passo 3.
2

Crie se não existir

Se o lookup retornar 404, chame POST /admin/users com os dados do CRM. Guarde o id da resposta.
3

Vincule o id externo

Chame PATCH /admin/users/{userId}/external-id com o identificador do seu sistema. A partir daqui os dois lados ficam correlacionados.
4

Libere acesso com badge

Atribua o badge que dá acesso ao grupo/curso certo. Veja Badges como permissão.
O passo a passo aplicado está em Sincronizar membros do CRM.

Endpoints do próprio usuário (self-service)

Além do CRUD admin, o usuário autenticado gerencia o próprio perfil:
  • GET /users/profile/{userName}. Perfil público de um usuário pelo handle.
  • PUT /users/profile. Atualiza o próprio perfil.
  • GET /users/search?query=.... Busca usuários por nome (respeita o filtro do usuário de sistema admin).
Perfil público (ilustrativo):

Erros comuns

O usuário não existe naquele tenant. É o sinal esperado para criar via POST /admin/users.
Já existe um usuário com aquele email no tenant. Use o lookup por email antes de criar (padrão do fluxo de sincronização).
A chave não tem escopo administrativo. Rotas /admin/users exigem API Key administrativa. Peça a credencial certa ao admin do tenant.

Próximos passos

Badges como permissão

Como atribuir credenciais para liberar acesso a grupos e cursos.

Comunidades e Espaços

Onde o usuário se encaixa na hierarquia Comunidade > Espaço > Grupo.