returnEasier
Para a tua loja
Para a tua lojaComerciante7 min de leitura

O que é o registo de auditoria e como exporto o meu histórico auditável?

O registo de auditoria do returnEasier é um registo imutável de cada pedido e de cada evento, encadeado com hashes SHA-256 para que ninguém o possa alterar. Em Conformidade → Exportar pode descarregar um ZIP com dois CSV, os PDF de comprovativo e um ficheiro de integridade. Até 100 pedidos descarregam-se de imediato; entre 101 e 1000 chegam-lhe por email.

O registo de auditoria do returnEasier é um registo imutável de tudo o que acontece com os seus pedidos: cada vez que se cria um, se aprova, se marca como recebido ou se reembolsa, fica uma linha que não se pode modificar nem apagar. Cada evento é selado com um hash SHA-256 encadeado com o anterior, formando uma cadeia à prova de manipulação. Quando precisa de entregar provas —a um auditor, à administração ou ao seu consultor— vai a Conformidade → Exportar e descarrega um ZIP com todo o histórico e um ficheiro de integridade para o verificar.


Porque é que o registo é imutável?

A tabela de eventos é append-only: a base de dados só admite acrescentar linhas. Um trigger de PostgreSQL rejeita qualquer tentativa de UPDATE ou DELETE sobre ela, venha de onde vier (a aplicação, um script, uma migração ou um atacante com permissões). Não é uma promessa de configuração: está imposto no motor da base de dados.

Sobre essa base constrói-se a cadeia de hashes:

  • Cada evento converte-se num JSON canónico (chaves ordenadas, sem ambiguidade) e calcula-se-lhe um SHA-256.
  • Esse hash calcula-se incluindo o hash do evento anterior (hash_anterior). O primeiro evento de cada cadeia é o «génesis».
  • Se alguém mudasse um único dado de um evento passado, o seu hash mudaria e deixaria de bater certo com o hash_anterior do evento seguinte: a manipulação denuncia-se a si mesma.

Os pedidos (return_requests) levam também o seu próprio hash e hash anterior, que se incluem na exportação para que se possam verificar fora da aplicação.

Como exporto o meu histórico auditável?

A exportação vive em Conformidade → Exportar (rota /app/settings/compliance/export) dentro da aplicação, no Shopify Admin.

  1. Abra Conformidade → Exportar no menu lateral.
  2. Indique um intervalo de datas: «de» e «até» (formato data). Pode deixar ambos vazios para exportar todo o seu histórico. As datas interpretam-se no fuso horário da sua loja (por predefinição Europe/Madrid).
  3. Clique em exportar. Consoante o número de pedidos do intervalo, o returnEasier faz uma de duas coisas (ver mais abaixo).

Descarga imediata ou por email, consoante o volume

O returnEasier ajusta a entrega ao tamanho do intervalo para não bloquear o navegador com descargas enormes:

Pedidos no intervalo O que acontece
0 – 100 Gera-se e descarrega-se o ZIP de imediato.
101 – 1000 O returnEasier envia-lhe o ZIP por email (ligação temporária).
Mais de 1000 A exportação é rejeitada: restrinja o intervalo de datas.

O limite rígido é de 1000 pedidos por exportação. Se o seu histórico for maior, divida-o em vários intervalos de datas (por exemplo, trimestre a trimestre) e exporte cada um.

O que há dentro do ZIP?

O ficheiro chama-se returneasier-auditoria-<a-sua-loja>-<data>.zip e contém:

  • LEEME.txt — guia em linguagem clara: o que é cada ficheiro e como verificar a integridade.
  • solicitudes.csv — uma linha por pedido, com colunas como public_id, tipo, estado, creada_en_utc, resuelta_en_utc, pedido, cliente_email, cliente_nombre, importe, moneda, motivo, resolucion_preferida, notas_cliente, hash, hash_anterior e refund_id.
  • eventos.csv — o registo append-only completo: public_id, evento, actor, actor_id, fecha_utc, hash, hash_anterior e payload_json.
  • pdfs/ — os PDF de comprovativo de cada resolução do contrato, um por pedido.
  • INTEGRITY.json — o ficheiro de integridade: algoritmo (SHA-256), contagens, o hash de cada ficheiro do ZIP e a verificação de cada cadeia de eventos.

Como verifico a integridade da exportação?

O INTEGRITY.json é a peça-chave para demonstrar que nada foi tocado:

  • Traz o hash SHA-256 de cada ficheiro do ZIP. Recalcule o hash de, por exemplo, eventos.csv com qualquer ferramenta padrão e compare-o com o que aí figura.
  • Inclui a verificação de cada cadeia de eventos: por cada pedido indica se a sua cadeia está «ok» ou «quebrada» e, se for o caso, o motivo (cadeia bifurcada, ciclo, hash que não recompõe…).
  • Se algum PDF não pôde ser recuperado (por exemplo, porque foi apagado por um pedido RGPD), fica anotado na lista de PDF não disponíveis com o seu motivo, em vez de fazer falhar a exportação inteira.

O próprio INTEGRITY.json não pode conter o seu próprio hash, por isso é o único ficheiro que não se autoverifica; todo o resto sim.

Relação com outras funções

O registo de auditoria é a base dos modelos legais e do PDF de comprovativo (ver «O PDF de comprovativo da resolução do contrato»): cada confirmação de resolução do contrato que se envia ao cliente fica ancorada à cadeia de hashes. Para entender que emails geram esses eventos, veja «Os emails que o returnEasier envia». E antes de desinstalar ou cancelar, convém exportar o histórico: explica-o «Desinstalar ou cancelar o returnEasier».

Este artigo foi-te útil?