Árvore de páginas

CONTEÚDO

  1. Visão geral
  2. Configurações e premissas
    1. Atualização do ambiente Protheus
    2. Definição de usuário e perfil no Legal Desk
    3. Configuração dos parâmetros
  3. Ativação do serviços de sincronização online
  4. Exemplo de utilização
    1. Exclusão
    2. Bloqueio
  5. Exceções e arquivos de Log
  6. Assuntos relacionados


01. VISÃO GERAL

Esta integração tem por objetivo realizar a sincronização imediata (online) com o Legal Desk nas exclusões ou atualizações de registros realizadas no módulo Pré-faturamento de Serviços (SIGAPFS).

As rotinas atendidas por essa integração são:

  • Exclusão de casos;
  • Exclusão de clientes;
  • Bloqueio de Participantes;


02. PREMISSAS E CONFIGURAÇÕES

Atualização do ambiente Protheus:

Necessária a execução da atualização de dicionário via UPDDISTR com o pacote de expedição contínua cuja data seja igual ou superior a 23/11/2023.

Após atualização do dicionário será criada a tabela OI9 (URL's integração LD).

Criar uma nova opção no menu em Miscelânea > Configurações > URLs Integração LD, indicando a rotina JURA315, para realizar as configurações de URL's da integração.


Definição de usuário e perfil no LegalDesk:

Para possibilitar a exclusão automática dos casos e clientes, são necessárias as seguintes configurações:

•    Criar um usuário no LegalDesk para esse serviço;
•    Definir um perfil de acesso para ele;


Configurações:

A tabela OI9 deverá ser preenchida com as URL's de acordo com cada rotina.

    • OI9_MODELO: Nome da rotina que terá a sincronização on-line
    • OI9_EXCLUSAO: Caminho da URL para a exclusão online (disponível apenas para as rotinas Cliente e Caso).
      • O trecho '#CODLD#' deve ficar exatamente no ponto em que deve estar o código do registro no Legaldesk, já que durante o processamento esse texto será substituído pelo código do registro que está sendo excluído.
      • O texto GERALADV indicado no exemplo abaixo é o perfil utilizado pelo usuário de integração. Caso esteja utilizando outro perfil, basta substituir esse trecho pelo nome do perfil. 
    • OI9_STATUS: Caminho da URL para a sincronização online de bloqueio (disponível apenas para a rotina de Participante).

OI9_MODELO

OI9_EXCLUSAO

OI9_STATUS

JURA148

API/v1/ODataGERALADV/ClienteViews('#CODLD#')


JURA070

API/v1/ODataGERALADV/CasoSyncViews('#CODLD#')


JURA159


API/v1/UpdateByCodigo/Profissional



No campo OI9_EXCLUSAO utilizar sempre apóstrofo (') entre a string CODLD. Conforme exemplo acima.


As informações na tabela poderão serem incluídas via Protheus acessando o caminho: SIGAPFS (módulo 77) → Miscelanea → Configurações → URLs Integração LD.

Também será necessário preencher os seguintes parâmetros:

PARÂMETRO

DESCRIÇÃO

EXEMPLO

MV_JLDURL

Url do LegalDesk

http://meulegaldesk/

MV_JLDUSR

Usuário do LegalDesk para execução do serviço

LDESK

MV_JLDPWD

Senha do usuário do LegalDesk para execução do serviço

LDESK@123


03. ATIVAÇÃO DO SERVIÇO DE SINCRONIZAÇÃO ONLINE

Com o ambiente atualizado, configurado e com os parâmetros preenchidos (conforme indicado no item 02), o serviço será executado na exclusão dos registros no SIGAPFS que tenham o campo "Código Legaldesk" (Cód Lanc LD) preenchido*.

*Campo de código do LegalDesk no cadastro de casos: NVE_CODLD.

*Campo de código do LegalDesk no cadastro de cliente: NUH_CODLD.


IMPORTANTE - Carga inicial

Para os registros antigos, será necessário realizar a carga inicial para preenchimento do CODLD manualmente através de script. Essa carga não será incluída na fila de sincronização.

04. EXEMPLO DE UTILIZAÇÃO

Exclusão:

No módulo SIGAPFS, ao acessar alguma das rotinas indicadas no item 01 deste documento, selecione a opção "Excluir" e confirme a exclusão do registro. A sincronização será acionada imediatamente e, desta forma, o registro será excluído também no LegalDesk.


Bloqueio:

No módulo SIGAPFS, ao acessar alguma das rotinas indicadas no item 01 deste documento, selecione a opção "Alterar", trocar o status do registro e confirmar. A sincronização será acionada imediatamente e, desta forma, o registro será bloqueado/desbloqueado também no LegalDesk.


05. EXCEÇÕES E ARQUIVO DE LOG

Caso ocorra alguma das situações citadas abaixo durante a operação, será apresentada mensagem de aviso e o processo será interrompido, não efetivando a exclusão/alteração do registro no SIGAPFS e no LegalDesk:

  • URL informada no parâmetro MV_JLDURL incorreta e não é possível realizar a conexão;
  • APIs informadas nos campos OI9_EXCLUSÃO ou OI9_STATUS estiverem incorretas e não for possível realizar a conexão;
  • Usuário e/ou senha indicados nos parâmetros MV_JLDUSR e MV_JLDPWD (respectivamente) incorretos;
  • Alguma regra de integridade/validação durante a exclusão/alteração do registro no LegalDesk não está sendo atendida;


Quando ocorrerem as situações citadas abaixo, o registro não será excluído/alterado no LegalDesk, mas será excluído/alterado normalmente no SIGAPFS. Será criado então um registro na fila de sincronização para realizar a exclusão/alteração do registro no LegalDesk.

  • Exclusão de registros com o campo "Código LegalDesk" (Cód Lanc LD) vazio;
  • Parâmetros MV_JLDURL, MV_JLDUSR, MV_JLDPWD e tabela OI9 inexistentes ou com conteúdo vazio.

O mesmo comportamento será aplicado para as situações abaixo e também será gerado um arquivo de log no formato texto (extensão .txt) para possível análise**:

  • A rotina de sincronização não encontrou o registro no LegalDesk.
  • Instabilidade/demora na conexão entre o SIGAPFS e o LegalDesk.


Nome do arquivo:

  • Rotina_Data_Hora_CódigoLegalDesk

Informações do arquivo:

  • Operação realizada.
    • Será indicado DELETE para exclusões.
    • Será indicado STATUS para bloqueio/desbloqueio.
  • Participante que realizou a operação, com o código, a sigla e o nome do participante.
  • Data e hora de envio.
  • Erro.


Exemplo:

Nome do arquivoConteúdo do arquivo
JURA070_20230517_180212_64511786-7662-0016-ec6c-104ff6151ad2.txtOperação: DELETE
Participante: 000002 - ADM - PART ADMIN
Data e hora de envio: 17/05/2023 - 18:02:12
Erro: 404 NotFound
JURA148_20230517_180212_64511786-7662-0016-ec6c-104ff6151ad2.txtOperação: DELETE
Participante: 000002 - ADM - PART ADMIN
Data e hora de envio: 17/05/2023 - 18:02:12
Erro: 404 NotFound
JURA159_20231109_154513_.txtOperação: STATUS
Participante: 000002 - ADM - PART ADMIN
Data e hora de envio: 09/11/2023 - 15:45:13
Erro: 500 InternalServerError
Complemento do erro: {
  "result": {
    "error": true,
    "type": "general",
    "message": "Numero de entidades atualizadas '0' não corresponde ao esperado '1'",
    "stackTrace": "RequestUri: /api/v1/UpdateByCodigo/Profissional\r\nStackTrace: System.InvalidOperationException: Numero de entidades atualizadas '0' não corresponde ao esperado '1'\r\n   at Juritis.LegalDesk.WebApi.Controllers.UpdateByCodigoController.UpdateByCodigo(String entity, Parameters data)\r\n   at lambda_method(Closure , Object , Object[] )\r\n   at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass6_2.<GetExecutor>b__2(Object instance, Object[] methodParameters)\r\n   at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__6.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__6.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Controllers.ExceptionFilterResult.<ExecuteAsync>d__6.MoveNext()"
  }
}

IMPORTANTE: Esses arquivos ficarão no diretório JURLOGSYNCONLINE na pasta ProtheusData. Essa pasta será criada automaticamente na primeira ocorrência.


06. ASSUNTOS RELACIONADOS