Histórico da Página
CONTEÚDO
- Visão Geral
- Configurações
- Exemplo de utilização
- Principais Campos e Parâmetros Demais Informações
- Tabelas utilizadasOutras Informações
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 (CTBR040CTR040S) 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
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
|
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": "CT2readXGsp", /// obs: type a definir (time techfin) de acordo com a configuração da fila e método de leitura do fonte ADVPLPrtBalanRead", "tenantId": "c6486a57d87804f9-3447xxxx-461dxxxx-bcdf9393-d66b94226f69fe9ef0d13c10", /// tenant do cliente "timegeneratedOn": "2021-06-08T15:18:08.367574Z", "id": "CODIGO IDENTIFICADOR DA MENSAGEM", "data": { "GRUPO_EMPRESACNPJ":"T153113791", "DATA_INICIAL": "01/01/2023", "DATA_FINALINICIAL": "2701/0901/2023", "CONTA_INICIAL": "CTBXATUC", "CONTADATA_FINAL": "CTBXATUD31/12/2023", "FILIAL": "D MG 02 ", "COD_PLANO_REF": "000001", "PLANO_REF_ENTIDADE": "00" } } |
OBS: Parâmetros da propriedade "data" deveram ser enviados conforme a documentação API balancete modelo1.
...
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "specversion": "1.0", "time": "2022-10-18T11:04:03-03:00", "type": "CT2respXGspPrtBalanResp", /// obs: type de resp (time techfin) a definir "tenantId": "c6486a57-3447-461d-bcdf-d66b94226f69 "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:
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."
}
} |
Aviso | ||
---|---|---|
| ||
04. DEMAIS INFORMAÇÕES
Schedule - Como agendar a execução de rotinas
05
...
Os campos e parâmetros devem ser passados conforme padrão Padrão CloudEvents/Modo Estruturado por meio da propriedade data:{} conforme documentação: documentação API balancete modelo1.
...
. 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
05. OUTRAS INFORMAÇÕES
Fonte exemplo para leitura do SMARTLINK em anexo:
...