CONTEÚDO

  1. Visão Geral
  2. Exemplo de utilização
  3. Tela Integrações
    1. Outras Ações / Ações relacionadas
  4. Tela Integrações
    1. Principais Campos e Parâmetros
  5. Tabelas utilizadas


01. VISÃO GERAL

Essa Integração tem o objetivo de enviar o Pré-Cadastro dos beneficiários que se encontram no produto TOTVS Saúde Planos Linha Protheus para a API Cadbenef da Unimed do Brasil, utilizando a rotina de Integrações (Integrações TOTVS Saúde Planos Linha Protheus).

02. EXEMPLO DE UTILIZAÇÃO

1. CADASTRO DA INTEGRAÇÃO

A Integração do Pré-Cadastro de Beneficiários deverá ser incluída na tela de Integrações (Item 03 da documentação de Integrações TOTVS Saúde Planos Linha Protheus), com o preenchimento dos seguintes campos:

CamposAção
Alias Prima.Preencher BA1
EndPointEndpoint de Produção informado no Manual de PTU Integrações no item: Serviço Pré Cadastro Beneficiarios cadBenef - PTU A1300
Classe STAMPPreencher com: PLPtuStpPCad
Classe Comu.Preencher com: PLPtuJsPCad
Login Auten.Login de autenticação gerado no GIU
Senha Auten.Senha de autenticação gerado no GIU
EndPoint Aut.

Endpoint de Produção informado no Manual de PTU Integrações no item: Serviços para integração GIU – Gestão Institucional Unimed, SubItem: Autenticação de uma Conta de Serviço.

Perg. GerarPreencher com: PLPTUCADBE

2. CLASSES

2.1 Classe PLPtuStpPCad

A Classe PLPtuStpPCad será responsável por buscar novos beneficiários cadastrados na tabela BA1 pela coluna BA1_PTUCAD, para gravação dos pedidos na tela de Integrações (Item 04 da documentação de Integrações TOTVS Saúde Planos Linha Protheus), para posteriormente comunicar com a API de Pré-Cadastro do Beneficiário cadBenef. A periocidade da busca é configurada de acordo com o schedule.

2.2 Classe PLPtuJsPCad

A classe PLPtuJsPCad, será responsável pela montagem do JSON para comunicar com a API de Pré-Cadastro do Beneficiário cadBenef. O JSON será enviado com os seguintes dados:

Atributo UnimedCampo ProtheusTipo
codUnimed

cpfCnpj

nomeContratante

dadosPessoa

nome

nomeSocial

genero

generoSocial

dtNascimento

cpf

cns

cdCarteiraTitular

cdCarteiraDepende

dependencia

dataInclusao

dtInicioVigencia

dtValidadeCartao

tpAbrangencia

tpAcomodacao

tpContratacao

tpContrato

segmentacao

idRegPlanoANS

registroANS

cdRede

cdLcat

nomeProduto

viaCartao

cdMunic

cdUF

tpCobertura

dtFimCarencia

Exemplo:

{  
   "message":"Criar Beneficiario",
   "listaBeneficiarios":[
      {
         "dadosUnimed":{
            "codUnimed":"0001"
         },
         "dadosContratante":{
            "cpfCnpj":"99999999999999",
            "nomeContratante":"EMPRESA JURIDICA TESTE"
         },
         "dadosPessoa":{
            "nome":"BENEFICIARIO TESTE",
            "nomeSocial":"BENEFICIARIO SOCIAL TESTE",
            "genero":"F",
            "generoSocial":"F",
            "dtNascimento":"20100101",
            "cpf":"99999999999",
            "cns":"999999999999999"
         },
         "dadosBeneficiario":{
            "cdCarteiraTitular":"00011008000005016",
            "dependencia":"00",
            "dataInclusao":"20230101"
         },
         "dadosPlano":{
            "dtValidadeCartao":"20270112",
            "viaCartao":"1",
            "dtInicioVigencia":"20010101",
            "tpAbrangencia":1,
            "tpAcomodacao":"B",
            "tpContratacao":3,
            "tpContrato":"P",
            "segmentacao":"02",
            "idRegPlanoANS":1,
            "registroANS":"123456",
            "cdRede":"TST01",
            "cdLcat":0,
            "nomeProduto":"PRODUTO EXEMPLO 1"
         },
         "listaAbrangencias":[            
			{
               "cdMunic": 3548500,
               "cdUF": 11
            }          
		 ],
         "listaCarencias":[
            {
               "tpCobertura":"1",
               "DtFimCarencia":"20220512"
            },
         ]
      }
   ]
}

Para alterar o JSON, poderá ser utilizado o Ponto de Entrada PLMPJSBE (DT PE Manipular JSON de Envio de Beneficiários).

3. DICIONÁRIO DE DADOS

Atualização do Arquivo SX2 (Tabelas):

TabelaDescriçãoAc. FilialAc. UnidadeAc. EmpresaChave Única
B7EIntegrações1 - Compartilhado2 - Exclusivo2 - ExclusivoB7E_FILIAL+B7E_CODOPE+B7E_CODIGO+B7E_ALIAS
B7FPedidos da Integrações1 - Compartilhado2 - Exclusivo2 - ExclusivoB7F_FILIAL+B7F_CODOPE+B7F_CODIGO+B7F_CODPED+B7F_ALIAS+B7F_CHAVE

Atualização do Arquivo SX3 (Campo): 

TabelaCampoTipoTamanhoDecimalTituloDescriçãoPictureValidaçãoInicializador PadrãoConsulta PadrãocBoxUsadoExibe BrowserVisual?ContextoObrigatórioWhen
BA1BA1_PTUCADC10Cad. Ben PTUCad.Benef na UNIMED@!
'0'
0=Nao Cadastrado;1=Pre Cadastrado;2=Cadastro CompletoSimSimAlterarReal


TabelaCampoTipoTamanhoDecimalTituloDescriçãoPictureValidaçãoInicializador PadrãoConsulta PadrãocBoxUsadoExibe BrowserVisual?ContextoObrigatórioWhen
B7EB7E_FILIALC80FilialFilial do Sistema










B7EB7E_CODOPEC40OperadoraOperadora@R !.!!!Vazio() .Or. ExistCpo("BA0",FWFldGet("B7E_CODOPE"),1)PLSINTPAD(RETCODUSR())B89PLS
SimSimAlterarRealSimINCLUI
B7EB7E_CODIGOC40Codigo IntegCódigo da Integração@!
GETSXENUM( "B7E", "B7E_CODIGO" )

SimSimVisualizarRealSim
B7EB7E_DESCRIC400DescriçãoDescrição da Integração@!



SimSimAlterarRealSim
B7EB7E_ALIASC30Alias Prima.Alias Primário@!Vazio() .Or. PlsAliasExi(FWFldGet("B7E_ALIAS"))


SimSimAlterarRealSimINCLUI
B7EB7E_ENDPOIC1000EndPointEndPoint da Integracaoo




SimSimAlterarRealNão
B7EB7E_ATIVOC10AtivoAtivo@!
1
0=Nao;1=SimSimNãoAlterarRealSim
B7EB7E_MAXENVN30Máximo EnvioMáximo de Envio@E 999FWFldGet("B7E_MAXENV") > 0


SimSimAlterarRealSim
B7EB7E_CLASTPC200Classe StampClasse Stamp da Integ.
Vazio() .Or. FindClass(FWFldGet("B7E_CLASTP"))


SimNãoAlterarRealNão
B7EB7E_CLACOMC200Classe Comu.Classe para Comunicação
Vazio() .Or. FindClass(FWFldGet("B7E_CLACOM"))


SimNãoAlterarRealNão
B7EB7E_USRAUTC200Login Auten.Login Autenticação




SimNãoAlterarRealNão
B7EB7E_PASAUTC500Senha Auten.Senha Autenticação@*



SimNãoAlterarRealNão
B7EB7E_ENDAUTC1000EndPoint AutEndPoint Autenticação




SimNãoAlterarRealNão
B7EB7E_BEAAUTM100Bearer Aute.Bearer Autenticação




SimNãoVisualizarRealNão
B7EB7E_COOAUTM100Cookie Aut.Cookie Autenticação




SimNãoVisualizarRealNão
B7EB7E_TMPAUTC200Tempo Expe.Tempo de Expiração




SimNãoVisualizarRealNão
B7EB7E_PERGGEC100Perg. GerarPergunta Gerar Pedidos@!



SimNãoAlterarRealNão
B7EB7E_UNIMEC10é Unimed?Integração Unimed?@!
2
1=Sim;2=NaoSimNãoAlterarRealNão

TabelaCampoTipoTamanhoDecimalTituloDescriçãoPictureValidaçãoInicializador PadrãoConsulta PadrãocBoxUsadoExibe BrowserVisual?ContextoObrigatórioWhen
B7FB7F_FILIALC80FilialFilial do Sistema










B7FB7F_CODOPEC40OperadoraOperadora@R !.!!!Vazio() .Or. ExistCpo("BA0",FWFldGet("B7F_CODOPE"),1)IIF(IsInCallstack("PLMapIntegra"),B7E->B7E_CODOPE,PLSINTPAD(RETCODUSR()))B89PLS
SimSimAlterarRealSimIIF(IsInCallstack("PLMapIntegra"),.F.,INCLUI)
B7FB7F_CODIGOC40Codigo IntegCodigo da Integração@!Vazio() .Or. ExistCpo("B7E",FWFldGet("B7F_CODOPE")+FWFldGet("B7F_CODIGO"),1)IIF(IsInCallstack("PLMapIntegra"),B7E->B7E_CODIGO," ")

SimSimAlterarRealSimIIF(IsInCallstack("PLMapIntegra"),.F.,INCLUI)
B7FB7F_CODPEDC90Cod. PedidoCodigo do Pedido@!
GETSXENUM("B7F", "B7F_CODPED")

SimSimVisualizarRealSim
B7FB7F_ALIASC30Alias Prima.Alias Primário@!

Vazio() .Or. ExistCpo("B7E",FWFldGet("B7F_CODOPE")+FWFldGet("B7F_CODIGO")+FWFldGet("B7F_ALIAS"),1)

IIF(IsInCallstack("PLMapIntegra"),B7E->B7E_ALIAS," ")

SimSimAlterarRealSimIIF(IsInCallstack("PLMapIntegra"),.F.,INCLUI)
B7FB7F_CHAVEC600ChaveChave de Busca@!Vazio() .OR. ExistCpo(FWFldGet("B7F_ALIAS"),FWFldGet("B7F_CHAVE"),IIF(FWFldGet("B7F_ALIAS") $ "BA1/BE4",2,1))


SimSimAlterarRealSim
B7FB7F_DATINCD80Dt. InclusãoData de Inclusão

dDataBase

SimSimAlterarRealSim
B7FB7F_DATCOMD80Dt. ComunicaData de Comunicação




SimSimVisualizarRealNão
B7FB7F_STATUSC10StatusStatus do Pedido@!
0
0=Pendente de Envio;1=Envio Realizado;2=Erro de Envio;3=Envio CanceladoSimNãoAlterarRealNão
B7FB7F_TENVION30Tent. EnvioTentativas de Envio@E 999FWFldGet("B7F_TENVIO") <= FWFldGet("B7E_MAXENV")


SimNãoAlterarRealNão
B7FB7F_ENVJSOM100Json EnvioJson Enviado




SimNãoVisualizarRealNão
B7FB7F_RECJSOM100Json Receb.Json Recebido




SimNãoVisualizarRealNão

Atualização do Arquivo SIX (Índices): 

TabelaOrdemChaveDescrição
B7E1B7E_FILIAL+B7E_CODOPE+B7E_CODIGO+B7E_ALIASOperadora + Codigo Integ + Alias Prima.

TabelaOrdemChaveDescrição
B7F1B7F_FILIAL+B7F_CODOPE+B7F_CODIGO+B7F_CODPEDOperadora + Codigo Integ + Cod. Pedido
B7F2B7F_FILIAL+B7F_CODOPE+B7F_ALIAS+B7F_CHAVEOperadora + Alias Prima. + Chave

Atualização do Arquivo SX9 (Relacionamento): 

Identi.Tabela DomínioExpressão DomínioTabela Contra-DomínioExpressão Contra-DomínioLig. DomínioLig. Contra-Domínio
001B7EB7E_CODOPE+B7E_CODIGO+B7E_ALIASB7FB7F_CODOPE+B7F_CODIGO+B7F_ALIAS1N

Atualização do Arquivo SX1 (Pergunte): 

GrupoOrdemPerguntaVariávelTipoTamanhoDecimalObjetoConsulta Padrão
PLPTUCADBE

01

Grupo/Empresa De ?MV_PAR01C401 - EditB7APLS
PLPTUCADBE02Grupo/Empresa Ate ?MV_PAR02C401 - EditB7APLS
PLPTUCADBE03Matricula De ?MV_PAR03C601 - EditBA1PLS
PLPTUCADBE04Matricula Ate ?MV_PAR04C601 - EditBA1PLS
PLPTUCADBE05Data Inclusao De ?MV_PAR05D801 - Edit
PLPTUCADBE06Data Inclusao Ate ?MV_PAR06D801 - Edit
GrupoOrdemPerguntaVariávelTipoTamanhoDecimalObjetoConsulta Padrão
PLRMPSTAMP01Operadora ?MV_PAR01C401 - EditB89PLS
PLRMPSTAMP02Data do STAMP ?MV_PAR02D801 - Edit


03. TELA INTEGRAÇÕES

Outras Ações / Ações relacionadas

AçãoDescrição
Consultar PedidosAtravés dessa opção, será possível visualizar os pedidos da Integração posicionada, ao clicar será aberto um outro browser com os pedidos.
Comunicar PedidosAtravés dessa opção, será possível realizar a comunicação de todos os pedidos, com o status pendente de envio e erro de envio da Integração posicionada.
Gerar Pedidos em MassaAtravés dessa opção, será possível gerar uma carga de pedidos para a Integração posicionada, utilizando os filtros previamente selecionados.
Gerar Pedidos pelo STAMPAtravés dessa opção, será possível gerar uma carga de pedidos para a Integração posicionada, utilizando os filtros previamente selecionados.

04. TELA INTEGRAÇÕES

Principais Campos e Parâmetros

CampoDescriçãoPreenchimento

Operadora

Código da Operadora do sistema.Obrigatório, Preenchimento automático de acordo com a Integração posicionada.  
Codigo Integ.Código Incremental das Integrações.Obrigatório, Preenchimento automático de acordo com a Integração posicionada.  
Cod. PedidoCódigo Incremental dos pedidos.Obrigatório, Preenchimento automático.
Alias Prima.Tabela do cadastro que será utilizada para envio.Obrigatório, Preenchimento automático de acordo com a Integração posicionada.  
ChaveChave de busca do registro de acordo com o Alias Primário.Obrigatório, deverá ser informado o índice de busca do Alias Primário, por exemplo: Cadastro de Beneficiários, BA1_CODINT+BA1_CODEMP+BA1_MATRIC+BA1_TIPREG+BA1_DIGITO
Dt. InclusãoData de inclusão do pedido.Obrigatório, Data em que o pedido foi incluído, o default é a data base do sistema.
Dt. ComunicaData de Comunicação com o sistema parceiro.Não editável, data em que foi realizada a comunicação do pedido com o sistema parceiro.
StatusStatus do pedido.Status do momento do pedido:
0 - Pendente de Envio, 1 - Envio Realizado, 2 - Erro de Envio, 3 - Envio Cancelado.
Tent. EnvioTentativas de Envio do pedido.Tentativas em que o pedido foi realizado, caso atinja a quantidade máxima da Integração, sem sucesso, automaticamente o pedido será Cancelado.
Json EnvioJSON enviado para o sistema parceiro.Não editável, JSON que o Protheus enviou para o sistema parceiro da Integração.
Json Receb.JSON recebido do sistema parceiro.Não editável, JSON em que o Protheus recebeu do sistema parceiro da Integração.

05. TABELAS UTILIZADAS