Com o documentType «AuditLog», é agora possível registar eventos não transacionais (por exemplo, inícios de sessão de utilizadores ou a abertura da gaveta de dinheiro) e submetê-los a assinatura através do ponto de extremidade padrão, tal como acontece com os recibos normais.
1. Novo tipo de documento (documentType)
A DocumentType enum contém agora a seguinte opção para registar eventos auditáveis:
- AuditLog (1002)
2. Novas propriedades no modelo de documento
Quando define o documentType para AuditLog, as seguintes novas propriedades devem ser utilizadas no Document :
| Propriedade | Tipo | Descrição |
|---|---|---|
| AuditLogEntryType | Enumeração LogEntryType | (Obrigatório) Define o tipo de evento de auditoria. Pode encontrar uma lista completa na secção seguinte. |
| amount | decimal? | (Opcional) Um valor monetário associado à entrada de registo, por exemplo, o montante de uma discrepância na caixa registadora. |
| identifier | string | (Opcional) Uma string adicional para identificação ou para fornecer mais contexto, por exemplo, para indicar qual a gaveta de dinheiro que foi aberta. |
3. Eventos de AuditLogEntryTypes
Eventos de documento
- documentReprintOther
- documentSuspend
- documentResume
- documentTrainingModeOn
- desativar modo de formação do documento
- documentoTipoVendas
- documentoTipoDevolução
- documentoTipoProforma
- tipo de documento Entrega
- tipo de documento: Formação
- tipo de documento «Levantamento»
- tipo de documento Pagamento
- tipo de documento: Depósito
- tipo de documento Saldo Inicial
- tipo de documento «Recibo nulo»
- tipo de documento «Fatura»
- tipo de documento Outro
- tipo de documento Anulação
- tipo de documento Encomenda a longo prazo
- tipo de documento: confirmação de pagamento
- tipo de documento Encomenda do Cliente
- tipo de documento Inventário
- tipo de documento Compra
- reimpressão de documento de encomenda de longo prazo
- reimpressão de documento de confirmação de pagamento
- reimpressão de recibo
- reimpressão de fatura
- documentoDuplicadoRecibo
- documentoDuplicado da fatura
- documentoAnularEncomenda de Longo Prazo
- rastrear encomenda de longo prazo não impressa
- documentoCancelamento de Linha
- documentoAnularLinha
- documentoCancelamentoDoDocumento
- documentUpdatePayment
- atualização de documento de encomenda de longo prazo
- documentUpdateLine
- documentUpdateTable
Eventos de hardware e do utilizador
- gavetaAberta
- fecho da gaveta
- impressora indisponível
- impressora disponível
- userLogin
- sair do utilizador
- alteração dos direitos do utilizador
Eventos de Aplicações e do Sistema
- início da aplicação
- encerramento da aplicação
- atualização da aplicação
- atualização menor da aplicação
- atualização do middleware fiscal da aplicação
- modo de emergência da aplicação ativado
- desativação do modo de emergência da aplicação
- inicialização da aplicação
- aplicaçãoAdicionarEstaçãoDeTrabalho
- aplicaçãoExcluirEstaçãoDeTrabalho
- ativarModoOfflineDaAplicação
- applicationOfflineModeOff
Eventos relacionados com dados mestre e integridade dos dados
- alteração do preço de um item de dados mestre
- consulta de preço de item de dados mestre
- atualização da empresa de um item de dados mestre
- transferOwnership
- dataIntegrityBackupDatabase
- dataIntegrityRestoreDatabase
- limpeza da integridade dos dados da base de dados
- limpeza do registo de eventos de integridade de dados
- Integridade dos dados - Recuperação de dados
- dataIntegrityForwardData
- Consolidação da Integridade dos Dados Concluída
- Falha na integridade dos dados
- alteração da sequência de dados
- Falha na sequência de dados
- importação de dados externos
- exportação de dados para fins contabilísticos
- exportação de dados genérica
Eventos Fiscais e de Relatórios
- dia de encerramento do período fiscal
- mês de encerramento do período fiscal
- ano de encerramento do período fiscal
- dia de encerramento do relatório fiscal
- relatório fiscal do utilizador
- erro fiscal recebido das autoridades
- ano de arquivo fiscal
- arquivo fiscal intermédio
- exportação do diário fiscal
- chave de atualização da assinatura fiscal
- auditoria fiscal
- transferência de ficheiros de auditoria fiscal
Geral
- outro (um tipo genérico para eventos não incluídos na lista)
4. Envio de um documento AuditLog
Os documentos AuditLog são enviados para o mesmo ponto de extremidade que todos os outros documentos transacionais:
POST /api/v1/transactions/storeDocument
Exemplo de JSON payload
{
"ModelVersion": "1.6.1",
"UniqueClientId": "2a296a14-f644-4f3f-9ea2-d3f00a3b587c",
"UniqueCashRegisterId": "005-006",
"FiscalModuleVersion": "1.10.2.0",
"FiscalCountryModuleVersion": "1.0.21",
"SoftwareName": "x x x",
"AdditionalFields": {},
"AutomaticVatCalculation": 0,
"AuditLogEntryType": "userLogin",
"DocumentGuid": "a1a1a1a1-b2b2-c3c3-d4d4-e5e5e5e5e5e5",
"DocumentId": "AUD-LOGIN-001",
"CreateDate": "2025-08-08T12:59:10+02:00",
"BookDate": "2025-08-08T12:59:10+02:00",
"DocumentNumber": "AUD-LOGIN-001",
"IsTraining": true,
"DocumentType": "[1002] = AuditLog",
"User": {
"Id": "Armir A",
"Caption": "Armir A"
},
"AllocationGroups": [],
"PositionCount": 0,
"FiscalDocumentNumber": 8,
"FiscalDocumentRevision": 1,
"FiscalDocumentStartTime": 1754657874,
"Positions": [],
"Payments": [],
"AdditionalHeader": [],
"AdditionalFooter": [],
"FiscalAdditionalFields": {}
}Exemplo de resposta
A resposta contém dados de fiscalização relevantes para o respetivo país, tal como no exemplo abaixo para a Alemanha, que inclui detalhes relativos ao TSE (Equipamento Técnico de Segurança).
{
"FiscalCountry": "[0] = Germany",
"FiscalisationDocumentNumber": 8,
"FiscalDocumentNumber": "8",
"FiscalDocumentStartTime": 1754657874,
"ProcessStartTime": 0,
"ErrorDescription": null,
"CashRegisterId": "005-006",
"Signature": "wn0cwKYhCes0dy4gEfjB7aAQF+iHXsyX3E6u9bBsJtJZTMtOoJ4IMDUYNJzZyykmZdrEMiT3YqtBvG7J/3sNzw==",
"UserMessage": null,
"PrintMessage": "***Test***",
"RequestTime": "2025-08-08T12:58:47.310674+00:00",
"RequestCompletionTime": "2025-08-08T12:58:47.6602076+00:00",
"QrCode": "V0;005-006;SonstigerVorgang;AVSonstige;8;78;2025-08-08T12:57:54.000Z;2025-08-08T12:58:46.000Z;ecdsa-plain-SHA256;unixTime;wn0cwKYhCes0dy4gEfjB7aAQF+iHXsyX3E6u9bBsJtJZTMtOoJ4IMDUYNJzZyykmZdrEMiT3YqtBvG7J/3sNzw==;BFG6opUQnbSdHq76J8py+zy5iw9zeCdwgRkhQJIkDKz38NrDiAiFvNwKf4NRRyzyRXGZB1vuFmqWJLr+gi6GKIg=",
"PrintingFields": {
"NOT IMPLEMENTED": "NOT IMPLEMENTED"
},
"AdditionalFields": {
"QrCodeDataString": "V0;005-006;SonstigerVorgang;AVSonstige;8;78;2025-08-08T12:57:54.000Z;2025-08-08T12:58:46.000Z;ecdsa-plain-SHA256;unixTime;wn0cwKYhCes0dy4gEfjB7aAQF+iHXsyX3E6u9bBsJtJZTMtOoJ4IMDUYNJzZyykmZdrEMiT3YqtBvG7J/3sNzw==;BFG6opUQnbSdHq76J8py+zy5iw9zeCdwgRkhQJIkDKz38NrDiAiFvNwKf4NRRyzyRXGZB1vuFmqWJLr+gi6GKIg=",
"TransactionStartTime": 1754657874,
"TransactionEndTime": 1754657926,
"ProcessData": "AVSonstige",
"ProcessType": "SonstigerVorgang",
"TseSerial": "2b56a7b994fdb3be51f973b311db0a4494d88dc2d63efdc8fb6c2f1f3df1b696",
"TseTimeFormat": "unixTime",
"TseHashAlgorithm": "ecdsa-plain-SHA256",
"TsePublicKey": "BFG6opUQnbSdHq76J8py+zy5iw9zeCdwgRkhQJIkDKz38NrDiAiFvNwKf4NRRyzyRXGZB1vuFmqWJLr+gi6GKIg=",
"TseSignatureCounter": 78,
"TseCertificate": "MIID0jCCA1mgAwIBAgIRAOxMaXsnzvjB/LzUZ7EN3ogwCgYIKoZIzj0EAwMwVTELMAkGA1UEBhMCQVQxFTATBgNVBAoTDGZpc2thbHkgR21iSDEjMCEGA1UEAxMaVEVTVC1GSVNLQUxZLVRTRS1TVUItQ0EtMDExCjAIBgNVBAUTATEwHhcNMjUwNjI3MDAwMjM0WhcNMzMwNjI3MjM1OTU5WjCB2TELMAkGA1UEBhMCQVQxFTATBgNVBAoTDGZpc2thbHkgR21iSDFOMEwGA1UEAwxFVEVTVC1CU0ktRFNaLUNDLTExNTNfQlNJLURTWi1DQy0xMTMwX0M0RjlFNkVDNkUxRTRENjg5NTlDNjFEREFDNjU0QTdDMUkwRwYDVQQFE0AyYjU2YTdiOTk0ZmRiM2JlNTFmOTczYjMxMWRiMGE0NDk0ZDg4ZGMyZDYzZWZkYzhmYjZjMmYxZjNkZjFiNjk2MRgwFgYDVQQuEw9CU0ktRFNaLUNDLTExNTMwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARRuqKVEJ20nR6u+ifKcvs8uYsPc3gncIEZIUCSJAys9/Daw4gIhbzcCn+DUUcs8kVxmQdb7hZqliS6/oIuhiiIo4IBgzCCAX8wDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAU4lSqfYaZDlZy+rtN24iJKVDaxzYwRAYIKwYBBQUHAQEEODA2MDQGCCsGAQUFBzAChihodHRwczovL2thc3NlbnNpY2h2LXRlc3QtcGtpLmZpc2thbHkuY29tMF4GA1UdHwRXMFUwU6BRoE+GTWh0dHA6Ly9rYXNzZW5zaWNodi10ZXN0LXBraS5maXNrYWx5LmNvbS9jcmw/aXNzdWVyPVRFU1QtRklTS0FMWS1UU0UtU1VCLUNBLTAxMEcGA1UdEgRAMD6BEm9mZmljZUBmaXNrYWx5LmNvbYYoaHR0cHM6Ly9rYXNzZW5zaWNodi10ZXN0LXBraS5maXNrYWx5LmNvbTBPBgNVHSAESDBGMEQGCisGAQQBg7YgAQMwNjA0BggrBgEFBQcCARYoaHR0cHM6Ly9rYXNzZW5zaWNodi10ZXN0LXBraS5maXNrYWx5LmNvbTAKBggqhkjOPQQDAwNnADBkAjAanoJFOYfYD6PN8k2WfLLiskBHuGiYKkLrTJWlvwzLpMU+7UeZT85eizm5BLo6OWwCMBsv+mErzb9grV/kHJsu9tJcIqhWXJSdKabAc4J6mTtiCFMSUikJgwO9NTpTdd1KEg==",
"FiscalDocumentRevision": 2
}
}
Este artigo foi traduzido automaticamente.
Comentários
0 comentários
iniciar sessão para comentar.