Árvore de páginas

Versões comparadas

Chave

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


CONTEÚDO

  1. Visão Geral
  2. Detalhamento
  3. Tela Integrações 
    1. Integrações Disponíveis
    2. Outras Ações / Consultar Pedidos
    3. Outras Ações / Comunicar Pedidos
    4. Outras Ações / Gerar Pedidos Em Massa
    5. Outras Ações / Gerar Pedidos Pelo STAMP
    6. Outras Ações / Status dos Pedidos
  4. Tela Pedidos da Integração
    1. Comunicar
  5. Schedules
    1. Gravar Pedidos
    2. Comunicar Pedidos
  6. Tabelas Utilizadas
  7. Dicionário de Dados

01. VISÃO GERAL
Âncora
VIS
VIS

A integração do produto TOTVS Saúde Planos Linha Protheus tem como objetivo, enviar dados do sistema para que possam ser tratados pelos serviços utilizados nos sistemas parceiros da TOTVS.

A comunicação entre as partes será realizada via comunicação API REST.

02. DETALHAMENTO
Âncora
DET
DET

O processo de integração funcionará no seguinte panorama, que serão detalhados abaixo:

  1. A tabela de Integrações (B7E), será utilizada para cadastrar todas integrações realizadas entre o Protheus e o sistema parceiro, até o momento as integrações que estão homologadas são:
    1. Cadastro de Beneficiários.
    2. Cadastro de Empresas.

  2. A tabela de Pedidos da Integração (B7F), será utilizada para guardar todos os pedidos a serem enviados, já enviados ou com problema de envio para cada integração cadastrada.

  3. A Carga dos pedidos da integração para envio, será feita manualmente através do botão Gerar Pedidos da Tela de Integrações ou via schedule (O processo de schedule será apresentado no tópico 5).

  4. A comunicação será feita manualmente através do botão Comunicar da Tela de Pedidos da Integração, ou poderá ser feita uma comunicação de todos os pedidos pendentes de envio de cada integração, pelo botão Comunicar Pedidos da tela de Integrações. A comunicação também será feita via schedule (O processo de schedule será apresentado no tópico 5).

03. TELA INTEGRAÇÕES
Âncora
INT
INT

Ao acessar a rotina de Integrações (PLMapIntegra), será mostrado o browser com todas as Integrações cadastrada, a tela de inclusão terá os seguintes campos a serem preenchidos:

...

CampoDescriçãoPreenchimento

Operadora

Código da Operadora do sistema.Obrigatório.
Codigo Integ.Código Incremental das Integrações.Preenchimento automático, não editável .
DescriçãoDescrição da Integração.Obrigatório.
Alias Prima.Tabela do cadastro que será utilizada para envio.Obrigatório, essa tabela será detalhado o preenchimento no próximo tópico.
EndPointEndereço de comunicação da API do sistema parceiro.Opcional no cadastro, mas necessário para comunicação dos pedidos.
AtivoDefinição se a Integração está ativa, essa informação é usada em alguns processos do sistema.Obrigatório.
Máximo EnvioQuantidade máxima de tentativas de comunicação para cancelar o pedido, caso não tenha sucesso.Obrigatório.
Classe StampClasse do sistema que será utilizada para gravar os pedidos via schedule.Opcional no cadastro, mas necessário para realizar a gravação dos pedidos via schedule, será detalhado o preenchimento no próximo tópico.
Classe Comu.Classe do sistema que será utilizada para montagem do json da integração, além da comunicação.Opcional no cadastro, mas necessário para a comunicação dos pedidos, será detalhado o preenchimento no próximo tópico.
Login Auten.Login para autenticar no sistema parceiro da Integração.Opcional no cadastro, mas necessário para comunicação dos pedidos.
Senha Auten.Senha para autenticar no sistema parceiro da Integração.Opcional no cadastro, mas necessário para comunicação dos pedidos.
EndPoint AutEndereço de comunicação da API de Autenticação do sistema parceiro.Opcional no cadastro, mas necessário para comunicação dos pedidos.
Bearer Aut.Bearer utilizado pelo sistema para autenticação na API do sistema parceiro.Não editável, o sistema utiliza esse campo para controle interno ao realizar a comunicação.
Cookie Aut.Cookie utilizado pelo sistema para autenticação na API do sistema parceiro.Não editável, o sistema utiliza esse campo para controle interno ao realizar a comunicação.
Tempo Expe.Tempo de Expiração do Bearer e Cookie. Não editável, o sistema utiliza esse campo para controle interno ao realizar a comunicação.
Perg. GerarPergunte (SX1) do sistema para gerar os pedidosOpcional no cadastro, mas necessário no botão Gerar Pedidos, esse pergunte será para os filtros da geração, será detalhado o preenchimento no próximo tópico.

a. INTEGRAÇÕES DISPONÍVEIS 
Âncora
INTDIS
INTDIS

As Integrações disponíveis para cadastrar são:

IntegraçãoSistema ParceiroAlias Prima.Classe StampClasse Comu.Perg. GerarDocumentação
Cadastro de EmpresasHealthMap

BG9

PLMapStpEmprePLMapJsEmprePLRMPEMPIntegração do Cadastro de Empresas com a HealthMap
Cadastro de BeneficiáriosHealthMapBA1PLMapStpBenefPLMapJsBenefPLRMPEMPIntegração do Cadastro de Beneficiários com a HealthMap
Aviso de InternaçãoHealthMapBE4PLMapStpInterPLMapJsInterPLRMPINTERIntegração do Aviso de Internações com a HealthMap
Aviso de Pronto SocorroHealthMapBEAPLMapStpSocor PLMapJsSocor  PLRMPSOCORIntegração do Aviso de Pronto Socorro com a HealthMap
Pré-Cadastro de BeneficiárioUnimedBA1PLPtuStpPCadPLPtuJsPCadPLPTUCADBEIntegração do Pré-Cadastro de Beneficiários com a Unimed

Essas são informações a serem preenchidas no cadastro da Integração para cada sistema parceiro.

b. OUTRAS AÇÕES / CONSULTAR PEDIDOS
Âncora
INTCON
INTCON

Através dessa opção, será possível visualizar os pedidos da Integração posicionada, ao clicar será aberto um outro browser com os pedidos.

c. OUTRAS AÇÕES / COMUNICAR PEDIDOS
Âncora
INTCOM
INTCOM

Atravé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. Ao clicar, o sistema irá perguntar:

Finalizado o processo, será apresentado um resumo da comunicação:

d. OUTRAS AÇÕES / GERAR PEDIDOS EM MASSA
Âncora
INTGER
INTGER

Através dessa opção, será possível gerar uma carga de pedidos para a Integração posicionada. 

...

Finalizado o processo, será apresentado um resumo da geração:

e. OUTRAS AÇÕES / GERAR PEDIDOS PELO STAMP
Âncora
INTGERSTP
INTGERSTP

Através dessa opção, será possível gerar uma carga de pedidos através do campo STAMP, esse botão é semelhante ao schedule PLMAPGRVSCHE.

...

Finalizado o processo, será apresentado um resumo da geração:

f. OUTRAS AÇÕES / STATUS DOS PEDIDOS
Âncora
INTSTATUS
INTSTATUS

Através dessa opção, é possível consultar o status dos pedidos da Integração posicionada:

...

Card documentos
InformacaoEssa opção deverá ser adicionada no menu do SIGAPLS > Atualizações > Integrações, com o programa: PLMapIntegra (Integrações) 
TituloImportante

04. TELA PEDIDOS DA INTEGRAÇÃO
Âncora
PED
PED

Ao consultar os pedidos da Integração através do botão Consultar Pedidos da Rotina de Integração, será exibido um browser com todos os pedidos daquela Integração.

...

Os dados da tela inferior, correspondem a Integração, somente para visualização. Para Altera-los deverá ser utilizada a rotina de Integrações.  

a. COMUNICAR
Âncora
PEDCOM
PEDCOM

Através do botão Comunicar da rotina de pedidos, será feito o envio manual do pedido posicionado, essa opcional é somente para enviar um pedido, caso queria enviar todos os pedido, deverá ser utilizado o botão Comunicar Pedidos da tela de Integrações, como mostra o tópico 3.c.

...

Confirmando, caso o sistema realize a comunicação com sucesso com a Integração, será apresentado a mensagem:

Validações para o Envio do Pedido

  1. A Integração do pedido deverá está ativa.
  2. Deverá ser informado o Endpoint da Integração.
  3. Deverá ser informada a classe de Comunicação na Integração.
  4. Pedido com o status 1 - Envio Realizado e 3 - Cancelado, não será feita a comunicação.
  5. Tentativas de envio maior que a quantidade máxima da Integração, não será feita a comunicação.
  6. Data de Inclusão do Pedido maior que a data do Sistema. Nessa situação é porque foi programado para o pedido ser enviado somente em determinado dia, Exemplo: Bloqueio futuro de Beneficiários.

Resultados da Comunicação

  1. Pedido enviado com sucesso, o status do pedido passará a ser 1 - Envio Realizado.
  2. Falha ao realizar a autenticação com a Integração, nesse caso deverá ser analisado o Endpoint, Login e senha da Autenticação se estão corretos.
  3. Falha no envio do pedido, o status do pedido passará a ser 2 - Erro de Envio, nesse caso deverá analisar o EndPoint da Integração e também o JSON de retorno.

05. SCHEDULE 
Âncora
SCH
SCH

Além do processo manualmente para gravação do pedidos e comunicação, os mesmo poderão ser feito de forma automática via schedule.

a. GRAVAR PEDIDOS
Âncora
SCHGRV
SCHGRV

A gravação dos pedidos da Integração será feita pelo schedule PLMapGrvSche. Diferentemente do processo manual, onde é configurado os parâmetros para a geração, pelo schedule a busca é feito pelo campo STAMP de cada tabela, ou seja, será gravado somente os registros que sofreram alguma alteração de cadastro.

...

Card documentos
InformacaoComo o sistema utiliza o campo STAMP das tabelas para buscar alterações, se o mesmo não estiver na base, será feita criação na primeira execução do schedule.
TituloImportante

b. COMUNICAR PEDIDOS
Âncora
SCHCOM
SCHCOM

A comunicação dos pedidos, assim como a gravação além de ser feita manualmente pela Rotina de Integração, poderá ser realizada pelo schedule PLMapComSche. O sistema irá comunicar todos pedidos com o status 0 - Pendente de Envio e 2 - Erro de Envio de todas as Integrações Ativas.

...

O resultado do schedule, poderá ser acessado pelo log: /logpls/data/plmapcomsche.log

06. TABELAS UTILIZADAS
Âncora
TAB
TAB

  • B7E (Integrações)
  • B7F (Pedidos da Integração)

07. DICIONÁRIO DE DADOS
Âncora
DICIO
DICIO

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
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

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
PLRMPSTAMP01Operadora ?MV_PAR01C401 - EditB89PLS
PLRMPSTAMP02Data do STAMP ?MV_PAR02D801 - Edit



Card documentos
InformacaoA alteração de dicionário referente a essa implementação estará disponível no próximo pacote de Expedição Contínua do módulo SIGAPLS.
TituloImportante