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":"MATA311", "operation":1, "models":[ { "id":"NNSMASTER", "modeltype":"FIELDS", "fields":[ { "id":"NNS_FILIAL", "order":1, "value":"D MG 01" }, { "id":"NNS_DATA", "order":3, "value":"20240206" }, { "id":"NNS_SOLICT", "order":4, "value":"000703" }, { "id":"NNS_STATUS", "order":5, "value":"1" }, { "id":"NNS_CLASS", "order":7, "value":"1" } ], "models":[ { "id":"NNTDETAIL", "modeltype":"GRID", "struct":[ { "id":"NNT_FILIAL", "order":1 }, { "id":"NNT_FILORI", "order":3 }, { "id":"NNT_PROD", "order":4 }, { "id":"NNT_UM", "order":6 }, { "id":"NNT_LOCAL", "order":7 }, { "id":"NNT_LOCALI", "order":8 }, { "id":"NNT_NSERIE", "order":9 }, { "id":"NNT_LOTECT", "order":10 }, { "id":"NNT_NUMLOT", "order":11 }, { "id":"NNT_DTVALI", "order":12 }, { "id":"NNT_POTENC", "order":13 }, { "id":"NNT_QUANT", "order":14 }, { "id":"NNT_QTSEG", "order":15 }, { "id":"NNT_FILDES", "order":16 }, { "id":"NNT_PROD", "order":17 }, { "id":"NNT_UMD", "order":19 }, { "id":"NNT_LOCLD", "order":20 }, { "id":"NNT_LOCDES", "order":21 }, { "id":"NNT_LOTED", "order":22 }, { "id":"NNT_DTVALD", "order":23 }, { "id":"NNT_TS", "order":24 }, { "id":"NNT_TE", "order":25 }, { "id":"NNT_DOC", "order":26 }, { "id":"NNT_SERIE", "order":28 }, { "id":"NNT_OBS", "order":29 }, { "id":"NNT_SDOC", "order":30 }, { "id":"NNT_NUMPED", "order":31 } ], "items":[ { "id":1, "deleted":0, "fields":[ { "id":"NNT_FILIAL", "value":"D MG 01" }, { "id":"NNT_FILORI", "value":"D MG 01" }, { "id":"NNT_PROD", "value":"ESTSE0000000000000000000123456" }, { "id":"NNT_UM", "value":"UN" }, { "id":"NNT_LOCAL", "value":"01" }, { "id":"NNT_DTVALI", "value":"20240206" }, { "id":"NNT_QUANT", "value":"1" }, { "id":"NNT_FILDES", "value":"D MG 01" }, { "id":"NNT_PROD", "value":"ESTSE0000000000000000000123456" }, { "id":"NNT_UMD", "value":"UN" }, { "id":"NNT_LOCLD", "value":"02" } ] } ] } ] } ] } |
b. PUT - ALTERAÇÃO DA SOLICITAÇÃO
{ "id":"MATA311", "operation":1, "models":[ { "id":"NNSMASTER", "modeltype":"FIELDS", "fields":[ ], "models":[ { "id":"NNTDETAIL", "modeltype":"GRID", "struct":[ { "id":"NNT_QUANT", "order":14 } ], "items":[ { "id":1, "deleted":0, "fields":[ { "id":"NNT_QUANT", "value":"2" } ] } ] } ] } ] } |
c. PUT - EFETIVAÇÃO DA SOLICITAÇÃO
{ "id":"MATA311", "operation":1, "models":[ { "id":"NNSMASTER", "modeltype":"FIELDS", "fields":[ { "id":"NNS_STATUS", "order":5, "value":"2" } ], "models":[ { "id":"NNTDETAIL", "modeltype":"GRID", "struct":[ ], "items":[ ] } ] } ] } |
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