Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

Cross Segmentos - Backoffice RM - Integração - API - Consumo API Metadados

time.pngTempo aproximado para leitura: 00:04:10 min

Dúvida
Como consumir a API de Metadados.

Ambiente
Cross Segmentos - Backoffice RM - Integração - Todas as versões.


Solução
Este documento tem o objetivo exemplificar o uso da API de Metadados, a fim de utilizar todos os métodos implementados.

Existem duas APIs de Metadados: uma para buscar a estrutura (schema) do metadado em formato compatível com o componente Dynamic Form do PO-UI e outra para os dados registrados no formulário.

1 - Schema API

2 - Data API.


1 - Schema API
Esta API retorna a estrutura do metadado, como já informado acima. Ela aceita apenas o método GET e deve ser chamada da seguinte forma:
Chamada Schema API
http://{domínio}:{porta}/api/framework/v1/metadata/schema/form/{idProjeto}
Nesta chamada, idProjeto representa o código do Projeto de Metadados que foi gerado.

 

Segue exemplo do GET Schema API de Metadados.


2 - Data API
Esta API possui os verbos GET, POST, PUT e DELETE e permite o gerenciamento dos dados do formulário gerado. Ela deve ser chamada da seguinte forma:
Chamada Dados API
http://{domínio}:{porta}/api/framework/v1/metadata/data/{idProjeto}

Neste exemplo exemplificaremos o uso da Data API, com seus respectivos métodos:
1 - GET - GetAll (Retornar todos Registros) ou GetOne (Retornar registro especifico).

2 - POST - Inserir registro no Metadados.

3 - PATCH- Atualizar informações no registro do Metadados.

4 - DELETE - Deletar um registro do Metadados.


Importante
O funcionamento da API em todos os verbos se dá conforme o Padrão de API TOTVS. No entanto, algumas funcionalidades como seleção de colunas, paginação, objetos complexos e tabelas relacionadas ainda não estão disponíveis.

1.1 - GET ALL

Configuração

Máscara de Url: http://{domínio}:{porta}/api/framework/v1/metadata/data/{idProjeto}

Exemplo de Configuração

Domínio: localhost

Porta: 8051

Url Utilizada: http://localhost:8051/api/framework/v1/metadata/data/PRJ4411904

Exemplo de Resultado

Resultado (JSON)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
    "hasNext": false,
    "items": [
        {
            "id": 12,
            "ID": 12,
            "NOME": "TESTE NOME 12",
            "IDADE": "12"
        },
      {
            "id": 13,
            "ID": 13,
            "NOME": "TESTE NOME 13",
            "IDADE": "33"
        }
]
}


Exemplo do GET All no Postman:

 

1.2 - GET ONE

Configuração

Máscara de Url: http://{domínio}:{porta}/api/framework/v1/metadata/data/{idProjeto}/{id}

Exemplo de Configuração

Domínio: localhost

Porta: 8051

Url Utilizada: http://localhost:8051/api/framework/v1/metadata/data/PRJ4411904/12

Exemplo de Resultado

Resultado (JSON)
1
2
3
4
5
6
{
            "id": 12,
            "ID": 12,
            "NOME": "TESTE NOME 12",
            "IDADE": "12"
}

 

Exemplo do GET One no Postman:

 

 

2 - POST

Configuração

Máscara de Url: http://{domínio}:{porta}/api/framework/v1/metadata/data/{idProjeto}

Exemplo de Configuração

Domínio: localhost

Porta: 8051

Url Utilizada: http://localhost:8051/api/framework/v1/metadata/data/PRJ4411904

Exemplo de Entrada

Resultado (JSON)
1
2
3
4
5
{
            "ID": 17,
            "NOME": "TESTE NOME 17",
            "IDADE": "27"
}

Exemplo de Resultado

Resultado (JSON)
1
2
3
4
5
6
{
            "id": 17,
            "ID": 17,
            "NOME": "TESTE NOME 17",
            "IDADE": "27"
}

 

Exemplo do Post no Postman:

 

 

4 - Patch

Configuração

Máscara de Url: http://{domínio}:{porta}/api/framework/v1/metadata/data/{idProjeto}/{id}

Exemplo de Configuração

Domínio: localhost

Porta: 8051

Id: 17

Url Utilizada: http://localhost:8051/api/framework/v1/metadata/data/PRJ4411904/17

Exemplo de Entrada

Resultado (JSON)
1
2
3
{
    "NOME": "NOVO NOME 17"
}

Exemplo de Resultado Positivo

Resultado (JSON)
1
2
3
4
5
6
{
     "id": 17,
     "ID": 17,
     "NOME": "TESTE NOME 17",
     "IDADE": "27"
}

 

Exemplo de Patch no Postman:

 

 

5 - Delete

Configuração

Máscara de Url: http://{domínio}:{porta}/api/framework/v1/metadata/data/{idProjeto}/{id}

Exemplo de Configuração

Domínio: localhost

Porta: 8051

Id: 17

Url Utilizada: http://localhost:8051/api/framework/v1/metadata/data/PRJ4411904/17

Resultado esperado

Será retornado o respondeCode = 204 e a resposta em branco.


Exemplo de Delete no Postman:

 

Saiba Mais:

Para mais informações sobre a API de Metadados, segue documentação abaixo:
API Metadados

 

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Artigo fechado para comentários.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _