Árvore de páginas

CONTEÚDO

  1. Visão Geral
  2. Exemplo de utilização
  3. Principais Campos e Parâmetros 
  4. Configuração ambiente Protheus Rest
  5. 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.

Json de envio balancete contábil
{
    "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:

Exemplo 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:

Exemplo 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": {
		"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: 

  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.

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