Histórico da Página
| Índice |
|---|
Autenticação
...
Para autenticação e obtenção do token de acesso, siga o procedimento descrito abaixo:
...
- Obtenção do OAuth Client Assertion:
- Acesse o seguinte endpoint:
https://app.customerfi.com/rest/swagger-ui/index.html#!/oauth2/getOAuthClientAssertion_get_6GET
/rest/v2/oauth2/clients/{clientId}/assertion - Informe o
clientIDcorrespondente à empresa. Pode ser obtido no painel de Configurações > Segurança > Token REST API - Utilize o resultado para obtenção do
assertion. - Geração do Access Token:
- Utilize o seguinte endpoint:
https://app.customerfi.com/rest/swagger-ui/index.html#!/oauth2/getToken_post_0POST
/rest/v2/oauth2/auth - Com o
assertionobtido no passo anterior, gere oaccess_token.
O access_tokendeverá ser informado no campo app_keyantes de realizar as consultas seguintes:
APIs Úteis
...
O companyIdutilizado na maioria das APIs pode ser obtido através de consulta no painel do Identity Configurações > Segurança > Token REST API
Lista todos os Usuários
...
GET
/rest/v2/companies/{companyId}/users
- Podendo ser informado o PageSize ou offset para necessidade de paginação.
Lista todos os Aplicativos
...
GET
/rest/v2/companies/{companyId}/apps
Listar todas as Roles ou Empresas associadas a um Aplicativo de ERP
...
GET
/rest/v2/scim/v2/extensions/Resources/Companies/{companyId}/Applications/{appId}
- Podendo ser informado o
resourceTypescomoRoleouCompanyse precisar retornar todos os registros de Papeis e Empresa, respectivamente.
Gerenciamento de Recursos dos
...
Aplicativos
...
As APIs responsáveis pela manipulação de recursos dos aplicativos estão documentadas no seguinte endpoint:
https://app.customerfi.com/rest/swagger-ui/index.html#!/scim
Consulta de Papeis e Empresas de um Aplicativo (RM ou Protheus)
Para listar os papeis atribuídos a um determinado aplicativo, utilize o seguinte endpoint:
GET
/rest/v2/scim/v2/extensions/Resources/Companies/{companyId}/Applications/{appId}
- Filtrando apenas os Papeis informando o
resourceTypescomoRoleou Empresa passandoresourceTypescomoCompany
Consulta de Papeis ou Empresas Atribuídos a um Usuário
Para consultar os papeis vinculados a um usuário específico, utilize:
GET
/rest/v2/scim/v2/extensions/Entitlements/Companies/{companyId}/Users/{userId}
- Filtrando apenas os Papeis informando o
resourceTypescomoRoleou Empresa passandoresourceTypescomoCompany
Para identificar a qual Empresa uma determinada Role está vinculada é possível consultar o ext.restrictions informado. Exemplo:
Papel: Acesso_Hid: “”
Empresa: ext.restrictions: “”
Retorno do JSON:
| Bloco de código |
|---|
{
"dateCreated": "2025-01-29_19:54:23",
"id": "",
"schemas": [
"urn:scim:schemas:core:2.0:ListResponse"
],
"deleted": "N",
"status": "A",
"itemsPerPage": 25,
"totalResults": 1,
"startIndex": 1,
"resourceClass": "com.totvslabs.idm.common.extension.Resource",
"resources": [
{
"dateCreated": "2025-01-15_00:26:01",
"id": "",
"externalId": "Acesso_H",
"meta": {
"dateCreated": "2025-01-29_19:54:23",
"resourceType": "Resource"
},
"schemas": [
"urn:scim:schemas:extension:2.0:Resource"
],
"deleted": "N",
"status": "A",
"companyId": "",
"applicationId": "",
"type": "Role",
"name": {
"en-US": "Acesso_H",
"es-ES": "Acesso_H",
"pt-BR": "Acesso_H",
"pt-PT": "Acesso_H"
},
"description": {
"en-US": "Controle%20de%20usu%C3%A1rios%2Fperfis",
"es-ES": "Controle%20de%20usu%C3%A1rios%2Fperfis",
"pt-BR": "Controle%20de%20usu%C3%A1rios%2Fperfis",
"pt-PT": "Controle%20de%20usu%C3%A1rios%2Fperfis"
},
"displayName": {
"en-US": "Controle%20de%20usu%C3%A1rios%2Fperfis",
"es-ES": "Controle%20de%20usu%C3%A1rios%2Fperfis",
"pt-BR": "Controle%20de%20usu%C3%A1rios%2Fperfis",
"pt-PT": "Controle%20de%20usu%C3%A1rios%2Fperfis"
},
"ext": {
"internalId": "Acesso_H",
"owner": "user",
"direct": "true",
"restrictions": "[\"\"]"
},
"scimResourceTypeEnum": "ROLE"
}
]
|
Estrutura Hierárquica das Empresas no RM
No contexto do RM:
- Os papeis são organizados hierarquicamente abaixo de uma empresa, definido o type como “Role”.
- Cada empresa possui um identificador resourceID e um type definido como "Company".
No exemplo, a empresa abaixo possui o seguinte resourceID= 01010101010101__PR
Atribuição de Papeis a um Usuário
Para atribuir um papel a um usuário, restringindo por empresa, utilize o seguinte endpoint:POST
/rest/v2/scim/v2/extensions/Entitlements/Companies/{companyId}/Applications/{appId}/Users/{userId}
Ao efetuar a atribuição, é necessário informar:
...
Com isso será configurado apenas o Papel Acesso_H para empresa exemplo.
Se não for informado um modelRestrictionserá ativo o papel para todas as empresas presentes.
Caso seja necessário remover a Role a API é semelhante, pode ser passado o mesm
POST
/rest/v2/scim/v2/extensions/Entitlements/Companies/{companyId}/Applications/{appId}/Users/{userId}/remove
Explicação sobre a Estrutura de Papeis no Identity
Os papeis dentro do Identity não são entidades independentes. A estrutura segue o modelo:
...
É possível consultar os Papeis vinculados a um usuário através do endpoint abaixo, filtrando o resourceTypes=”Role”, porém note que todo Roleestá vinculado a um applicationId:GET
/rest/v2/scim/v2/extensions/Entitlements/Companies/{companyId}/Users/{userId}









