Á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
  3. Exemplo de utilização
  4. Principais Campos e Parâmetros Demais Informações
  5. Tabelas utilizadas


Esse documento apresenta os passos necessários para ativação e consumo da API Balancete Modelo1 (CTR040S) via Smartlink .

Essa integração prevê a leitura de mensagens enviadas ao SmartLink, através de uma rotina configurada no Schedule do ambiente do cliente. As mensagens serão consumidas pelo ERP, que fará o processamento do Balancete conforme parâmetros solicitados.

A partir dos dados recebidos pelo ERP, haverá a chamada de uma API dentro do próprio ERP, que estará disponível para consumo através das configurações REST citadas abaixo. Após o consumo dessa API, uma mensagem de retorno será enviada ao SmartLink com os dados do Balancete. 

Será necessária a atualização do ambiente seguindo a ordem descrita nos tópicos abaixo.

...


Expandir
titleAmbiente Protheus - Requisitos

1) Release Protheus a partir da 12.1.2210

2) Aplicação das atualizações CTB, com data superior a 29/05/2024 e conforme release do ambiente.

Expandir
titleComunicação Smartlink

Configurar a comunicação com SmartLink, inserindo as credenciais do cliente (clientId e clientSecret) na rotina FwSgdpParm - Comunicação SmartLink 

Image Added

Configurar o SMARTLINK de acordo com a documentação: Comunicação SmartLink utilizando as credenciais (client_id e client_secret) .(jogar no tópico 2....)

...

Aviso
titleIMPORTANTE

Inserir a configuração somente no ambiente que estiver em produção.

Bases de testes que estejam configuradas com o Smartlink utilizando as mesmas credenciais, interceptarão mensagens da fila da mesma forma que a base de produção, fazendo com que a gravação ou retorno dos dados sejam executados na base de testes. 

...

Para utilizar a rotina de importação automática são necessários as configurações abaixo descritas:

Expandir
titleCadastrando o agendamento "Schedule" (CFGA010)
  1. Acesse, no módulo Configurador (SIGACFG),  Ambiente →  Cadastros →  Schedule →  Agendamentos →  Cadastro →  Botão Incluir:
    info
  2. Configurar no Schedule o Job FWTOTVSLINKJOB, responsável pela leitura das mensagens que serão enviadas ao SmartLink .

    Image Added

  3. Feito isso, "Confirme" a inclusão do Agendamento:

Após realizado as definições acima, clique em "Recorrência", para definir a recorrência de execução do Job:
Defina em qual momento e quantas vezes será realizado o processamento e "Confirme":
Image RemovedFeito isso, "Confirme" a inclusão do Agendamento:
Ainda no Cadastro do Schedule (CFGA010) acesse: Agent > Cadastro > Adicionar Agents Padrão
Ao realizar a inclusão de um AGENT padrão, automaticamente o sistema já preenche os dados do ambiente padrão (logado) - IP do AppServer, Porta e Ambiente - que será executado o Job parametrizado anteriormente.
Expandir
title
Importante

O botão "Parâmetros" não será utilizado para a rotina FINA475, pois os parâmetros de execução são definidos no Cadastro Parâmetros de Bancos FINA130.

Expandir
titleCadastrando Parâmetros Bancos (FINA130)

Este cadastro tem como finalidade configurar os parâmetros bancários utilizados em diversas operações relacionadas a comunicação bancária.

...

titleConfiguração de Envio de E-mail - Visão Geral
Ambiente Protheus - REST

O sistema irá chamar a api com base nos parâmetros configurados no arquivo appserver.ini conforme modelo abaixo:

Image Added

Para o modelo acima a requisição será direcionada para o endereço :  http://localhost:9090/api/ctb/balance/model1

Inserir também a chamada do serviço REST na seção ON START:

Image Added


Observações: 

  1.  O sistema irá procurar a tag HTTPREST consultar o parâmetro URIs para encontrar a tag que define o caminho do servidor Rest no caso acima:  URL=/rest
  2.  O sistema irá procurar a porta configura na tag HTTPREST para montagem da consulta api.
  3.  Se as tags e parâmetros não existirem ou não estiverem configuradas o retorno para a chamada será de 404 not found pois o sistema não encontrará a api para consulta.
  4.  Em casos onde o security = 1 a api deverá ser adicionada na lista de exceções conforme modelo abaixo.

Image Added

Documentação completa das configurações REST/Server


Abaixo temos o modelo de mensagem enviada ao Smartlink, que ficará disponível para consumo através do Job schedulado no ERP.

O atributo type indica o evento a ser executado no ERP.

O job FWTOTVSLINKJOB identifica uma nova mensagem e faz a chamada à classe PrtBalanRead (CTR040S), responsável pela chamada da API que fará o processamento do Balancete.

...

titleConfigurações de Credenciais para Importação do Extrato via API

Envio de dados deve ser realizado via SmartLink utilizando o Padrão CloudEvents/Modo Estruturado para envio de mensagens no formato Json de acordo com o modelo a seguir :

Aviso
titleParâmetros da propriedade "data" deveram ser enviados conforme a documentação API balancete modelo1.

API balancete modelo1

Bloco de código
languagejava
titleJson de envio balancete contábilsolicitação do Balancete Contábil
collapsetrue
{
    "specversion": "1.0",
    "type": "PrtBalanRead",
    "tenantId": "d87804f9-xxxx-xxxx-9393-fe9ef0d13c10", /// tenant do cliente   
    "generatedOn": "2021-06-08T15:18:08.367574Z",
	"id": "CODIGO IDENTIFICADOR DA MENSAGEM",
    "data": {
        "CNPJ":"53113791",
        "DATA_INICIAL": "01/01/2023",
        "DATA_FINAL": "31/12/2023", 
    }
}

...

Bloco de código
languagejava
titleExemplo de resposta
collapsetrue
{
    "specversion": "1.0",
    "time": "2022-10-18T11:04:03-03:00",
    "type": "PrtBalanResp",        
	"tenantId": "d87804f9-xxxx-xxxx-9393-fe9ef0d13c10", /// tenant do cliente  
 	"id": "CODIGO IDENTIFICADOR DA MENSAGEM",
    "data": {
    	"items": [
        	{
            	"conta": "CTBXATUC",
            	"condicao_normal": "2",
            	"superior": "",
            	"classe": "2",
            	"natureza": "01",
            	"descricao": "REAL",
            	"saldo_anterior": 0,
            	"debito": 0,
            	"credito": 1600.6,
            	"saldo_atual": 1600.6,
            	"movimento": 1600.6,
            	"conta_referencial": "",
            	"descricao_referencial": ""
        	}
    	],
    "hasNext": false,
    "remainingRecords": 0,
    "po_sync_date": "2023-09-29T19:13:15Z"
} }

...

Bloco de código
languagejava
titleExemplo de resposta com erro
collapsetrue
{
    "specversion": "1.0",
    "time": "2022-10-18T11:04:03-03:00",
    "type": "PrtBalanResp",
	"tenantId": "d87804f9-xxxx-xxxx-9393-fe9ef0d13c10", /// tenant do cliente   
 	"id": "CODIGO IDENTIFICADOR DA MENSAGEM",
    "data": {
		"error":"Host not found."
    } 
}

OBS: Erro: não foi encontrado servidor Rest, verifique se o serviço Rest foi iniciado.

...

Aviso
titleO conteúdo do atributo data:{ } presente na requisição do Balancete, permite que mais parâmetros sejam enviados, para determinar filtros e regras a serem aplicadas na geração do Balancete. Esses parâmetros devem ser enviados conforme detalhados na documentação

...

API balancete modelo1.

O sistema irá chamar a api com base nos parâmetros configurados no appserver.ini conforme modelo abaixo:

Image Removed

para o modelo acima a requisição será direcionada para o endereço :  http://localhost:9090/api/ctb/balance/model1

Observações: 

  1.  O sistema irá procurar a tag HTTPREST consultar o parâmetro URIs para encontrar a tag que define o caminho do servidor Rest no caso acima:  URL=/rest
  2.  O sistema irá procurar a porta configura na tag HTTPREST para montagem da consulta api.
  3.  Se as tags e parâmetros não existirem ou não estiverem configuradas o retorno para a chamada será de 404 not found pois o sistema não encontrará a api para consulta.

Importante:

Em casos onde o security = 1 a api deverá ser adicionada na lista de exceções conforme modelo abaixo.

...

API balancete modelo1

Schedule - Como agendar a execução de rotinas

Configuração REST

API - Balancete Modelo 1

  • CT1- Plano de Contas
  • CQ0- Saldo por Conta no Mês
  • CQ1- Saldo por Conta no Dia        
  • CVN - Plano de Contas Referencial
  • CVD - Plano de Contas Referenciais  
  • CTG - Calendário Contábil       

...