Histórico da Página
...
Este documento tem como objetivo demonstrar a utilização da API PLAltBenModel, onde será realizada a solicitação de um novo protocolo de alteração de beneficiáriosdo beneficiário.
Os protocolos serão gerados na rotina de Analise de Beneficiários (PLSA977AB) para que a Operadora analise as solicitações.
...
Foi desenvolvido o modelo de dados (ModelDef) para alterar beneficiáriosos dados do beneficiário, e através da classe FWRestModel foi feita a publicação do modelo para que seja consumido via API padrão REST.
...
Algumas regras na API poderão ser adicionadas pelo Layout genérico Web, o mesmo deverá ser adicionada no MV_PLLAYAL.
Por exemplo: MV_PLLAYAL = PPLALTBEN, a api irá utilizar as configurações contidas nessa layout genérico.
Pelo Layout o sistema irá utilizar as seguintes regras no modelo de dados para validar a alteração de beneficiários:
...
Esse configuração de VALIDA é realizada na Configuração Complementar (B2C) do Layout Genérico, informando a variável VALIDA e o valor .T., ou seja, o campo irá passar por analise, caso não seja informado a variável VALIDA, será feita a atualização automática dos dados no cadastro do beneficiário (BA1). Para mais informações sobre o cadastro do Layout Genérico Web, acessem esse link: Layout Genérico Web - PLSCADLAY
...
Abaixo será apresentado um exemplo de cada método da API PLAltBenModel.
GET API
Endpoint
Url | Método | Header Content-Type | Descrição |
|---|---|---|---|
https://<url>:<porta>/rest/fwmodel/PLAltBenModel/[pk] | GET | application/json | Retorna os protocolo da analise de beneficiários, para retornar somente um protocolo deverá ser informado a pk do mesmo. |
Parâmetro <PK> é opcional, sendo usado pra retornar os detalhes de um protocolo.
Parâmetros de Entrada do Método
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| pk | Não | Caracter | Valor da chave primaria do alias do modelo em encodado em base64, esse valor será obtido ao consulta todos os protocolos. |
Exemplo
| Bloco de código | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
...
| Bloco de código | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
{
"errorCode": 404,
"errorMessage": "The server can't find the requested resource."
} |
POST API
Endpoint
Url | Método | Header Content-Type | Descrição |
|---|---|---|---|
https://<url>:<porta>/rest/fwmodel/PLAltBenModel/ | POST | application/json | Realiza a inclusão de um novo protocolo de alteração na analise de beneficiários |
Parâmetros de Entrada do Método
Parâmetro (fields) | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| BBA_MATRIC | Sim | Caracter | Matricula do Beneficiário que será feito atualização |
| dos dados. | |||
| B7L_CAMPO | Sim | Caracter | Campo do sistema para realizar a alteração (Tabela BA1). |
| B7L_VLPOS | Sim | Caracter | Novo Conteúdo do campo. |
| B7L_USR | Sim | Caracter | Usuário que solicitou a alteração. |
| DIRECTORY | Não | Caracter | Diretório http do arquivo para anexar ao protocolo de |
| alteração. | |||
| FILENAME | Não | Caracter | Nome para ao arquivo. |
Os demais parâmetros do json, segue o mesmo padrão para toda requisição de POST.
Exemplo
Inclusão de uma família completa, com titular e dependente:
...
| Bloco de código | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
{
"id": "PLAltBenModel",
"operation": 3,
"models": [
{
"id": "MASTERBBA",
"modeltype": "FIELDS",
"fields": [
{
"id": "BBA_MATRIC",
"order": 1,
"value": "00011008000019017"
}
],
"models": [
{
"id": "DETAILB7L",
"modeltype": "GRID",
"items": [
{
"id": 1,
"deleted": 0,
"fields": [
{
"id": "B7L_CAMPO",
"value": "BA1_EMAIL"
},
{
"id": "B7L_VLPOS",
"value": "[email protected]"
},
{
"id": "B7L_USER",
"value": "API TOTVS"
}
]
}
]
},
{
"id": "DETAILANEXO",
"modeltype": "GRID",
"items": [
{
"id": 1,
"deleted": 0,
"fields": [
{
"id": "DIRECTORY",
"value": "https://centraldeatendimento.totvs.com/hc/article_attachments/360027449931/mceclip2.png"
},
{
"id": "FILENAME",
"value": "Teste_alteracao"
}
]
}
]
}
]
}
]
} |
...
| Bloco de código | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
{
"id": "PLAltBenModel",
"operation": 1,
"pk": "TSBTUCAgICAwMDA3ODQTSBTUCAgICAwMDA3ODY=",
"models": [
{
"id": "MASTERBBA",
"modeltype": "FIELDS",
"fields": [
{
"id": "BBA_FILIAL",
"order": 1,
"value": "M SP"
},
{
"id": "BBA_CODSEQ",
"order": 2,
"value": "000784000786"
},
{
"id": "BBA_TIPSOL",
"order": 3,
"value": "2"
},
{
"id": "BBA_STATUS",
"order": 4,
"value": "7"
},
{
"id": "BBA_CODINT",
"order": 5,
"value": "0001"
},
{
"id": "BBA_CODEMP",
"order": 6,
"value": "1008"
},
{
"id": "BBA_CONEMP",
"order": 7,
"value": "000000000001"
},
{
"id": "BBA_VERCON",
"order": 8,
"value": "001"
},
{
"id": "BBA_SUBCON",
"order": 9,
"value": "000000004"
},
{
"id": "BBA_VERSUB",
"order": 10,
"value": "001"
},
{
"id": "BBA_MATRIC",
"order": 11,
"value": "00011008000019017"
},
{
"id": "BBA_EMPBEN",
"order": 12,
"value": "MARIO IGOR RAFAEL CARDOSO"
},
{
"id": "BBA_CODPRO",
"order": 13,
"value": "0001"
},
{
"id": "BBA_VERSAO",
"order": 14,
"value": "001"
},
{
"id": "BBA_DATSOL",
"order": 15,
"value": "20220607"
},
{
"id": "BBA_HORSOL",
"order": 16,
"value": "1314:5258"
},
{
"id": "BBA_NROPRO",
"order": 18,
"value": "4175052022060700078441750520220607000786"
},
{
"id": "BBA_TIPMAN",
"order": 19,
"value": "2"
},
{
"id": "BBA_CPFTIT",
"order": 20,
"value": "28896585201"
},
{
"id": "BBA_APROVA",
"order": 21,
"value": "T"
}
],
"models": [
{
"id": "DETAILB7L",
"modeltype": "GRID",
"struct": [
{
"id": "B7L_FILIAL",
"order": 1
},
{
"id": "B7L_SEQUEN",
"order": 2
},
{
"id": "B7L_ALIAS",
"order": 3
},
{
"id": "B7L_CAMPO",
"order": 4
},
{
"id": "B7L_ALIACH",
"order": 5
},
{
"id": "B7L_CHAVE",
"order": 6
},
{
"id": "B7L_VLANT",
"order": 7
},
{
"id": "B7L_VLPOS",
"order": 8
},
{
"id": "B7L_GRAVAD",
"order": 9
},
{
"id": "B7L_TIPO",
"order": 10
},
{
"id": "B7L_RECREG",
"order": 11
},
{
"id": "B7L_DATA",
"order": 12
},
{
"id": "B7L_HORA",
"order": 13
},
{
"id": "B7L_USER",
"order": 14
},
{
"id": "B7L_CHVREG",
"order": 15
}
],
"items": [
{
"id": 1,
"deleted": 0,
"fields": [
{
"id": "B7L_FILIAL",
"value": "M SP"
},
{
"id": "B7L_SEQUEN",
"value": "0000071000000712"
},
{
"id": "B7L_ALIAS",
"value": "BA1"
},
{
"id": "B7L_CAMPO",
"value": "BA1_EMAIL"
},
{
"id": "B7L_ALIACH",
"value": "BBA"
},
{
"id": "B7L_CHAVE",
"value": "000784000786"
},
{
"id": "B7L_VLANT",
"value": "VINICIU@TESTEEmail@alterado.COMcom.BRbr"
},
{
"id": "B7L_VLPOS",
"value": "[email protected]"
},
{
"id": "B7L_GRAVAD",
"value": "T"
},
{
"id": "B7L_TIPO",
"value": "2"
},
{
"id": "B7L_RECREG",
"value": "439"
},
{
"id": "B7L_DATA",
"value": "20220607"
},
{
"id": "B7L_HORA",
"value": "1314:5258"
},
{
"id": "B7L_USER",
"value": "VINICIUSAPI TOTVS"
}
]
}
]
},
{
"id": "DETAILANEXO",
"modeltype": "GRID",
"optional": 1,
"struct": [
{
"id": "CODSEQ",
"order": 1
},
{
"id": "DIRECTORY",
"order": 2
},
{
"id": "FILENAME",
"order": 3
}
],
"items": [
{
"id": 1,
"deleted": 0,
"fields": [
{
"id": "CODSEQ",
"value": "000784000786"
},
{
"id": "DIRECTORY",
"value": "VINICIUSTESTEGGGGGTESTE_ALTERACAO.PNG"
},
{
"id": "FILENAME",
"value": "VINICIUStestegggggTeste_alteracao"
}
]
}
]
}
]
}
]
} |
| Bloco de código | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
{
"errorCode": 400,
"errorMessage": "\r\n --- Erro no Modelo ---\r\nId submodelo origem:[DETAILB7L]\r\nId campo origem:[VLDDATA_POST]\r\nId submodelo erro: [DETAILB7L]\r\nId campo erro: []\r\nId erro: [VALID ]\r\nMensagem de erro: [ O campo (B7L_VLPOS) não foi preenchido.[Item: 1]]\r\nMensagem da solução: [\r\n]\r\nValor atribuído: []\r\nValor anterior: []\r\n"
} |
PUT API
Endpoint
Url | Método | Header Content-Type | Descrição |
|---|---|---|---|
https://<url>:<porta>/rest/fwmodel/PLAltBenModel/[pk] | PUT | application/json | Realiza a alteração de um protocolo |
| já existente na analise de beneficiários. (Somente os protocolos que não foram analisados ou finalizados poderão ser excluídos). |
Parâmetro <PK> obtido através dos métodos POST ou GET.
Parâmetros de Entrada do Método
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| pk | Sim | Caracter | Valor da chave primaria do alias do modelo em encodado em base64. |
Exemplo
O JSON de envio do PUT é o mesmo realizado no POST, o que irá mudar é o atributo operation com o valor 4 e o valor dos campos que irá ser alterado.
O retorno da API será o mesmo do POST. Caso realizado a alteração com sucesso, será retornado o protocolo como se tivesse realizado um GET com a pk correspondente ao protocolo. Caso ocorra alguma validação será apresentada a critica.
DELETE API
Endpoint
Url | Método | Header Content-Type | Descrição |
|---|---|---|---|
https://<url>:<porta>/rest/fwmodel/PLAltBenModel/[pk] | DELETE | application/json | Realiza a deleção de um protocolo |
| já existente na analise de beneficiários. (Somente os protocolos que não foram analisados ou finalizados poderão ser excluídos). |
Parâmetro <PK> obtido através dos métodos POST ou GET.
Parâmetros de Entrada do Método
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| pk | Sim | Caracter | Valor da chave primaria do alias do modelo em encodado em base64. |
Exemplo
O JSON de envio do DELETE é o mesmo realizado no POST ou no PUT, o que irá mudar é o atributo operation com o valor 5.
...