Histórico da Página
...
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.
VERBO POST
Através do verbo POST, a API permite realizar disparos de notificações.
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:
| 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 |
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
PUT alerts Chamada PUT - Atualizando um alerta
Exemplo atualizando um alerta que tem o BQ7_CODIGO igual a 000001.
...
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
{
"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.
05. ATRIBUTOS DE RESPOSTA
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 |
06. EXEMPLOS DE JSON DE RESPOSTA
Solicitação GET alerts:
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
{
"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 | ||||
|---|---|---|---|---|
| ||||
{
"hasNext": false,
"items": [
{
"operatorID":"5ðŽZèÏÕÁ•°pÔ3‡á‰¨íðÞ,這>ÛfÝ"
}
]
} |
Solicitação PUT alerts - Bloqueio Alteração de ProfissionalAlertas
Falha - HTTP Status 400
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
{
"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 | ||||
|---|---|---|---|---|
| ||||
{
"code": "0001",
"message": "Campo obrigatório não informado",
"detailedMessage": "'operatorID'"
} |



