Árvore de páginas

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

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.

a. POST

Importante

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

Envio - Modelo Estrutura POST
{
   "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

Envio - Modelo Estrutura PUT para alteraçã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

Envio - Modelo Estrutura PUT para 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

Retorno - Modelo Estrutura 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

Importante

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