CONTEÚDO

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

01. VISÃO GERAL

Para clientes que possuem aplicativos customizados e precisam consultar ou manipular as informações na rotina Solicitação de Transferência (MATA311), 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.

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, nesse caso FIELDS

                     fields: é um vetor definindo os campos do objeto:

id: nome do campo

order: order do campo

value: valor do campo

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

id: modelo de dados definido no MVC

modeltype: é tipo de modelo de dados, nesse caso GRID

struct: campos do grid

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

order: ordem do campo no grid

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

id: número da linha no GRID

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

fields: campos do GRID

id: nome do campo

value: valor do campo

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.

a. POST

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

{
    "id": "MATA015",
    "operation": 4,
    "pk": "RCBNRyAwMSBEIE1HIDAxIDAxRVNUMDAxICAgICAgICAg",
    "models": [
        {
            "id": "MdFieldSBE",
            "modeltype": "FIELDS",
            "fields": [
                {
                    "id": "BE_FILIAL",
                    "order": 1,
                    "value": "D MG 01"
                },
                {
                    "id": "BE_LOCAL",
                    "order": 2,
                    "value": "01"
                },
                {
                    "id": "BE_LOCALIZ",
                    "order": 3,
                    "value": "EST001"
                },
                {
                    "id": "BE_DESCRIC",
                    "order": 4,
                    "value": "EST001 REST"
                },
                {
                    "id": "BE_PRIOR",
                    "order": 6,
                    "value": "ZZZ"
                },
                {
                    "id": "BE_STATUS",
                    "order": 12,
                    "value": "2"
                },
                {
                    "id": "BE_DATGER",
                    "order": 19,
                    "value": "20181212"
                },
                {
                    "id": "BE_NRUNIT",
                    "order": 28,
                    "value": "1"
                }
            ]
        }
    ]
}


b. PUT - ALTERAÇÃO DA SOLICITAÇÃO

{
    "id": "MATA015",
    "operation": 3,
    "models": [
        {
            "id": "MdFieldSBE",
            "modeltype": "FIELDS",
            "fields": [
                {
                    "id": "BE_FILIAL",
                    "order": 1,
                    "value": "D MG 01"
                },
                {
                    "id": "BE_LOCAL",
                    "order": 2,
                    "value": "01"
                },
                {
                    "id": "BE_LOCALIZ",
                    "order": 3,
                    "value": "TESTEREST01"
                },
                {
                    "id": "BE_DESCRIC",
                    "order": 4,
                    "value": "END REST"
                },
                {
                    "id": "BE_PRIOR",
                    "order": 6,
                    "value": "ZZZ"
                },
                {
                    "id": "BE_STATUS",
                    "order": 12,
                    "value": "1"
                },
                {
                    "id": "BE_DATGER",
                    "order": 19,
                    "value": "20190610"
                },
                {
                    "id": "BE_NRUNIT",
                    "order": 28,
                    "value": "1"
                }
            ]
        }
    ]
}


c. PUT - EFETIVAÇÃO DA SOLICITAÇÃO

{
    "id": "MATA015",
    "operation": 3,
    "models": [
        {
            "id": "MdFieldSBE",
            "modeltype": "FIELDS",
            "fields": [
                {
                    "id": "BE_FILIAL",
                    "order": 1,
                    "value": "D MG 01"
                },
                {
                    "id": "BE_LOCAL",
                    "order": 2,
                    "value": "01"
                },
                {
                    "id": "BE_LOCALIZ",
                    "order": 3,
                    "value": "TESTEREST01"
                },
                {
                    "id": "BE_DESCRIC",
                    "order": 4,
                    "value": "END REST"
                },
                {
                    "id": "BE_PRIOR",
                    "order": 6,
                    "value": "ZZZ"
                },
                {
                    "id": "BE_STATUS",
                    "order": 12,
                    "value": "1"
                },
                {
                    "id": "BE_DATGER",
                    "order": 19,
                    "value": "20190610"
                },
                {
                    "id": "BE_NRUNIT",
                    "order": 28,
                    "value": "1"
                }
            ]
        }
    ]
}


d. GET

{
    "id": "MATA015",
    "operation": 1,
    "pk": "RCBNRyAwMSBEIE1HIDAxIDAxRVNUMDAxICAgICAgICAg",
    "models": [
        {
            "id": "MdFieldSBE",
            "modeltype": "FIELDS",
            "fields": [
                {
                    "id": "BE_FILIAL",
                    "order": 1,
                    "value": "D MG 01"
                },
                {
                    "id": "BE_LOCAL",
                    "order": 2,
                    "value": "01"
                },
                {
                    "id": "BE_LOCALIZ",
                    "order": 3,
                    "value": "EST001"
                },
                {
                    "id": "BE_DESCRIC",
                    "order": 4,
                    "value": "EST001"
                },
                {
                    "id": "BE_PRIOR",
                    "order": 6,
                    "value": "ZZZ"
                },
                {
                    "id": "BE_STATUS",
                    "order": 12,
                    "value": "2"
                },
                {
                    "id": "BE_DATGER",
                    "order": 19,
                    "value": "20181212"
                },
                {
                    "id": "BE_NRUNIT",
                    "order": 28,
                    "value": "1"
                }
            ]
        }
    ]
}


e. DELETE

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

04. ASSUNTOS RELACIONADOS

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