Á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. 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
  4. Tela Pedidos da Integração
  5. Classe para Gravar os Pedidos
  6. Classe para
    1. Comunicar
    com a Integração
  7. Schedules
    1. Gravar Pedidos
    2. Comunicar Pedidos
  8. Tabelas utilizadas

...

  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 enviadas, 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 75).

  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 75).

03. TELA INTEGRAÇÕES

Ao acessar a rotina de Integrações (PLMapIntegra), será possível cadastrar novas integraçõesexibindo o browser com todas as Integrações cadastrada, a tela de inclusão terá os seguintes campos a serem preenchidos:

...

Detalhes dos campos da Integração:

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 processo do sistema.Obrigatório.
Máximo EnvioQuantidade máxima de tentativas de comunicação, antes de 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.

...

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

Image RemovedImage Added


d. OUTRAS AÇÕES / GERAR PEDIDOS

...

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



04. TELA PEDIDOS

...

DA INTEGRAÇÃO

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.

O pedido poderá ser incluído manualmente através do botão Incluir da rotina, pelo Gerar Pedidos da rotina de Integrações ou via schedule. Os dados que fazem parte do pedido são:

Image Added

Detalhes dos campos do pedido:

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.  

...

Tela em MVC da tabela BZZ (Pedidos), que será acessada através do botão outras ações da tela de Integrações HealthMap. O Browser dos pedidos será filtrado de acordo com a integração posicionada, ou seja, se for acessado via Integração do cadastro de beneficiários, só será exibido os pedidos relacionados ao cadastro de beneficiários na tabela BZZ e assim também para o cadastro de Empresas.

Aberto o Browser dos pedidos, no menu terá a opção de Alterar, Visualizar, Excluir, Cancelar e Comunicar (Inclusão será feita somente via Classe de Coleta de Dados):

  1. Comunicar Pedido: Será feito o envio manual do Pedido para a HealthMap.
  2. Cancelar Pedido: Será alterado o status do pedido para 3-Envio Cancelado.
  3. Alterar/Visualizar Pedido: A tela irá mostrar os dados do pedido, além dos dados da integração, somente para visualização. (Alteração da tabela BXX somente pela tela de Integrações HealthMap como mostrado no tópico 3)

Image Removed

(Imagem ilustrativa, alterar para imagem do produto quando desenvolvido)

Detalhes dos Campos da tabela BZZ:

CampoDescriçãoOperadoraOperadora do SistemaCod. IntegraçãoCódigo de relacionamento com a tabela de Integrações
Cod. PedidoCódigo Incremental dos
Pedidos
pedidos.Obrigatório, Preenchimento automático.
Alias Prima.Tabela
chave
do
pedido para ser utilizado na busca de dados
cadastro que será utilizada para envio.Obrigatório, Preenchimento automático de acordo com a Integração posicionada.  
ChaveChave de busca do
Alias para posicionar nos registros
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
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
Data
com o sistema parceiro.Não editável, data em que foi
realizado
realizada a comunicação
com a HealthMap
do pedido com o sistema parceiro.
StatusStatus do pedido.Status do
Pedido
momento do pedido:
0 - Pendente de Envio
;
, 1 - Envio Realizado
;
, 2 - Erro de Envio
;
, 3 - Envio Cancelado.
Tent. EnvioTentativas de
Comunicação com o HealthMap
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
HealthMap

05. CLASSE PARA GRAVAR OS PEDIDOS 

A classe PLMapGrvPed, irá verificar as integração da HealthMap (Tabela BXX) se os Alias relacionados ao Cadastro de Beneficiários ou Empresa tiveram alguma alteração de acordo com o campo S_T_A_M_P_ das tabelas. Se houver alteração, será feito uma busca na tabela de pedido (BZZ) pelos campos: Cod. Integração + Alias Primário + Chave (Corresponde os dados que identificam o Beneficiário ou Empresa), para saber se tem algum pedido daquele Beneficiário ou Empresa pendente para não haver duplicidade de envio de dados.

Essa Classe possuirá alguns métodos como: 

...

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.

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

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.

Clicando, o sistema irá perguntar:

Image Added

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

Image Added

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.

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 








06. TABELAS UTILIZADAS

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

...

Será criado um schedule, onde poderá ser configurado a quantidade de vezes em que a classe PLMapGrvPed, irá buscar e gravar os pedidos de acordo com as integrações. 

06. CLASSE PARA COMUNICAR COM O HEALTHMAP

Criado os pedidos, será feito a comunicação com a HealthMap pela Classe PLMapComPed, que herda métodos da classe PLSRest.

Mas antes de comunicar, será feito a montagem do json de cada pedido através da classe PLMapBenef para o Cadastro de Beneficiários e PLMapEmpre para o Cadastro de Empresas.

Essas classe de montagem do Json possuirá alguns métodos como: 

  • Método para posicionar nas tabelas necessárias para montagem do Json, atráves da chave do alias primário.
  • Método para montagem do Json de acordo com a documentação de layout da HealthMap de cada Integração.

Caso possua métodos em comum para montagem do Json, será criado a classe PLMapJson (se necessário)
Feito a montagem do Json, será instanciado a classe de comunicação para envio do Json para a HealthMap. 

A Classe de comunicação PLMapComPed possuirá alguns métodos como:

  • Método para atualizar status do pedido, se foi enviado com sucesso ou ocorreu erro de envio.
  • Método para autenticação com o HealthMap.
  • Método para configurar da comunicação.

Image Removed

Será criado um schedule, onde poderá ser configurado a quantidade de vezes em que a classe PLMapComPed, irá realizar o envio dos pedidos pendentes para a HealthMap.

07. TABELAS UTILIZADAS

  • BXX (Integrações HealthMap)
  • BZZ (Pedidos HealthMap)
  • BA1 (Cadastro dos Beneficiários)
  • BA3 (Cadastro das Famílias)
    Necessário adicionar as tabelas utilizadas no desenvolvimento)
  • BTS (Cadastro de Vidas)
  • BG9 (Cadastro de Empresas)
  • BA0 (Cadastro de Operadoras)