Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

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]

GETapplication/jsonRetorna 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

pkNãoCaracterValor 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
languagec#
themeMidnight
titleRequest body
linenumberstrue
collapsetrue

...

Bloco de código
languagec#
themeMidnight
titleRetorno API - Falha
linenumberstrue
collapsetrue
{
    "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/

POSTapplication/jsonRealiza 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_MATRICSimCaracterMatricula do Beneficiário que será feito atualização
de
dos dados.

B7L_CAMPOSimCaracterCampo do sistema para realizar a alteração (Tabela BA1).
B7L_VLPOSSimCaracterNovo Conteúdo do campo.
B7L_USRSimCaracterUsuário que solicitou a alteração.

DIRECTORYNãoCaracterDiretório http do arquivo para anexar ao protocolo de
inclusão
alteração.
FILENAMENãoCaracterNome 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
languagec#
themeMidnight
titleRequest body
linenumberstrue
collapsetrue
{
    "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
languagec#
themeMidnight
titleAPI Retorno - Sucesso
linenumberstrue
collapsetrue
{
    "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
languagec#
themeMidnight
titleRetorno API - Falha
linenumberstrue
collapsetrue
{
    "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]

PUTapplication/jsonRealiza a alteração de um protocolo
de alteração
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

pkSimCaracterValor 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 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]

DELETEapplication/jsonRealiza a deleção de um protocolo
de alteração
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

pkSimCaracterValor 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.

...