Árvore de páginas

Índice


       

Objetivo


       O objetivo da API de Compartilhamento de Recursos do TReports é promover uma forma de consultar e manipular o compartilhamento dentro do ERP TOTVS. 

Informações

As APIs públicas de Compartilhamento estão disponíveis em qualquer instalação do TReports a partir da versão 1.8.X (revisar na liberação) e suas operações estão documentadas via Swagger.

Busca de Compartilhamento


A "busca de compartilhamento" é uma API que retorna a credencial e a permissão dos usuários com acesso ao recurso. Através dessa API é possível buscar apenas os recursos aos quais o usuário possui permissão de acesso, sejam eles de sua própria criação ou que tenham sido compartilhadas com o usuário de forma única ou através de pastas.

A API suporta os tipos de recurso abaixo:

  • report: Para Relatórios;
  • report-v1: Para os Relatórios Legado;
  • pivot-table: Para Tabelas Dinâmicas;
  • data-grid: Para as Visões de Dados;
  • dashboard-v1: para os Dashboards;
  • folder: Para as Pastas;

O formato de retorno da API para os registros de compartilhamento do recurso é:

  • {permission}: Permissão de compartilhamento
    • Valores possíveis
      • "None": Nenhuma permissão
      • "Viewer": Permissão de visualizador do recurso
      • "Editor": Permissão de editor do recurso
      • "Owner": Permissão de proprietário do recurso
  • {credential}: Credencial vinculada ao registro de compartilhamento
    • {type}: Tipo da credencial
      • Valores possíveis
        • "User": Credencial de Usuário
        • "Group": Credencial de Grupo
        • "Role": Papeis do RBAC que o usuário possui
    • {issuer}: Emissor da credencial
    • {id}: Identificador da credencial
    • {displayName}: Nome de exibição da credencial

Detalhes da implementação são encontrados no endpoint abaixo:


Abaixo temos um exemplo das credenciais e permissões dos usuários de acesso a um recurso retornadas pela API:

Response Body
[
    {
        "permission": "Viewer",
        "credential": {
            "type": "User",
            "issuer": "framework-bh.rac.dev.totvs.app/totvs.rac",
            "id": "12345",
            "displayName": "César Rodrigues"
        }
    },
    {
        "permission": "Editor",
        "credential": {
            "type": "User",
            "issuer": "framework-bh.rac.dev.totvs.app/totvs.rac",
            "id": "23456",
            "displayName": "John Doe"
        }
    }
]

Alterar Compartilhamento do Recurso


A "alteração de compartilhamento do recurso" é uma API para completa alteração do compartilhamento do recurso, onde apenas os usuários com permissão de proprietário ou editor podem realizar a alteração

A API suporta os tipos de recurso abaixo:

  • report: Para Relatórios;
  • report-v1: Para os Relatórios Legado;
  • pivot-table: Para Tabelas Dinâmicas;
  • data-grid: Para as Visões de Dados;
  • dashboard-v1: para os Dashboards;
  • folder: Para as Pastas;

O formato do conjunto de credenciais a serem aplicadas no recurso e que deverá ser informado no corpo da requisição é:

  • {credential}: Credencial vinculada ao registro de compartilhamento
    • {type}: Tipo da credencial
      • Valores possíveis
        • "User": Credencial de Usuário
        • "Group": Credencial de Grupo
        • "Role": Papeis do RBAC que o usuário possui
    • {issuer}: Emissor da credencial
    • {id}: Identificador da credencial
    • {displayName}: Nome de exibição da credencial
  • {permission}: Permissão de compartilhamento
    • Valores possíveis
      • "None": Nenhuma permissão
      • "Viewer": Permissão de visualizador do recurso
      • "Editor": Permissão de editor do recurso
      • "Owner": Permissão de proprietário do recurso

Detalhes da implementação são encontrados no endpoint abaixo:


Abaixo temos um exemplo de body da requisição com as credenciais e permissões dos usuários que terão o recurso compartilhado:

Body
[
    {
        "permission": "Editor",
        "credential": {
            "type": "User",
            "issuer": "framework-bh.rac.dev.totvs.app/totvs.rac",
            "id": "1234",
            "displayName": "César Rodrigues"
        }
    },
    {
        "permission": "Viewer",
        "credential": {
            "type": "User",
            "issuer": "framework-bh.rac.dev.totvs.app/totvs.rac",
            "id": "4321",
            "displayName": "John Doe"
        }
    }
]

Busca de Proprietário


A "busca de proprietário" é uma API que retorna a credencial do usuário proprietário do recurso. Através dessa API é possível buscar apenas os recursos aos quais o usuário possui permissão de acesso, sejam eles de sua própria criação ou que tenham sido compartilhados com o usuário de forma única ou através de pastas.

A API suporta os tipos de recurso abaixo:

  • report: Para Relatórios;
  • report-v1: Para os Relatórios Legado;
  • pivot-table: Para Tabelas Dinâmicas;
  • data-grid: Para as Visões de Dados;
  • dashboard-v1: para os Dashboards;
  • folder: Para as Pastas;

O formato de retorno da API para a credencial de segurança do proprietário do recurso é:

  • {type}: Tipo da credencial
    • Valores possíveis
      • "User": Credencial de Usuário
      • "Group": Credencial de Grupo
      • "Role": Papeis do RBAC que o usuário possui
  • {issuer}: Emissor da credencial
  • {id}: Identificador da credencial
  • {displayName}: Nome de exibição da credencial

Detalhes da implementação são encontrados no endpoint abaixo:


Abaixo temos um exemplo da credencial de usuário proprietário retornada pela API:

Response Body
{
    "type": "User",
    "issuer": "framework-bh.rac.dev.totvs.app/totvs.rac",
    "id": "123",
    "displayName": "Administrador do Tenant"
}

Alterar Proprietário do Recurso


A "alteração de proprietário do recurso" é uma API para alteração do proprietário do recurso, onde apenas o usuário proprietário atual do recurso pode realizar a alteração

A API suporta os tipos de recurso abaixo:

  • report: Para Relatórios;
  • report-v1: Para os Relatórios Legado;
  • pivot-table: Para Tabelas Dinâmicas;
  • data-grid: Para as Visões de Dados;
  • dashboard-v1: para os Dashboards;
  • folder: Para as Pastas;

O formato da credencial de segurança do Proprietário do recurso que deverá ser informado no corpo da requisição é:

  • {type}: Tipo da credencial
    • Valores possíveis
      • "User": Credencial de Usuário
      • "Group": Credencial de Grupo
      • "Role": Papeis do RBAC que o usuário possui
  • {issuer}: Emissor da credencial
  • {id}: Identificador da credencial
  • {displayName}: Nome de exibição da credencial

Detalhes da implementação são encontrados no endpoint abaixo:


Abaixo temos um exemplo de body da requisição com as credenciais do usuário que será o novo proprietário do recurso:

Body
{
	"type": "User",
	"issuer": "framework-bh.rac.dev.totvs.app/totvs.rac",
	"id": "123",
	"displayName": "John Doe"
}
  • Sem rótulos