Skip to main content
export.completed é emitido depois que um ExportJob é concluído. Handlers usam este evento para executar efeitos assíncronos fora do fluxo síncrono.

Detalhes do Evento

PropriedadeValor
Tipoexport.completed
OrigemProcessamento de ExportJob
PublicaçãoApós commit do ExportJob
Quandostatus = COMPLETED.

Handlers

HandlerResponsabilidadeDados usadosExecução
send-export-completed-messageAvisa o solicitante.dataAssíncrona.

Payload

CampoTipoDescrição
dataExportJobEntidade ExportJob concluída

Regras dos handlers

  • Handlers não rodam na transação que publicou o ExportJob.
  • Falha em handler não desfaz o ExportJob.
  • Cada handler deve ser idempotente.
  • Novos handlers podem ser adicionados sem mudar o fluxo síncrono.

Exemplo

{
  "type": "export.completed",
  "data": {
    "exportJobId": "0197f604-49fe-7b73-bb81-df2e93a7e47d",
    "exportScheduledId": "0197f605-98dd-71e8-9666-0d9f6c719b95",
    "organizationId": "0197a801-1690-7590-b3cf-19599b9be3e4",
    "companyId": "0197a801-6a42-79aa-9e56-d3c85148c0fa",
    "cooperativeId": null,
    "requestedByUserId": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
    "resource": "order",
    "scopeType": "COMPANY",
    "format": "CSV",
    "columns": [
      "code",
      "status",
      "totalAmount",
      "createdAt"
    ],
    "filters": {
      "createdAt": {
        "operator": "BETWEEN",
        "value": [
          "2026-07-01",
          "2026-07-04"
        ]
      }
    },
    "fileKey": "data-transfer/exports/0197f604-49fe-7b73-bb81-df2e93a7e47d/orders.csv",
    "fileName": "pedidos-2026-07-01-2026-07-04.csv",
    "contentType": "text/csv",
    "sizeBytes": 94208,
    "totalRows": 840,
    "failureReason": null,
    "status": "COMPLETED",
    "expiresAt": "2026-07-11T12:20:00.000Z",
    "startedAt": "2026-07-04T12:19:00.000Z",
    "finishedAt": "2026-07-04T12:20:00.000Z",
    "createdAt": "2026-07-04T12:18:45.000Z",
    "updatedAt": "2026-07-04T12:20:00.000Z",
    "deletedAt": null
  }
}