Skip to main content
Liste uçları (GET /v1/customers, GET /v1/appointments, vb.) standart sayfalama döner. Yanıt, hem veri hem de sayfalama meta bilgisi içerir.

Parametreler

page
integer
default:"1"
Döndürmek istediğiniz sayfa numarası. 1’den başlar.
per_page
integer
default:"15"
Sayfa başına kayıt sayısı. En fazla 100. Daha büyük değer gönderirseniz 422 doğrulama hatası alırsınız.

Örnek istek

curl --request GET \
  --url "https://dev.flextell.ai/api/v1/customers?page=2&per_page=25" \
  --header "Authorization: Bearer $TOKEN" \
  --header "X-Tenant: 12"

Yanıt yapısı

Liste yanıtları data içinde kayıtları, meta içinde sayfalama bilgilerini, links içinde gezinme URL’lerini döner:
{
  "success": true,
  "data": [
    { "id": 1, "first_name": "Ayşe", "last_name": "Demir" },
    { "id": 2, "first_name": "Mehmet", "last_name": "Yılmaz" }
  ],
  "links": {
    "first": "https://dev.flextell.ai/api/v1/customers?page=1",
    "last":  "https://dev.flextell.ai/api/v1/customers?page=42",
    "prev":  "https://dev.flextell.ai/api/v1/customers?page=1",
    "next":  "https://dev.flextell.ai/api/v1/customers?page=3"
  },
  "meta": {
    "current_page": 2,
    "from": 26,
    "to": 50,
    "last_page": 42,
    "per_page": 25,
    "total": 1034,
    "path": "https://dev.flextell.ai/api/v1/customers"
  }
}
meta.total
integer
Filtrelerinize uyan toplam kayıt sayısı.
meta.last_page
integer
Mevcut per_page değeri ile son sayfa numarası.
Bir sonraki sayfa URL’i, yoksa null.

Tüm kayıtları dolaşma örüntüsü

Kayıtları paralel işlem yapmadan sırayla dolaşmak için links.next takip edilebilir:
let url = "https://dev.flextell.ai/api/v1/customers?per_page=100";

while (url) {
  const res = await fetch(url, {
    headers: {
      Authorization: `Bearer ${TOKEN}`,
      "X-Tenant": "12",
    },
  });
  const body = await res.json();

  for (const customer of body.data) {
    handle(customer);
  }

  url = body.links.next; // null geldiğinde döngüden çıkar
}

Performans ipuçları

  • Küçük sayfalar. per_page=100 yerine 25–50 tercih edin; büyük sayfalar bellek ve yanıt süresi maliyetini yükseltir.
  • Sık değişen listeler. Birden fazla sayfa okurken araya yeni kayıt girerse kayıtlar sayfalar arası “kayabilir”. Güçlü bir sıralama (ör. sort_by=created_at&sort_order=desc) kullanmak bu etkiyi azaltır.
  • Dakikada çok sayıda sayfa isteği atıyorsanız rate limit yiyebilirsiniz. Paralel sayfa isteklerini sınırlayın.
Şu an cursor-based pagination (imleçli sayfalama) desteklenmemektedir. İleride eklendiğinde Changelog üzerinden duyurulur.