CONTEÚDO
- Visão Geral
- Exemplo de utilização
- Principais Campos e Parâmetros
- Configuração ambiente Protheus Rest
- Tabelas utilizadas
01. VISÃO GERAL
Modelo de dados a ser seguido para 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) .
Configurar no Schedule o Job FWTOTVSLINKJOB .
IMPORTANTE
Inserir a configuração somente no ambiente que estiver em produção.
Bases de testes que estejam configuradas com o Smartlink 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.
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 :
Parâmetros da propriedade "data" deveram ser enviados conforme a documentação API balancete modelo1.
{ "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:
{ "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." } }
OBS: Erro: não foi encontrado servidor Rest, verifique se o serviço Rest foi iniciado.
03. Principais Campos e Parâmetros
Os campos e parâmetros devem ser passados conforme padrão Padrão CloudEvents/Modo Estruturado . O conteúdo da propriedade data:{} deve ser enviado conforme documentação: documentação API balancete modelo1.
04. Configuração do ambiente Protheus Rest
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.
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