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.
GET Consulta | POST | PUT Alteração | DELETE Exclusã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). |
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