A API alerts tem como objetivo trabalhar com ações relacionadas à configurações de alertas no sistema de gestão Plano de Saúde.
VERBO GET
Através do verbo GET, as APIs podem retornar os dados dos alertas cadastrados (tabela BQ7) e os dados do MV_PLTOP.
VERBO PUT
Através do verbo PUT, as APIs permitem realizar atualizações dos alertas através da rotina (PLSA777) e o conteúdo do MV_PLTOP.
VERBO POST
Através do verbo POST, a API permite realizar disparos de notificações.
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:
1. Configuração do REST do Protheus
Com o INI Protheus configurado, a nomenclatura das API´s ficará no formato: <url + Porta + chave rest definidos no INI Protheus> + /totvsHealthPlans/v1/alerts. Exemplo:
Logo, a minha URL será: http://localhost:8080/rest/totvsHealthPlans/v1/alerts
Seguem os verbos disponíveis na API:
Verbo | Path | QueryParams | PathParam | Descrição |
---|---|---|---|---|
GET | alerts | Opcional: code - Código do alerta (BQ7_CODIGO) | Retorna dados de alertas | |
GET | alerts/settings | Retorna conteúdo do MV_PLTOP | ||
PUT | alerts/{id} | id - BQ7_CODIGO | Atualiza dados de um alerta | |
PUT | alerts/settings | Atualiza conteúdo do MV_PLTOP | ||
POST | alerts | Envia notificações |
GET alerts
http://localhost:8080/rest/totvsHealthPlans/v1/alerts
Exemplo de requisição usando o queryParam code para filtrar o alerta de código 000001.
Caso queira que devolva todos os alertas, é só retirar o queryParam code.
GET alerts/settings
http://localhost:8080/rest/totvsHealthPlans/v1/alerts/settings
PUT alerts - Atualizando um alerta
Exemplo atualizando um alerta que tem o BQ7_CODIGO igual a 000001.
http://localhost:8080/rest/totvsHealthPlans/v1/alerts/000001
Exemplo de body:
{ "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:
POST alerts - Dispara notificações
http://localhost:8080/rest/totvsHealthPlans/v1/alerts
A API alerts envia notificações de acordo com os parametros informados, sendo "code" o código do alerta e "key" a chave da RDA ou Matricula do beneficiario.
Solicitação GET alerts
Atributo | Campo | Tipo |
---|---|---|
code | BQ7_CODIGO | Caracter |
description | BQ7_DESCRI | Caracter |
sendNotification | BQ7_NOTIF | Caracter |
txtNotification | BQ7_TXTNOT | Caracter |
titleNotification | BQ7_TITNOT | Caracter |
typeNotification | BQ7_TIPNOT | Caracter |
sendEmail | BQ7_EMAIL | Caracter |
txtEmail | BQ7_TXTEMA | Caracter |
sendWpp | BQ7_WPP | Caracter |
codeTemplate | BQ7_TEMPLA | Caracter |
useLayout | BQ7_LAYPAD | Caracter |
Solicitação GET alerts/settings
Atributo | Campo | Tipo |
---|---|---|
operatorID | MV_PLTOP | Caracter |
Solicitação GET alerts:
{ "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:
{ "hasNext": false, "items": [ { "operatorID":"5ðŽZèÏÕÁ•°pÔ3‡á‰¨íðÞ,這>ÛfÝ" } ] } |
Solicitação PUT alerts - Alteração de Alertas
Falha - HTTP Status 400
{ "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
{ "code": "0001", "message": "Campo obrigatório não informado", "detailedMessage": "'operatorID'" } |