Histórico da Página
CONTEÚDO
- Visão Geral
- Configurações
- Exemplo de utilização
- Principais Campos e Parâmetros
- Configuração ambiente Protheus Rest
- Demais Informações
- Tabelas utilizadas
01. VISÃO GERAL
Modelo de dados a ser seguido para Esse documento apresenta os passos necessários para ativação e consumo da API Balancete Modelo1 (CTR040S) via Smartlink .Configurar o SMARTLINK de acordo com a documentação: Comunicação SmartLink utilizando as credenciais (client_id e client_secret) . .
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.
02. CONFIGURAÇÕES
Expandir | ||
---|---|---|
| ||
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 | ||||||
---|---|---|---|---|---|---|
| ||||||
Configurar a comunicação com SmartLink, inserindo as credenciais do cliente (clientId e clientSecret) na rotina FwSgdpParm - Comunicação SmartLink
|
02. EXEMPLO DE UTILIZAÇÃO
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 :
...
title | Parâmetros da propriedade "data" deveram ser enviados conforme a documentação API balancete modelo1. |
---|
Expandir | ||
---|---|---|
| ||
|
Expandir | ||
---|---|---|
| ||
O sistema irá chamar a api com base nos parâmetros configurados no arquivo appserver.ini conforme modelo abaixo: 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: Observações:
Documentação completa das configurações REST/Server |
03. EXEMPLO DE UTILIZAÇÃO
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.
...
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "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", } } |
Fomato de resposta:
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "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 | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "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.
03. Principais Campos e Parâmetros
...
Aviso | ||
---|---|---|
|
...
| |
04.
...
O sistema irá chamar a api com base nos parâmetros configurados no appserver.ini conforme modelo abaixo:
para o modelo acima a requisição será direcionada para o endereço : http://localhost:9090/api/ctb/balance/model1
Observações:
- 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
- O sistema irá procurar a porta configura na tag HTTPREST para montagem da consulta api.
- 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.
...
DEMAIS INFORMAÇÕES
Schedule - Como agendar a execução de rotinas
05. TABELAS UTILIZADAS
- 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
...