Árvore de páginas

Versões comparadas

Chave

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

...

VERBO GET

Através do verbo GET, a API pode as APIs podem retornar os dados dos alertas cadastrados (tabela BQ7) e os dados do MV_PLTOP


VERBO PUT

Através do verbo PUT, a API permite as APIs permitem realizar atualizações dos alertas através da rotina (PLSA777) e o conteúdo do MV_PLTOP.


02. CONFIGURAÇÕES INI

Para iniciar a instalação do processo, devemos configurar seu INI Protheus com a funcionalidade REST para habilitar o acesso as API´s. Documentos auxiliares:

...

Seguem os verbos disponíveis na API:

VerboPathQueryParamsPathParamDescrição
GETalerts

Opcional:

code - Código do alerta (BQ7_CODIGO)


Retorna dados de alertas
GETalerts/settings



Retorna conteúdo do MV_PLTOP
PUTalerts/{id}
id - BQ7_CODIGOAtualiza dados de um alerta
PUTalerts/settings

Atualiza conteúdo do MV_PLTOP


04. EXEMPLO DE CHAMADA DA API


Chamada GET alerts

        http://localhost:8080/rest/totvsHealthPlans/v1/alerts

...

        Caso queira que devolva todos os alertas, é só retirar o queryParam code. 


GET alerts/settings

http://localhost:8080/rest/totvsHealthPlans/v1/alerts/settings


Image Added


PUT alerts Chamada PUT - Atualizando um alerta

Exemplo atualizando um alerta que tem o BQ7_CODIGO igual a 000001.

...

Bloco de código
titleJSON Solicitação PUT
collapsetrue
{
            "code": "000001",
            "description": "Alerta após resposta na mensageria(Auditoria)",
            "sendNotification": "1",
            "txtNotification": "A guia [%B53->B53_NUMGUI%] recebeu uma resposta",
            "titleNotification": "Você tem uma nova mensagem",
            "typeNotification": "1",
            "sendEmail": "1",
            "txtEmail": "<h1 class=\"title\">\r\n                                       Atualização na guia em auditoria\r\n                                    </h1>\r\n                                    <p> Olá, <strong>  [%BAU->BAU_NOME%]!</strong> </p>\r\n                                    <p> Sua guia [%B53->B53_NUMGUI%] recebeu uma nova mensagem! </p>\r\n<div style=\"border: 1px solid black; padding: 10px;\">\r\n        <p>[%cParam%]</p>\r\n    </div>",
            "sendWpp": "0",
            "codeTemplate": "",
            "useLayout": "1"
}


PUT alerts/settings - Atualizando MV_PLTOP

http://localhost:8080/rest/totvsHealthPlans/v1/alerts/settings

A API alerts/settings criptografa o conteúdo informado no operatorID antes de fazer a gravação no banco de dados. Exemplo de body da requisição:

Image Added

05. ATRIBUTOS DE RESPOSTA


Solicitação GET alerts

AtributoCampoTipo
code

BQ7_CODIGO

Caracter
descriptionBQ7_DESCRICaracter
sendNotificationBQ7_NOTIFCaracter
txtNotificationBQ7_TXTNOTCaracter
titleNotificationBQ7_TITNOTCaracter
typeNotificationBQ7_TIPNOTCaracter
sendEmailBQ7_EMAILCaracter
txtEmailBQ7_TXTEMACaracter
sendWppBQ7_WPPCaracter
codeTemplateBQ7_TEMPLACaracter
useLayoutBQ7_LAYPADCaracter


Solicitação GET alerts/settings

AtributoCampoTipo
operatorID

MV_PLTOP

Caracter

06. EXEMPLOS DE JSON DE RESPOSTA


Solicitação GET alerts:

Bloco de código
titleSucesso 202 - Alertas encontrados
collapsetrue
{
    "hasNext": false,
    "items": [
        {
            "code": "000001",
            "description": "Alerta após resposta na mensageria(Auditoria)",
            "sendNotification": "1",
            "txtNotification": "A guia [%B53->B53_NUMGUI%] recebeu uma resposta",
            "titleNotification": "Você tem uma nova mensagem",
            "typeNotification": "1",
            "sendEmail": "1",
            "txtEmail": "<h1 class=\"title\">\r\n                                       Atualização na guia em auditoria\r\n                                    </h1>\r\n                                    <p> Olá, <strong>  [%BAU->BAU_NOME%]!</strong> </p>\r\n                                    <p> Sua guia [%B53->B53_NUMGUI%] recebeu uma nova mensagem! </p>\r\n<div style=\"border: 1px solid black; padding: 10px;\">\r\n        <p>[%cParam%]</p>\r\n    </div>",
            "sendWpp": "0",
            "codeTemplate": "",
            "useLayout": "1"
        },
        {
            "code": "000002",
            "description": "Alerta após resposta na mensageria(Faturamento)",
            "sendNotification": "1",
            "txtNotification": "O protocolo [%BCI->BCI_CODPEG%] recebeu uma resposta.",
            "titleNotification": "Você tem uma nova mensagem",
            "typeNotification": "1",
            "sendEmail": "1",
            "txtEmail": "<h1 class=\"title\">\r\n                                       Atualização no protocolo de faturamento\r\n                                    </h1>\r\n                                    <p> Olá, <strong>  [%BCI->BCI_NOMRDA%]!</strong> </p>\r\n                                    <p> Seu protocolo [%BCI->BCI_CODPEG%] recebeu uma nova mensagem! </p>\r\n<div style=\"border: 1px solid black; padding: 10px;\">\r\n        <p>[%cParam%]</p>\r\n    </div>",
            "sendWpp": "0",
            "codeTemplate": "",
            "useLayout": "1"
        }
    ]
}


Solicitação GET alerts/settings:

Bloco de código
titleSucesso 200 - Alertas encontrados
collapsetrue
{
    "hasNext": false,
    "items": [
        {
            "operatorID":"5ðŽZ­èÏÕÁ•°pÔ3‡á‰¨íðÞ,這>ÛfÝ"
        }
    ]
}


Solicitação PUT alerts - Alteração de Alertas

Falha - HTTP Status 400

Bloco de código
titleFalha - Alerta não encontrado
collapsetrue
{
    "code": "0002",
    "message": "Erro ao atualizar registro!",
    "detailedMessage": "Não foi possível fazer a atualização, tente novamente mais tarde"
}


Solicitação PUT alerts/settings - Alteração MV_PLTOP

Falha - HTTP Status 400

Bloco de código
titleFalha - Campo obrigatório não informado
collapsetrue
{
    "code": "0001",
    "message": "Campo obrigatório não informado",
    "detailedMessage": "'operatorID'"
}