Árvore de páginas

CONTEÚDO

  1. Visão Geral
  2. Serviços Disponíveis
  3. Exemplo de utilização
    1. GET
    2. POST
    3. PUT
    4. DELETE
  4. Assuntos Relacionados


01. VISÃO GERAL

Para clientes que possuem aplicativos customizados e precisam consultar ou manipular as informações na rotina Indicadores de Produtos (MATA019), foram disponibilizados métodos Web Service REST.

02. SERVIÇOS DISPONÍVEIS


GET
Consulta

POST
Inclusão

PUT
Alteração
DELETE
Exclusão
(seleção)(seleção)(seleção)(seleção)

03. EXEMPLO DE UTILIZAÇÃO

Para realizar testes, pode ser utilizado qualquer programa de sua preferência, que teste API Web Service REST.

Como exemplos de programas, podemos citar o SoapUI ou Postman . Ambos são excelentes aplicativos.

Os exemplo a seguir serão demonstrados utilizando programa Postman, executando os métodos GET, POST, PUT e DELETE.

Importante

Por padrão, para realizar consulta, alteração ou deleção de um determinado dado do servidor através dos métodos GET, PUT ou DELETE, é necessário informar a PK (Primary Key), valor da chave primaria do alias do modelo, encodado em base64, caso contrário não informado, serão retornado os registros conforme sua paginação.

Para inclusão ou alteração do registro, pode utilizar a mesma estrutura (body), os campos podem ser adicionados dentro da tag FIELDS.
Maiores detalhes referente a montagem da estrutura, verificar modelo abaixo.

Onde:

id: é id da API

operation: é o código da operação, valor padrão: 1,

pk: é a chave primária do alias do modelo de dados encodado em base64,

models: são os modelos de negócios de cada API, ou seja, modelo de dados do MVC, que é definido por:

id: é o modelo de dados definido no MVC

modeltype: é tipo de modelo de dados, "FIELDS" ou "GRID"

models: é um vetor com os submodelos do modelo de dados do MVC, definido por:

id: é o submodelo de dados definido no MVC

modeltype: é tipo de modelo de dados, "FIELDS" ou "GRID"

items: é um vetor definindo os itens do GRID, definido por:

id: é um sequêncial do vetor dos itens,

deleted: indica se o registro é deletado ou não, valor padrão: 0,

fields: é um vetor com os campos e valores dos itens do GRID, definido por: 

id: é nome do campo

value: é o valor do campo

Modelo Estrutura POST e PUT
{
    "id": "MATA019",
    "operation": 1,
    "pk": "RCBNRyAwMSAwMDAwMDAwMDAwMDAwMDEgICAgICAgICAgICAgICA=",
    "models": [
        {
            "id": "SB1MASTER",
            "modeltype": "FIELDS",
            "models": [
                {
                    "id": "SBZDETAIL",
                    "modeltype": "GRID",
                    "items": [
                        {
                            "id": 1,
                            "deleted": 0,
                            "fields": [
                                {
                                    "id": "BZ_FILIAL",
                                    "value": "D MG 01"
                                },
                                {
                                    "id": "BZ_LOCPAD",
                                    "value": "01"
                                },
                                {
                                    "id": "BZ_QE",
                                    "value": "3"
                                },
                                {
                                    "id": "BZ_EMIN",
                                    "value": "3"
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}

Observação

Caso a tabela SB1 estiver compartilhada, para adicionar mais de um registro na tabela SBZ deverá adicionar os registros na tag ITEMS, conforme exemplo abaixo:

Exemplo estrutura SB1 Compartilhada
{
    "id": "MATA019",
    "operation": 1,
    "pk": "RCBNRyAgICAwMDAwMDAwMDAwMDAwMDEgICAgICAgICAgICAgICA=",
    "models": [
        {
            "id": "SB1MASTER",
            "modeltype": "FIELDS",
            "models": [
                {
                    "id": "SBZDETAIL",
                    "modeltype": "GRID",
                    "items": [
                        {
                            "id": 1,
                            "deleted": 0,
                            "fields": [
                                {
                                    "id": "BZ_FILIAL",
                                    "value": "D MG 01"
                                },
                                {
                                    "id": "BZ_LOCPAD",
                                    "value": "01"
                                },
                                {
                                    "id": "BZ_QE",
                                    "value": "1"
                                },
                                {
                                    "id": "BZ_EMIN",
                                    "value": "1"
                                }
                            ]
                        },
                        {
                            "id": 2,
                            "deleted": 0,
                            "fields": [
                                {
                                    "id": "BZ_FILIAL",
                                    "value": "D MG 02"
                                },
                                {
                                    "id": "BZ_LOCPAD",
                                    "value": "01"
                                },
                                {
                                    "id": "BZ_QE",
                                    "value": "2"
                                },
                                {
                                    "id": "BZ_EMIN",
                                    "value": "2"
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}

Aviso

Em caso de compartilhamento da tabela SB1, se atentar ao envio da chave primária (PK) na path da api.


    1. GET



    2. POST

      Importante

      Não informar a PK (Primary Key) no path.




      Retorno:


    3. PUT



      Retorno:


    4. DELETE

      Importante

      Para realizar a deleção do registro, deve informar somente o path sem a estrutura (body).



04. ASSUNTOS RELACIONADOS

MATA019 - Rotina Automática MVC para Indicadores de Produtos

FWRestModel - API RESTful dos modelos de dados do Protheus

Integração do Easy Import Control via API REST

Catálogo de Produtos via API REST