Sayfalama
Tüm liste (Query) endpoint'leri zorunlu sayfalama ile çalışır. Default değer yoktur — eksik veya geçersiz parametre 400 Bad Request döner.
Query parametreleri
| Parametre | Tip | Sınır |
|---|---|---|
page | int | >= 1 |
pageSize | int | 10 – 100 |
orderBy | string | Endpoint başına farklı whitelist |
order | enum | Asc veya Desc |
Pagination metadata
Yanıtın header'larında taşınır, body yalnızca List<T> döner:
| Header | Açıklama |
|---|---|
X-Total-Count | Tüm sayfalardaki toplam kayıt |
X-Page | Mevcut sayfa numarası |
X-Page-Size | Sayfa büyüklüğü |
X-Next-Page | Sonraki sayfa numarası (varsa) |
X-Prev-Page | Önceki sayfa numarası (varsa) |
Örnek istek/yanıt
GET /v1/orders?page=1&pageSize=20&orderBy=CreatedAt&order=DescX-Total-Count: 142
X-Page: 1
X-Page-Size: 20
X-Next-Page: 2
Content-Type: application/json[
{ "id": "01H8M...", "orderNumber": "EP-2026-00142", ... },
{ "id": "01H8L...", "orderNumber": "EP-2026-00141", ... }
]OrderBy whitelist'i
Performans için orderBy her endpoint için sınırlı bir alan kümesini kabul eder (indexli kolonlar). Endpoint sayfasına gidip izinli alanları kontrol edin.
Tipik whitelist'ler:
| Endpoint | İzinli orderBy |
|---|---|
/v1/orders | CreatedAt, UpdatedAt, OrderNumber |
/v1/offers | CreatedAt, UpdatedAt, Price, Quantity |
/v1/claims | CreatedAt, ResolvedAt |
/v1/settlements | CreatedAt, PaidAt, Amount |
/v1/finance-transactions | CreatedAt, Amount |
Whitelist dışı değer:
{
"type": "https://public-api.epinpark.com/problems/validation-error",
"title": "Validation failed",
"status": 400,
"detail": "OrderBy must be one of: CreatedAt, UpdatedAt, OrderNumber.",
"errors": {
"OrderBy": ["OrderBy must be one of: CreatedAt, UpdatedAt, OrderNumber."]
}
}Sayfa dolaşma örneği
Polling için sıralama
İncremental sync (yeni kayıtları periyodik olarak çekmek) için orderBy=UpdatedAt&order=Asc
kullanın ve updatedAtFrom filtresiyle birleştirin. Detay için
Polling Deseni sayfasına bakın.
HEAD endpoint'i (sayım)
Bazı endpoint'ler HEAD metoduyla sadece toplam sayıyı döndürür:
HEAD /v1/order-invoices?status=PendingX-Total-Count: 7
(Content-Length: 0)Bu, "bekleyen fatura sayısı" gibi sayaç bilgisi için body indirimsiz hızlı bir yoldur.