CONTEÚDO
- Visão Geral
- Configurações
- Exemplo de utilização
- Demais Informações
- Tabelas utilizadas
01. VISÃO GERAL
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.
02. CONFIGURAÇÕES
Ambiente 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.
Comunicação Smartlink
Configurar a comunicação com SmartLink, inserindo as credenciais do cliente (clientId e clientSecret) na rotina FwSgdpParm - Comunicação SmartLink
Cadastrando o agendamento "Schedule" (CFGA010)
- Acesse, no módulo Configurador (SIGACFG), Ambiente → Cadastros → Schedule → Agendamentos → Cadastro → Botão Incluir:
- Configurar no Schedule o Job FWTOTVSLINKJOB, responsável pela leitura das mensagens que serão enviadas ao SmartLink .
- Feito isso, "Confirme" a inclusão do Agendamento:
Ambiente Protheus - REST
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:
- 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.
- Em casos onde o security = 1 a api deverá ser adicionada na lista de exceções conforme modelo abaixo.
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.
{
"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",
}
}
{
"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"
} }
OBS: Caso houver algum erro a propriedade "error" será retornada ex:
{
"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."
}
}
Schedule - Como agendar a execução de rotinas
Configuração REST
API - Balancete Modelo 1
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