Árvore de páginas

Versões comparadas

Chave

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

...

  1. Visão Geral
  2. Configurações INI
  3. Configurações Remote
    1. Cadastro de Usuários API
    2. Cadastro de Funcionalidades
    3. Cadastro de Operadoras
    4. Cadastro de Bloqueios BG1 e BG3
    5. Cadastro de Layouts do Cartão
    6. Cadastro Formas de Pagamento
  4. Tela XXX
    1. Principais Campos e Parâmetros
  5. API Primeiro Acesso - novoUsuario
  6. API Login Beneficiário - login
  7. API Reiniciar Senha - reiniciarSenha
  8. API Trocar Senha - trocarSenha
  9. API Extrato de Utilização - extrato
  10. API Lista Débitos - listaDebitos
  11. API Detalhe Débito - detalheDebito
  12. API Boleto PDF - boletoPdf
  13. API Extrato Fatura PDF - extratoFaturaPdf
  14. Menus
  15. Tabelas UtilizadasTabelas utilizadas


01. VISÃO GERAL

A integração entre Microsiga Protheus e o App Mobile Saúde tem como objetivo, oferecer aos beneficiários da Operadora algumas funcionalidades de consulta de informações através de seu celular utilizando o App Mobile Saúde. As funcionalidades são:

...

  • Consulta do extrato de utilização.Consulta do extrato de /co-participação.


Operações Financeiras:

  • Consulta aos débitos (títulos financeiros).
  • Detalhes do débito.
  • Baixar o PDF da extrato da fatura.
  • Baixar o PDF com o boleto.Consultar a composição de cobrança de uma fatura.


A comunicação entre os sistemas é realizada através de API´s. A documentação técnica dos JSON´s de entrada/saída pode ser encontrada neste link: https://mobilesaudejira.atlassian.net/wiki/spaces/PUB/pages/99483654/Documenta+o+de+WebServices+-+integra+es+do+Mobile+Plataforma Definições APIs Mobile Saúde

02. CONFIGURAÇÕ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:

...

DescriçãoNome da API
API de Segurança para criação de Tokens de Acessotoken
Primeiro Acesso do Beneficiário (criação de login/senha)createUsernovoUsuario
Login beneficiárioauthlogin
Lembrar Reiniciar SenharememberPassreiniciarSenha
Trocar SenhachangePasstrocarSenha
Lista Débitos (títulos SE1 do beneficiário)listaDebitos
Detalhe Débito (informações de um SE1 detalhado)detalheDebito
Download PDF BoletoboletoPDFboletoPdf
Download PDF Extrato FaturaextratoFaturaPDFComposição Cobrança (detalhamento BM1 de um título)composicaoCobrancaextratoFaturaPdf
Extrato de UtilizaçãoexUtilizacao
Extrato de Co-participaçãoexCoparticipacao
extrato

composicaoCobranca


Importante(estrela) Importante: esta URL com os acessos deve ser informada aos administradores da Mobile Saúde. 


03. CONFIGURAÇÕES REMOTE


a) Cadastro de Usuários API

...

Acesse Plano de Saúde / Bloqueio / Bloqueios de Beneficiários (PLSA310). Selecione um bloqueio e clique em Alterar e preencha o campo Ação Login (BG3_LOGIN). Este campo define se os beneficiários bloqueados por esse motivo de bloqueio terão acesso as funcionalidades através do APP.

(estrela) Importante: é necessário parametrizar todos os bloqueios.

...

Acesse Plano de Saúde / Contrato Família / Formas de Pagamento (PLSA005). Selecione o registro desejado e clique em Alterar. Informe o dado desejado no campo Cod Mobile (BQL_CODMOB).

(estrela) Importante: é necessário parametrizar todas as Formas de Pagamento.

1212121

...


Logo abaixo, vamos realizar um descritivo das APIs disponibilizadas

...

Importante: todas as APIs são comunicadas com o verbo Post.


04. API PRIMEIRO ACESSO - novoUsuario


URLhttps://<url>:<porta>/rest/mobileSaude/v1/novoUsuario

Esta API é responsável pelo cadastro dos beneficiários no acesso a API e Portal do Beneficiário (ambos usarão o mesmo usuário/senha). Os acessos são cadastrados na tabela BSW.

O login é enviado de acordo com a parametrização realizada no campo Mobile Login (BA0_MSTLOG), sendo o CPF ou Matrícula do beneficiário. Para o cadastro correto do acesso ao Portal do Beneficiário, é necessário preencher também os campos Acess Portal (BA0_MSACES) e Perf.Acesso (BA0_MSPERF).

Bloco de código
titleExemplo do json de cadastro com login pelo CPF
linenumberstrue
collapsetrue
{
  "login": "95191329023",
  "senha": "12345678",
  "dataNascimento" : "1958-11-05",
  "email" : "[email protected]"
}
Bloco de código
titleExemplo do json de retorno com os dados cadastrais
linenumberstrue
collapsetrue
{
    "status": true,
    "contratos": [
        {
            "codigoContrato": "00011060000001",
            "tipo": "beneficiario",
            "permissoes": [
                {
                    "mensagemBloqueio": null,
                    "ocultar": false,
                    "funcionalidade": "11",
                    "acesso": true
                },
                {
                    "mensagemBloqueio": null,
                    "ocultar": false,
                    "funcionalidade": "13",
                    "acesso": true
                },
                {
                    "mensagemBloqueio": null,
                    "ocultar": false,
                    "funcionalidade": "14",
                    "acesso": true
                }
            ],
            "nome": "GERALDO SOARES"
        }
    ],
    "usuarioLogado": {
        "localizadorMensageria": "00000094",
        "login": "95191329023",
        "integracao": {
            "tipoUsuario": "T",
            "chaveBeneficiarioTipo": "CPF",
            "matriculaVida": "00000094",
            "multiContract": false,
            "chaveBeneficiario": "95191329023"
        }
    },
    "beneficiarios": [
        {
            "matriculaFuncionario": "",
            "carencias": [],
            "bairro": "BELA VISTA",
            "convenioParticipativo": false,
            "convenioAbrangencia": "",
            "emailTitular": "",
            "convenioAns": "",
            "numeroCns": "244113617410018",
            "chaveEmpresaContratante": "1",
            "dataNascimento": "1958-11-05",
            "convenioPadraoConforto": "",
            "matricula": "00011060000001019",
            "nomeTitular": "GERALDO SOARES",
            "grauParentescoId": "01",
            "convenioId": "7878",
            "cidade": "SAO PAULO",
            "convenioRegulamentacao": "ADAPTADO",
            "estado": "SP",
            "convenioTipoContrato": "INDIVIDUAL/FAMILIAR",
            "cpfTitular": "95191329023",
            "dataFinalCpt": "-  -",
            "nome": "GERALDO SOARES",
            "tipoUsuario": "T",
            "cep": "01311200",
            "grauParentescoDescricao": "BENEFICIARIO TITULAR",
            "cartaoValidade": "-  -",
            "contratoEmpresaContratante": "1",
            "convenioAbrangenciaVerso": "",
            "modeloCartao": "",
            "matriculaTitular": "00011060000001019",
            "dataContratacao": "2003-07-20",
            "endereco": "AVENIDA PAULISTA - DE 1047 A 186-LADO IM",
            "convenioAcomodacao": "",
            "convenioTipoPessoa": "PESSOA JURIDICA",
            "telefoneTitular": "",
            "celularTitular": null,
            "celular": null,
            "cpf": "95191329023",
            "telefone": "",
            "integracao": {
                "tipoUsuario": "T",
                "chaveBeneficiarioTipo": "CPF",
                "matriculaVida": "00000094",
                "multiContract": false,
                "chaveBeneficiario": "95191329023"
            },
            "nomeEmpresaContratante": "1",
            "sexo": "M",
            "convenioSegmentacao": "",
            "matriculaAntiga": "",
            "convenioModalidadeCobranca": "Pre-Pagamento",
            "cartaoVia": 0,
            "codigoContrato": "00011060000001",
            "dataInicioCobertura": "2003-07-20",
            "email": "",
            "convenioDescricao": "CONSUMIDORES COM MAIS DE 60"
        }
    ]
}


Pontos de Entrada:

Caso deseje customizar a gravação dos registros relacionados a senha (tabelas BSW e B49), foi disponibilizado o Ponto de Entrada PMOBBE01. Ele é acionado após a gravação do novo usuário.

Ponto de Entrada: PMOBBE01
Fonte: PMobAutCon
Parâmetros
VariávelTipoObrigatórioDescrição
cCodigoCaracterSimCódigo do registro BSW criado
Retorno
VariávelTipoObrigatórioDescrição
Não há retorno



05. API LOGIN BENEFICIÁRIO - login


URLhttps://<url>:<porta>/rest/mobileSaude/v1/login

Esta API realiza o login de um beneficiário que já tem o cadastro no APP. A API retorna os dados cadastrais do beneficiário:

Bloco de código
titleExemplo do json de login
linenumberstrue
collapsetrue
{
	"login" : "95191329023",
	"senha" : "25d55ad283aa400af464c76d713c07ad"
}
Bloco de código
titleExemplo do json de retorno com os dados cadastrais
linenumberstrue
collapsetrue
{
    "status": true,
    "contratos": [
        {
            "codigoContrato": "00011060000001",
            "tipo": "beneficiario",
            "permissoes": [
                {
                    "mensagemBloqueio": null,
                    "ocultar": false,
                    "funcionalidade": "11",
                    "acesso": true
                },
                {
                    "mensagemBloqueio": null,
                    "ocultar": false,
                    "funcionalidade": "13",
                    "acesso": true
                },
                {
                    "mensagemBloqueio": null,
                    "ocultar": false,
                    "funcionalidade": "14",
                    "acesso": true
                }
            ],
            "nome": "GERALDO SOARES"
        }redeAtendimento
    ],
    "usuarioLogado": {
        "localizadorMensageria": "00000094",
        "login": "95191329023",
        "integracao": {
            "tipoUsuario": "T",
            "chaveBeneficiarioTipo": "CPF",
            "matriculaVida": "00000094",
            "multiContract": false,
            "chaveBeneficiario": "95191329023"
        }
    },
    "beneficiarios": [
        {
            "matriculaFuncionario": "",
            "carencias": [],
            "bairro": "BELA VISTA",
            "convenioParticipativo": false,
            "convenioAbrangencia": "",
            "emailTitular": "",
            "convenioAns": "",
            "numeroCns": "244113617410018",
            "chaveEmpresaContratante": "1",
            "dataNascimento": "1958-11-05",
            "convenioPadraoConforto": "",
            "matricula": "00011060000001019",
            "nomeTitular": "GERALDO SOARES",
            "grauParentescoId": "01",
            "convenioId": "7878",
            "cidade": "SAO PAULO",
            "convenioRegulamentacao": "ADAPTADO",
            "estado": "SP",
            "convenioTipoContrato": "INDIVIDUAL/FAMILIAR",
            "cpfTitular": "95191329023",
            "dataFinalCpt": "-  -",
            "nome": "GERALDO SOARES",
            "tipoUsuario": "T",
            "cep": "01311200",
            "grauParentescoDescricao": "BENEFICIARIO TITULAR",
            "cartaoValidade": "-  -",
            "contratoEmpresaContratante": "1",
            "convenioAbrangenciaVerso": "",
            "modeloCartao": "",
            "matriculaTitular": "00011060000001019",
            "dataContratacao": "2003-07-20",
            "endereco": "AVENIDA PAULISTA - DE 1047 A 186-LADO IM",
            "convenioAcomodacao": "",
            "convenioTipoPessoa": "PESSOA JURIDICA",
            "telefoneTitular": "",
            "celularTitular": null,
            "celular": null,
            "cpf": "95191329023",
            "telefone": "",
            "integracao": {
                "tipoUsuario": "T",
                "chaveBeneficiarioTipo": "CPF",
                "matriculaVida": "00000094",
                "multiContract": false,
                "chaveBeneficiario": "95191329023"
            },
            "nomeEmpresaContratante": "1",
            "sexo": "M",
            "convenioSegmentacao": "",
            "matriculaAntiga": "",
            "convenioModalidadeCobranca": "Pre-Pagamento",
            "cartaoVia": 0,
            "codigoContrato": "00011060000001",
            "dataInicioCobertura": "2003-07-20",
            "email": "",
            "convenioDescricao": "CONSUMIDORES COM MAIS DE 60"
        }
    ]
}

Ao acessar as APIs createUser e auth, beneficiários titulares terão acesso a todos beneficiários da família, os beneficiários cônjuge terão acesso a todos dependentes e o dependentes, acesso somente ao seu cadastro.



PONTOS DE ENTRADA:


O Ponto de Entrada PMOBBE02 permite adicionar chaves customizadas pelo cliente. Estas chaves serão adicionadas a chave custom do JSON de autenticação.

O retorno do Ponto de Entrada deve ser um objeto do tipo JSON com os atributos e valores preenchidos:

Bloco de código
titleExemplo de json para o atributo custom
linenumberstrue
collapsetrue
{
	"chave": "minha_chave_customizada",
	"valor": "Meu valor customizado"
}
Ponto de Entrada: PMOBBE02
Fonte: PMobBenef
Parâmetros
VariávelTipoObrigatórioDescrição
oBeneficiaryJSON ObjectSimObjeto json com o retorno da autenticação montado pelo sistema.
Retorno
VariávelTipoObrigatórioDescrição
oPMobBe02JSON ObjectNãoObjeto json os atributos/valores que serão adicionados na chave custom.



O Ponto de Entrada PMOBBE03 permite manipular o atributo modeloCartao do JSON de autenticação. A chamada do Ponto de Entrada é realizada após a verificação padrão do sistema:

Ponto de Entrada: PMOBBE03
Fonte: PMobBenef
Parâmetros
VariávelTipoObrigatórioDescrição
cLayCarVirCaracterNãoModelo do cartão encontrado pelo sistema.
cMatricCaracterNãoMatrícula do beneficiário
cCodPlaCaracterNãoCódigo do plano
cVersaoCaracterNãoVersão do plano
cTipUsuCaracterNãoTipo do usuário
cGraupaCaracterNãoGrau de parentesco
Retorno
VariávelTipoObrigatórioDescrição
cLayCarVirCaracterSimValor que será utilizado no atributo modeloCartao



O ponto de entrada PMOBBE04 permite alterar todo o retorno do JSON da API auth:

Ponto de Entrada: PMOBBE04
Fonte: PMobBenef
Parâmetros
VariávelTipoObrigatórioDescrição
oBeneficiaryJSON ObjectSimObjeto JSON montado pelo sistema
Retorno
VariávelTipoObrigatórioDescrição
oBeneficiaryJSON ObjectSimObjeto JSON que será utilizado no retorno da API auth.



O ponto de entrada PMOBBE05 permite alterar todo o retorno do JSON da API auth:

Ponto de Entrada: PMOBBE05
Fonte: PMobBenef
Parâmetros
VariávelTipoObrigatórioDescrição
cMatricCaracterSimMatrícula do beneficiário
cCodPlaCaracterSimCódigo do plano
cVerPlaCaracterSimVersão do plano
dDatCarDataSimData do cálculo da carência
Retorno
VariávelTipoObrigatórioDescrição
aRetArraySim

Array contendo os grupos de carência no formato:

aRet[1,1] - Código do grupo (Caracter)

aRet[1,2] - Descrição do grupo (Caracter)

aRet[1,3] - Data da carência (Data)

Exemplo preenchimento:
aadd(aRet,{BAY->BAY_CODGRU,;
                  BAT->BAT_DESCRI,;
                  dDataCar+nMaior })



O ponto de entrada PMOBBE06 permite manipular o atributo de permissoes:

Ponto de Entrada: PMOBBE06
Fonte: PMobBenef
Parâmetros
VariávelTipoObrigatórioDescrição

cJsonPerm

CaracterSimJSON do atributo permissoes já processado
cContractCaracterNãoCódigo do contrato
cTipUsrCaracterNãoTipo do usuário
cNivelCobCaracterNãoNível de cobrança
cNomeEmpCaracterNãoNome da empresa
cGrauPaCaracterNãoGrau de parentesco
dDatBloCaracterNãoData de bloqueio
cMotBloData NãoMotivo de bloqueio
Retorno
VariávelTipoObrigatórioDescrição
aRetArraySim

Array contendo as funcionalidades no seguinte formato:

aRet[1,1] - Funcionalidade (Caracter)

aRet[1,2] - Acesso (Boolean)

aRet[1,3] - Mensagem bloqueio (Data)

aRet[1,4] - Ocultar (Boolean)


Exemplo de preenchimento:

aadd(aRet,{'Funcionalidade A',.T.,'',.F.})

aadd(aRet,{'Funcionalidade B',.F.,'MSG Bloqueio',.F.})



O ponto de entrada PMOBBE07 permite alterar o conteúdo do atributo redeAtendimento:

Ponto de Entrada: PMOBBE07
Fonte: PMobBenef
Parâmetros
VariávelTipoObrigatórioDescrição
oBeneficiaryJSON ObjectSimObjeto JSON montado pelo sistema
Retorno
VariávelTipoObrigatórioDescrição
cRedeAtendCaracterNãoMensagem que será apresentada no atributo redeAtendimento.



06. API REINICIAR SENHA - reiniciarSenha


URLhttps://<url>:<porta>/rest/mobileSaude/v1/reiniciarSenha

Esta API é responsável para reiniciar a senha do beneficiário, com o mesmo já informando a nova senha. O sistema só realizará a troca de senha se os atributos login, dataNascimento e email informados corretamente.

Bloco de código
titleExemplo do json solicitando lembrar a senha
linenumberstrue
collapsetrue
{
  "login": "63369527030",
  "dataNascimento": "1985-06-17",
  "senha": "12345678",
  "email": "[email protected]"
}
Bloco de código
titleExemplo do json com a nova senha
linenumberstrue
collapsetrue
{
    "status": true
}


07. API TROCAR SENHA - trocarSenha


URLhttps://<url>:<porta>/rest/mobileSaude/v1/trocarSenha

Esta API é responsável pela troca de senha dos beneficiários que utilizam o aplicativo.

Bloco de código
titleExemplo do json solicitando a troca de senha
linenumberstrue
collapsetrue
{
  "login": "95191329023",
  "senhaAtual": "c0086a2d59642def31185968e7198850",
  "novaSenha": "teste123"
}
Bloco de código
titleExemplo do json confirmando a troca de senha
linenumberstrue
collapsetrue
{
    "status": true
}


08. API EXTRATO DE UTILIZAÇÃO - extrato


URLhttps://<url>:<porta>/rest/mobileSaude/v1/extrato

Esta API retorna o extrato de utilização de um beneficiário em um Ano/Mês. Ela retorna a utilização com/sem a co-participação.

Importante: um registro que tem co-participação é apresentado duas vezes no Json de resposta: uma com o valor zerado e outra com o valor apresentado, de acordo como esperado pelo aplicativo da Mobile Saúde.

Bloco de código
titleExemplo do json de solicitação do extrato de utilização
linenumberstrue
collapsetrue
{
	"chaveBeneficiarioTipo": "CPF",
	"matriculaVida": "00000004",
	"multiContract": true,
	"chaveBeneficiario": "44046668458",
	"tipoUsuario" : "T",
	"idPeriodo" : "202006",
	"ano" : "2020",
	"mes" : "06"
}
Bloco de código
titleExemplo do json de retorno com o extrato de utilização
linenumberstrue
collapsetrue
{
    "status": true,
    "extrato": [
        {
			"valorCoparticipacao": "0.00",
            "valorServico": "0.69",
            "nomeExecutante": "HOSPITAL BOM CLIMA",
            "quantidade": "1.00",
            "codigoContrato": "00010004000002",
            "nomeBeneficiario": "AMANDA BARBARA",
            "codigoEvento": "40303136",
            "descricaoEvento": "SANGUE OCULTO, PESQUISA NAS FEZES",
            "dataAtendimento": "2020-06-08",
            "codigoExecutante": "000004",
            "cpfCnpjExecutante": 34585221000190,
            "codigoTipoServico": "000002",
            "descricaoTipoServico": "EXAMES E TERAPIAS",
            "matriculaBeneficiario": "00010004000002000"
        },
	    {
            "valorCoparticipacao": "0.21",
            "valorServico": "0.69",
            "nomeExecutante": "HOSPITAL BOM CLIMA",
            "quantidade": "1.00",
            "codigoContrato": "00010004000002",
            "nomeBeneficiario": "AMANDA BARBARA",
            "codigoEvento": "40303136",
            "descricaoEvento": "SANGUE OCULTO, PESQUISA NAS FEZES",
            "dataAtendimento": "2020-06-08",
            "codigoExecutante": "000004",
            "cpfCnpjExecutante": 34585221000190,
            "codigoTipoServico": "000002",
            "descricaoTipoServico": "EXAMES E TERAPIAS",
            "matriculaBeneficiario": "00010004000002000"
        },
        {
			"valorCoparticipacao": "0.00",
            "valorServico": "77.12",
            "nomeExecutante": "HOSPITAL BOM CLIMA",
            "quantidade": "1.00",
            "codigoContrato": "00010004000002",
            "nomeBeneficiario": "AMANDA BARBARA",
            "codigoEvento": "10101012",
            "descricaoEvento": "CONSULTA EM CONSULTORIO",
            "dataAtendimento": "2020-06-09",
            "codigoExecutante": "000004",
            "cpfCnpjExecutante": 34585221000190,
            "codigoTipoServico": "000001",
            "descricaoTipoServico": "CONSULTAS",
            "matriculaBeneficiario": "00010004000002000"
        },
		{
            "valorCoparticipacao": "22.92",
            "valorServico": "77.12",
            "nomeExecutante": "HOSPITAL BOM CLIMA",
            "quantidade": "1.00",
            "codigoContrato": "00010004000002",
            "nomeBeneficiario": "AMANDA BARBARA",
            "codigoEvento": "10101012",
            "descricaoEvento": "CONSULTA EM CONSULTORIO",
            "dataAtendimento": "2020-06-09",
            "codigoExecutante": "000004",
            "cpfCnpjExecutante": 34585221000190,
            "codigoTipoServico": "000001",
            "descricaoTipoServico": "CONSULTAS",
            "matriculaBeneficiario": "00010004000002000"
        },
        {
			"valorCoparticipacao": "0.00",
            "valorServico": "2.42",
            "nomeExecutante": "HOSPITAL BOM CLIMA",
            "quantidade": "1.00",
            "codigoContrato": "00010004000002",
            "nomeBeneficiario": "AMANDA BARBARA",
            "codigoEvento": "10106014",
            "descricaoEvento": "ACONSELHAMENTO GENETICO",
            "dataAtendimento": "2020-06-11",
            "codigoExecutante": "000004",
            "cpfCnpjExecutante": 34585221000190,
            "codigoTipoServico": "000001",
            "descricaoTipoServico": "CONSULTAS",
            "matriculaBeneficiario": "00010004000002000"
        }
    ]
}

Importante: os campos Impr Depend (BA0_MSDEPE) e Exc Pag Bloq (BA0_MSEXPB) afetam diretamente o comportamento desta API, a descrição detalhada destes campos está descrita na sessão 3.c deste documento.


09. API LISTA DÉBITOS - listaDebitos


URLhttps://<url>:<porta>/rest/mobileSaude/v1/listaDebitos

Esta API retorna todos os títulos financeiros (tabela SE1) relacionados ao usuário selecionado.

Bloco de código
titleExemplo do json de solicitação de débitos
linenumberstrue
collapsetrue
{
    "tipoUsuario": "T",
    "chaveBeneficiarioTipo": "CPF",
    "matriculaVida": "00000005",
    "multiContract": true,
    "chaveBeneficiario": "44046668458"
}
Bloco de código
titleExemplo do json com os títulos SE1
linenumberstrue
collapsetrue
{
    "status": true,
    "debitos": [
        {
            "descricao": "",
            "valor": 4866,
            "tituloId": 6320,
            "tituloCodigo": "PLS|000000039| |DP ",
            "codigoContrato": "00010004000002",
            "tipoCobranca": "D",
            "dataEmissao": "2020-06-10",
            "dataVencimento": "2020-06-10",
            "situacao": "A"
        },
        {
            "descricao": "",
            "valor": 216,
            "tituloId": 6364,
            "tituloCodigo": "PLS|000000081| |DP ",
            "codigoContrato": "00010004000002",
            "tipoCobranca": "D",
            "dataEmissao": "2020-08-28",
            "dataVencimento": "2020-08-28",
            "situacao": "A"
        }
    ]
}

Importante:  o campos Exib Tit Pag (BA0_MSTPAG) afeta diretamente o comportamento desta API, a descrição detalhada destes campos está descrita na sessão 3.c deste documento.



PONTOS DE ENTRADA


O ponto de entrada PMOBFI01 permite alterar o conteúdo do atributo tipoCobranca:

Ponto de Entrada: PMOBFI01
Fonte: PMobFinMod
Parâmetros
VariávelTipoObrigatórioDescrição
cFormRecCaracterSimForma de Recebimento definido no campo E1_FORMREC
nTituloIdNuméricoNãoRecno do registro SE1
Retorno
VariávelTipoObrigatórioDescrição
cTipoCobrancaCaracterSim

Tipo de cobrança do título sendo:

C = Consignação / desconto em folha
B = Boleto
D = Débito em conta



O ponto de entrada PMOBFI02 permite alterar o conteúdo do atributo situacao:

Ponto de Entrada: PMOBFI02
Fonte: PMobFinMod
Parâmetros
VariávelTipoObrigatórioDescrição
nValorBaseNuméricoNãoValor do título
dVenctoDataNãoData de vencimento
nTituloIdNuméricoNãoRecno do registro SE1
Retorno
VariávelTipoObrigatórioDescrição
cSituacaoCaracterSim

Situação do título sendo:

P = A Vencer (em aberto porém ainda não está vencido)
A = Atrasado (em aberto, porém já vencido)
B = Baixado (já foi pago)



O ponto de entrada PMOBFI04 permite alterar a query que será processsada ao realizar a busca dos títulos SE1:

Ponto de Entrada: PMOBFI04
Fonte: PMobFinMod
Parâmetros
VariávelTipoObrigatórioDescrição
cSqlCaracterSimQuery padrão do sistema
lMultiContractBooleanSimIndica o MultiContrato está habilitado
lLoginByCPFBooleanSimIndica se é login por CPF
cChaveBeneficiarioCaracterSimChave do beneficiário enviado no JSON de solicitação.
Retorno
VariávelTipoObrigatórioDescrição
cSqlCaracterSim

Query que será processada



O ponto de entrada PMOBFI05 permite alterar o atributo descricao dos títulos processados:

Ponto de Entrada: PMOBFI05
Fonte: PMobFinMod
Parâmetros
VariávelTipoObrigatórioDescrição
cPrefixoCaracterSimPrefixo do título
cNumCaracterSimNúmero do título
cParcelaCaracterSimParcela do título
cTipoCaracterSimTipo do título
Retorno
VariávelTipoObrigatórioDescrição
cDescricaoCaracterNão

Valor que será apresentado no atributo descricao



10. API DETALHE DÉBITO - detalheDebito


URLhttps://<url>:<porta>/rest/mobileSaude/v1/detalheDebito

Esta API retorna os dados detalhados de um título SE1 do beneficiário selecionado.

Bloco de código
titleExemplo do json de solicitação de detalhe de um débito
linenumberstrue
collapsetrue
{
    "tituloId": 6353,
    "tituloCodigo": "PLS|000000071| |DP "
}
Bloco de código
titleExemplo do json de resposta com os detalhes de um débito
linenumberstrue
collapsetrue
{
    "status": true,
    "detalhes": [
        {
            "situacao": "A",
            "valor": 578,
            "valorAtualizado": [],
            "textoConfirmacao": "",
            "dataVencimento": "2020-06-10",
            "imprimeBoleto": "N",
            "tipoCobranca": "D",
            "observacao": "",
            "cedenteNome": "OPERADORA 417505",
            "linhaDigitavel": "00190500954014481606906809350314337370000000100",
            "dataPagamento": ""
        }
    ]
}


Importante: O atributo linhaDigitavel deve ser gerado através do ponto de entrada PMOBFI03:

Fonte: PMobFinMod
Parâmetros
ParâmetroTipoObrigatórioDescrição
cPrefixoCaracterNãoPrefixo do título
cNumeroCaracterNãoNúmero do título
cParcelaCaracterNãoParcela do título
cTipoCaracterNãoTipo do título
cBancoCaracterNãoNúmero do banco
cFormRecCaracterNãoForma de recebimento
cAgenciaCaracterNãoNúmero da agência
cContaCaracterNãoNúmero da conta
cDigitoCaracterNãoDígito verificador da conta
cNossoNumCaracterNãoNosso número
nValLiquiNuméricoNãoValor líquido
cCartCaracterNãoNúmero da Carteira 
cMoedaCaracterNãoTipo da Moeda
cEspecCaracterNãoMáscara da Moeda R$
cAceiteCaracterNãoAceito
nTituloId

Numérico

NãoRecno do título
Retorno
ParâmetroTipoObrigatórioDescrição
cCodbarCaracterSimRetorne a linha digitável


11. API BOLETO PDF - boletoPdf


URLhttps://<url>:<porta>/rest/mobileSaude/v1/boletoPdf

Esta API retorna o PDF referente ao boleto de uma fatura. O boleto pode ser disponibilizado de duas maneiras: informando uma URL para download do arquivo PDF ou codificado em Base 64 através do JSON de resposta. O campo Modo PDF (BA0_MSPDFM) indica o modo que o arquivo será disponibilizado.

Caso seja selecionado o modo de download seja via download HTTP, a URL onde os arquivos PDF´s são disponibilizados devem ser informados no campo URL PDF (BA0_MSPDFU)

Importante: para disponibilizar o download via HTTP é necessário configurar o Portal/Webservice no INI do ambiente. Mais informações de como configurar o ambiente podem ser encontradas neste link: Configurar Portais e Webservices. A recomendação é gerar os arquivos PDFs na pasta \web\pp\imagens-pls\relatorios dentro de seu rootpath.

O Plano de Saúde SIGAPLS, tem um modelo básico de PDF para o boleto. Caso deseje customizar o PDF, a customização pode ser realizada através do ponto de entrada PL580BOL.

Documentação técnica do Ponto de Entrada: TVBPA7_DT_Ponto_de_Entrada_PL580BOL.

Bloco de código
titleExemplo do json de solicitação de boleto PDF
linenumberstrue
collapsetrue
{
    "tituloId": 6353,
    "tituloCodigo": "PLS|000000071| |DP "
}
Bloco de código
titleExemplo do json de retorno com a URL para baixar o PDF de Boleto
linenumberstrue
collapsetrue
{
    "status": true,
    "url": "http://spon019400235:87/pp/imagens-pls/relatorios/boletosc006450.pdf",
    "base64": ""
}


12. API EXTRATO FATURA PDF - extratoFaturaPdf


URLhttps://<url>:<porta>/rest/mobileSaude/v1/extratoFaturaPdf

Similar a API de Boletos, esta retorna o PDF referente ao extrato de uma fatura. As recomendações relacionadas a disponibilização do PDF são as mesmas da sessão 12 - API BOLETO PDF - boletoPdf deste documento. 

O Plano de Saúde SIGAPLS, tem um modelo básico de PDF para o extrato. Caso deseje customizar o PDF, a customização pode ser realizada através do ponto de entrada PL580BOL.

Documentação técnica do Ponto de Entrada: TVBPA7_DT_Ponto_de_Entrada_PL580BOL.

Bloco de código
titleExemplo do json de solicitação de extrato PDF
linenumberstrue
collapsetrue
{
	"tituloId": 6353,
     "tituloCodigo": "PLS|000000071| |DP "
}
Bloco de código
titleExemplo do json de retorno com a URL para baixar o PDF de Extrato
linenumberstrue
collapsetrue
{
    "status": true,
    "url": "http://spon019400235:87/pp/imagens-pls/relatorios/boletosc006560.pdf",
    "base64": ""
}



13. MENUS

Adicione os menus abaixo:

MenuNome RotinaFunção
Atualizações / Mobile SaúdeCad. Usuários APIPLSA99C
Atualizações / Mobile SaúdeFuncionalidadesPLSA99D


14. TABELAS UTILIZADAS


  • Dicionário SX2:
X2_CHAVEX2_NOMEX2_MODOX2_MODOUNX2_MODOEMPX2_UNICO
B7XCad Funcional - Mobile SaudeCompartilhadoExclusivoExclusivoB7X_FILIAL + B7X_CODOPE + B7X_CODIGO
B7YUsuarios da API - Mobile SaudeCompartilhadoExclusivoExclusivoB7Y_FILIAL + B7Y_CODOPE + B7Y_CLIID
BJZTokens Conced - Mobile SaudeCompartilhadoExclusivoExclusivoBJZ_FILIAL + BJZ_CODOPE + BJZ_TOKEN
BJVCache Requisic - Mobile SaudeCompartilhadoExclusivoExclusivoBJV_FILIAL + BJV_CODOPE + BJV_LOGIN + BJV_ATIVO


  • Dicionário SIX:
INDICEORDEMCHAVEDESCRICAO
B7X1B7X_FILIAL + B7X_CODOPE + B7X_CODIGOOperadora + Codigo da funcionalidade
B7Y1B7Y_FILIAL + B7Y_CODOPE + B7Y_CLIIDOperadora + Client ID
BJZ1BJZ_FILIAL + BJZ_CODOPE + BJZ_TOKENOperadora + Token
BJZ2BJZ_FILIAL + BJZ_CODOPE + BJZ_CLIID + BJZ_SECRETOperadora + Client ID + Secret Key
BJZ3BJZ_FILIAL + BJZ_CODOPE + BJZ_TOKEN + BJZ_ATIVOOperadora + Token + Ativo
BJV1BJV_FILIAL + BJV_CODOPE + BJV_LOGIN + BJV_ATIVOOperadora +Login + Ativo


  • Dicionário SX3:

Tabela B7X:

X3_CAMPOX3_ORDEMX3_TIPOX3_TAMANHOX3_DECIMALX3_TITULOX3_DESCRICX3_PICTUREX3_USADOX3_RELACAOX3_VALIDX3_CBOXX3_WHENX3_BROWSEX3_VISUALX3_CONTEXTX3_F3
B7X_FILIAL01Caracter80FilialFilial do Sistema@! Não



NãoVisualReal
B7X_CODOPE02Caracter40Codigo OperCódigo Operadora@! SimPlsIntPad()


NãoVisualReal
B7X_CODIGO03Caracter30Cod. FuncCódigo Funcionalidade@! Sim



SimAlterarReal
B7X_DESCRI04Caracter1000DescricaoDescrição@! Sim



SimAlterarReal
B7X_ATIVO05Caracter10AtivoAtivo@! Sim0=Não;1=Sim


SimAlterarReal
B7X_OCULTO06Caracter10Func OcultaFunc Oculta@! Sim0=Não;1=Sim


SimAlterarReal
B7X_MSGBLO07Caracter700Msg BloqueioMsg Bloqueio@! Sim


M->B7X_ATIVO == "0"SimAlterarReal


Tabela B7Y:

X3_CAMPOX3_ORDEMX3_TIPOX3_TAMANHOX3_DECIMALX3_TITULOX3_DESCRICX3_PICTUREX3_USADOX3_RELACAOX3_VALIDX3_CBOXX3_WHENX3_BROWSEX3_VISUALX3_CONTEXTX3_F3
B7Y_FILIAL01Caracter80FilialFilial do Sistema@! Não



NãoVisualReal
B7Y_CODOPE02Caracter40Codigo OperCódigo Operadora@! SimPlsIntPad()


NãoVisualReal
B7Y_USRID03Caracter30Cod. UsuarioCódigo Usuário@! SimGetSx8Num ("B7Y","B7Y_USRID")


SimVisualReal
B7Y_NOME04Caracter1000Nome UsuarioNome Usuário@! Sim



SimAlterarReal
B7Y_DESCRI05Caracter2500Desc UsuarioDescrição do Usuário@! Sim



NãoAlterarReal
B7Y_STATUS06Caracter10AtivoAtivo@! Sim"1"Pertence('01')0=Não;1=Sim
SimAlterarReal
B7Y_CLIID07Caracter1000Cliente IDCliente ID
SimP99CGerCli()


NãoVisualReal
B7Y_SECRET08Caracter 1000Secret KeySecret Key
SimP99CKeyGen(.F.)


NãoVisualReal


Tabela BJZ:

X3_CAMPOX3_ORDEMX3_TIPOX3_TAMANHOX3_DECIMALX3_TITULOX3_DESCRICX3_PICTUREX3_USADOX3_RELACAOX3_VALIDX3_CBOXX3_WHENX3_BROWSEX3_VISUALX3_CONTEXTX3_F3
BJZ_FILIAL01Caracter80FilialFilial do Sistema@! Não



NãoVisualReal
BJZ_CODOPE02Caracter40Codigo OperCódigo Operadora@! SimPlsIntPad()


NãoVisualReal
BJZ_TOKEN03Caracter1000Token GeradoToken Gerado@! Sim



NãoAlterarReal
BJZ_ATIVO04Caracter10AtivoAtivo@! Sim

0=Não;1=Sim
NãoAlterarReal
BJZ_DATBLO05Data80Data BloquData Bloqueio
Sim



NãoAlterarReal
BJZ_CLIID06Caracter1000Client IDClient ID@! Sim



NãoAlterarReal
BJZ_SECRET07Caracter1000Secret KeySecret Key@! Sim



NãoAlterarReal
BJZ_DTEXPI08Data80Data ExpiraData Expiracao
Sim



NãoAlterarReal
BJZ_HREXPI09Caracter50Hora ExpirHora Expiracao@! Sim



NãoAlterarReal


Tabela BJV:

X3_CAMPOX3_ORDEMX3_TIPOX3_TAMANHOX3_DECIMALX3_TITULOX3_DESCRICX3_PICTUREX3_USADOX3_RELACAOX3_VALIDX3_CBOXX3_WHENX3_BROWSEX3_VISUALX3_CONTEXTX3_F3
BJV_FILIAL01Caracter80FilialFilial do Sistema@! Não



NãoVisualReal
BJV_CODOPE02Caracter40Codigo OperCódigo Operadora@! SimPlsIntPad()


NãoVisualReal
BJV_LOGIN03Caracter500LoginLogin@! Sim



NãoAlterarReal
BJV_DTVALI04Data80Data ValidData Validade
Sim



NãoAlterarReal
BJV_HRVALI05Caracter50Hora ValidHora Validade@! Sim



NãoAlterarReal
BJV_ATIVO06Caracter10AtivoAtivo@! Sim

0=Não;1=Sim
NãoAlterarReal
BJV_CACHE07Memo100CacheCache
Sim



NãoAlterarReal


Tabela BA0:

X3_CAMPOX3_TIPOX3_TAMANHOX3_DECIMALX3_TITULOX3_DESCRICX3_PICTUREX3_USADOX3_RELACAOX3_VALIDX3_CBOXX3_WHENX3_BROWSEX3_VISUALX3_CONTEXTX3_F3X3_FOLDER
BA0_MSTLOGCaracter10Mobile LoginMobile Login@! Não'1'Pertence('12')1=CPF;2=Matricula
NãoAlterarReal
4
BA0_MSMULTCaracter10MulticontratMobile Multicontrato@! Sim'1'Pertence('01')0=Não;1=Sim
NãoAlterarReal
4
BA0_MSCACHCaracter10Mobile CacheMobile Cache@! Sim'1'Pertence('01')0=Não;1=Sim
NãoAlterarReal
4
BA0_MSCONJCaracter10Cod ConjugeCódigo Cônjuge Mobile@! Sim



NãoAlterarRealB37PLS4
BA0_MSCONTCaracter10Contato TitContato Titular@! Sim'0'Pertence('01')0=Não;1=Sim
NãoAlterarReal
4
BA0_MSENDCaracter10Ender TitEndereço Titular@! Sim'0'Pertence('01')0=Não;1=Sim
NãoAlterarReal
4
BA0_MSDEPECaracter10Impr DependImprime Dependentes@! Sim'0'Pertence('01')0=Não;1=Sim
NãoAlterarReal
4
BA0_MSEXPBCaracter10Exc Pag BloqExclui Pagam. Bloqueado@! Sim'1'Pertence('01')0=Não;1=Sim

AlterarReal
4
BA0_MSTPAGCaracter10Exib Tit PagExibe Títulos Pagos@! Sim'1'Pertence('01')0=Não;1=Sim

AlterarReal
4
BA0_MSPDFMCaracter10Modo PDFModo PDF@! Sim
Pertence('12')1=URL;2=Base 64

AlterarReal
4
BA0_MSPDFUCaracter2540URL PDFURL PDF@! Sim


M->BA0_MSPDFM == '1'
AlterarReal
4
BA0_MSACESCaracter60Acess PortalAcess Portal@! Sim
Vazio() .Or. ExistCpo("AI3",M->BA0_MSACES)


AlterarRealAI34
BA0_MSPERFCaracter60Perf. AcessoPerf. Acesso@! Sim
Vazio() .Or. ExistCpo("B7I",M->BA0_MSPERF)


AlterarRealBA0B7I4
BA0_MSGUIANumérico20Qt. Meses G.Quantidade de Meses Guia99Sim



NãoAlterarReal
4
BA0_MSDECLNumérico20Qt. Anos DecQuantidade Anos Declarac.99Sim



NãoAlterarReal
4
BA0_MSDECDCaracter10List. Decla.Lista de Declaracoes@! Sim

0=Ambas;1=Imposto de Renda;2=Carta de Quitação
NãoAlterarReal
4
BA0_MSUNDOCaracter2540URL DocumentURL Documento @!Sim



NãoAlterarReal
4
BA0_MSURSTCaracter2540URL StatusEndpoint Atualiza Status@!Sim



NãoAlterarReal
4


Tabela BT6:

X3_CAMPOX3_TIPOX3_TAMANHOX3_DECIMALX3_TITULOX3_DESCRICX3_PICTUREX3_USADOX3_RELACAOX3_VALIDX3_CBOXX3_WHENX3_BROWSEX3_VISUALX3_CONTEXTX3_F3
BT6_LCVIRTCaracter100Layout CartLayout do Cartão@! Sim



NãoAlterarReal


Tabela BI3:

X3_CAMPOX3_TIPOX3_TAMANHOX3_DECIMALX3_TITULOX3_DESCRICX3_PICTUREX3_USADOX3_RELACAOX3_VALIDX3_CBOXX3_WHENX3_BROWSEX3_VISUALX3_CONTEXTX3_F3
BI3_LCVIRTCaracter100Layout CartLayout do Cartão@! Sim



NãoAlterarReal


Tabela BQC:

X3_CAMPOX3_TIPOX3_TAMANHOX3_DECIMALX3_TITULOX3_DESCRICX3_PICTUREX3_USADOX3_RELACAOX3_VALIDX3_CBOXX3_WHENX3_BROWSEX3_VISUALX3_CONTEXTX3_F3
BQC_LCVIRTCaracter100Layout CartLayout do Cartão@! Sim



NãoAlterarReal


Tabela BA3:

X3_CAMPOX3_TIPOX3_TAMANHOX3_DECIMALX3_TITULOX3_DESCRICX3_PICTUREX3_USADOX3_RELACAOX3_VALIDX3_CBOXX3_WHENX3_BROWSEX3_VISUALX3_CONTEXTX3_F3
BA3_LCVIRTCaracter100Layout CartLayout do Cartão@! Sim



NãoAlterarReal


Tabela BA1:

X3_CAMPOX3_TIPOX3_TAMANHOX3_DECIMALX3_TITULOX3_DESCRICX3_PICTUREX3_USADOX3_RELACAOX3_VALIDX3_CBOXX3_WHENX3_BROWSEX3_VISUALX3_CONTEXTX3_F3
BA1_LCVIRTCaracter100Layout CartLayout do Cartão@! Sim



NãoAlterarReal


Tabela BQL:

X3_CAMPOX3_TIPOX3_TAMANHOX3_DECIMALX3_TITULOX3_DESCRICX3_PICTUREX3_USADOX3_RELACAOX3_VALIDX3_CBOXX3_WHENX3_BROWSEX3_VISUALX3_CONTEXTX3_F3
BQL_CODMOBCaracter10Cod MobileCódigo Mobile@! Sim
Vazio() .Or. Pertence('123')1=Consignacao / Desconto em folha;2=Boleto;3=Debito em conta
NãoAlterarReal


Tabela BG1:

X3_CAMPOX3_TIPOX3_TAMANHOX3_DECIMALX3_TITULOX3_DESCRICX3_PICTUREX3_USADOX3_RELACAOX3_VALIDX3_CBOXX3_WHENX3_BROWSEX3_VISUALX3_CONTEXTX3_F3
BG1_LOGINCaracter10Acao LoginAção Login@! Sim

1=Permite login;2=Impede login
NãoAlterarReal


Tabela BG3:

X3_CAMPOX3_TIPOX3_TAMANHOX3_DECIMALX3_TITULOX3_DESCRICX3_PICTUREX3_USADOX3_RELACAOX3_VALIDX3_CBOXX3_WHENX3_BROWSEX3_VISUALX3_CONTEXTX3_F3
BG3_LOGINCaracter10Acao LoginAção Login@! Sim

1=Permite login;2=Impede login
NãoAlterarReal


Tabela BBA:

X3_CAMPOX3_TIPOX3_TAMANHOX3_DECIMALX3_TITULOX3_DESCRICX3_PICTUREX3_USADOX3_RELACAOX3_VALIDX3_CBOXX3_WHENX3_BROWSEX3_VISUALX3_CONTEXTX3_F3
BBA_IDOPERNumérico40Id OperadoraID da Operadora Integ.9999Sim



NãoAlterarReal
BBA_MSHASHCaracter1000HashHash da Solicitação
Sim



NãoAlterarReal


  • Dicionário SXB:
XB_ALIASXB_TIPOXB_SEQXB_COLUNAXB_DESCRIXB_CONTEM
BA0B7I101DBPerfis de AcessoB7I
BA0B7I20101Sequencial+Tipo por.
BA0B7I40101SequencialB7I_CODSEQ
BA0B7I40102DescriçãoB7I_DESCRI
BA0B7I501

B7I_CODSEQ
BA0B7I601

B7I->B7I_TIPPOR == "3"


15. IMPLEMENTAÇÃO FUTURA

...

Principais Campos e Parâmetros

...

Card documentos
InformacaoUse esse box para destacar informações relevantes e/ou de destaque.
TituloIMPORTANTE!

...

  • Implementação futura




HTML
<!-- esconder o menu --> 


<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}
</style>