# Conciliação (/docs/pix-processamento/tutoriais/reconciliation)



<QuickLinks>
  <QuickLink href="/docs/pix-processamento/endpoints/reports/get_user_transactions" title="GET /user/transactions" method="GET" path="/user/transactions" />

  <QuickLink href="/docs/pix-processamento/endpoints/reports/post_user_report" title="POST /user/report" method="POST" path="/user/report" />

  <QuickLink href="/docs/pix-processamento/best-practices/pagination" title="Paginação" />

  <QuickLink href="/docs/pix-processamento/best-practices/multi-tenant" title="Multi-tenant" />
</QuickLinks>

<Mermaid
  chart="`
flowchart LR
  A[&#x22;Período pequeno&#x22;] --> B[&#x22;GET /user/transactions&#x22;]
  A2[&#x22;Período grande&#x22;] --> C[&#x22;POST /user/report&#x22;]
  C --> D[&#x22;GET /user/report/{id}&#x22;]
  D --> E[&#x22;POST /report/{id}/download&#x22;]
  B --> F[&#x22;Cruza com seu DB&#x22;]
  E --> F
  F --> G[&#x22;Alerta divergências&#x22;]

  click B &#x22;/docs/pix-processamento/endpoints/reports/get_user_transactions&#x22; &#x22;GET /user/transactions&#x22;
  click C &#x22;/docs/pix-processamento/endpoints/reports/post_user_report&#x22; &#x22;POST /user/report&#x22;
  click D &#x22;/docs/pix-processamento/endpoints/reports/get_user_report&#x22; &#x22;GET /user/report/{id}&#x22;
  click E &#x22;/docs/pix-processamento/endpoints/reports/download_user_report&#x22; &#x22;Download&#x22;

  style B fill:#14ce71,stroke:#0eb464,color:#ffffff
  style C fill:#3b82f6,stroke:#1d4ed8,color:#ffffff
  style F fill:#f59e0b,stroke:#d97706,color:#ffffff
`"
/>

## Listagem em tempo real [#listagem-em-tempo-real]

Para conferir transações ao vivo (dashboard, conciliação de dia anterior):

```bash
curl "https://api.payzu.processamento.com/v1/user/transactions?dateFrom=2025-08-01&dateTo=2025-08-31&page=1&limit=100" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json"
```

Detalhes dos filtros em [`GET /user/transactions`](/docs/pix-processamento/endpoints/reports/get_user_transactions).

Os filtros de listagem (`clientReference`, `status`, `type`, janela por `dateFrom`/`dateTo`, `endToEndId`, `document`/`name`, `virtualAccount`) estão documentados em [Paginação · Filtros disponíveis](/docs/pix-processamento/best-practices/pagination#filtros-disponíveis).

### Detalhe de uma transação [#detalhe-de-uma-transação]

```bash
curl "https://api.payzu.processamento.com/v1/user/transactions/PAYZU2025..." \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json"
```

Schema em [`GET /user/transactions/{id}`](/docs/pix-processamento/endpoints/reports/get_user_transaction_by_id).

## Relatório assíncrono [#relatório-assíncrono]

Para janelas grandes (mês, ano), use fluxo em 3 passos.

<Steps>
  <Step>
    ### Solicitar geração [#solicitar-geração]

    [`POST /user/report`](/docs/pix-processamento/endpoints/reports/post_user_report).

    ```bash
    curl -X POST https://api.payzu.processamento.com/v1/user/report \
      -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type: application/json" \
      -d '{
        "dateFrom": "2025-01-01",
        "dateTo": "2025-12-31",
        "status": ["COMPLETED"],
        "type": ["DEPOSIT", "WITHDRAW"]
      }'
    ```

    A resposta inclui o `id` do job.
  </Step>

  <Step>
    ### Acompanhar status [#acompanhar-status]

    [`GET /user/report/{id}`](/docs/pix-processamento/endpoints/reports/get_user_report).

    ```bash
    curl "https://api.payzu.processamento.com/v1/user/report/JOB_ID" \
      -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type: application/json"
    ```
  </Step>

  <Step>
    ### Baixar quando pronto [#baixar-quando-pronto]

    [`POST /user/report/{id}/download`](/docs/pix-processamento/endpoints/reports/download_user_report) retorna URL assinada de curta duração para baixar o CSV.

    ```bash
    curl -X POST "https://api.payzu.processamento.com/v1/user/report/JOB_ID/download" \
      -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type: application/json"
    ```
  </Step>
</Steps>

## Estratégia recomendada [#estratégia-recomendada]

1. **Identifique cada cobrança/saque com `clientReference`**, esse é seu identificador, não dependa só do `id` da PayZu.
2. **Use callbacks como fonte primária**, não polle.
3. **Reconciliação diária via relatório**: pegue o CSV do dia anterior e cruze com seu DB. Detecta callback perdido.
4. **Guarde `endToEndId`**, útil para rastrear no Bacen em caso de disputa.

## Saldos [#saldos]

Para conferir saldo disponível antes de pagar:

```bash
curl https://api.payzu.processamento.com/v1/user/balance \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json"
```

Veja [`GET /user/balance`](/docs/pix-processamento/endpoints/account/get_user_balance).
