> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devmob.app.br/llms.txt
> Use this file to discover all available pages before exploring further.

# export.completed

> Evento emitido após exportação concluída

`export.completed` é emitido depois que um [ExportJob](/data-modelling/data-transfer/export-job) é concluído.

Handlers usam este evento para executar efeitos assíncronos fora do fluxo síncrono.

## Detalhes do Evento

| Propriedade    | Valor                      |
| -------------- | -------------------------- |
| **Tipo**       | `export.completed`         |
| **Origem**     | Processamento de ExportJob |
| **Publicação** | Após commit do ExportJob   |
| **Quando**     | `status = COMPLETED`.      |

## Handlers

| Handler                         | Responsabilidade     | Dados usados | Execução    |
| ------------------------------- | -------------------- | ------------ | ----------- |
| `send-export-completed-message` | Avisa o solicitante. | `data`       | Assíncrona. |

## Payload

| Campo  | Tipo        | Descrição                    |
| ------ | ----------- | ---------------------------- |
| `data` | `ExportJob` | Entidade 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

```json theme={null}
{
  "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
  }
}
```
