SaqSaq Docs

Reconciliation

Real-time listing

To check live transactions (dashboard, previous-day reconciliation):

curl "https://api.saq.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"

Filter details in GET /user/transactions.

Useful filters

FilterDescription
clientReferenceFinds the transaction matching your order.
statusCSV: COMPLETED,PENDING. Accepts multiple values.
typeCSV: DEPOSIT,WITHDRAW,COMMISSION.
dateFrom / dateToTime window (ISO 8601).
endToEndIdUnique Bacen identifier.
document, namePayer filters. document digits only (11 or 14).
virtualAccountTenant filter (multi-store).
limit, pagePagination. limit max 100.

Single transaction detail

curl "https://api.saq.processamento.com/v1/user/transactions/SAQ2025..." \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json"

Schema in GET /user/transactions/{id}.

Asynchronous report

For large windows (month, year), use a 3-step flow.

Request generation

POST /user/report.

curl -X POST https://api.saq.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"]
  }'

The response includes the job id.

Track status

GET /user/report/{id}.

curl "https://api.saq.processamento.com/v1/user/report/JOB_ID" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json"

Download when ready

POST /user/report/{id}/download returns a short-lived signed URL to download the CSV.

curl -X POST "https://api.saq.processamento.com/v1/user/report/JOB_ID/download" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json"
  1. Identify each charge/withdrawal with clientReference — that is your identifier, don't rely solely on Saq's id.
  2. Use callbacks as the primary source, don't poll.
  3. Daily reconciliation via report: pull the previous day's CSV and cross-check with your DB. Detects missed callbacks.
  4. Store endToEndId — useful to trace at Bacen in case of dispute.

Balances

To check available balance before paying out:

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

See GET /user/balance.

On this page