Otomovena Developer Platform

Sayfalama

Liste döndüren tüm uç noktalar (ör. Araçlar, Müşteriler) aynı limit/offset deseniyle sayfalanır.

Parametreler

ParametreVarsayılanMaksimumAçıklama
limit25100Bir istekte döndürülecek maksimum kayıt sayısı. 100'ün üzerinde bir değer istenirse sessizce 100'e sabitlenir (hata dönmez).
offset0Atlanacak kayıt sayısı — bir sonraki sayfa için önceki isteğin limit değerini offset'e ekleyin.

Yanıttaki meta Alanı

Her liste yanıtı limit/offset/count değerlerini HER ZAMAN döner. Ayrıca, uç nokta toplam kayıt sayısını maliyetsiz hesaplayabiliyorsa (Araçlar ve Müşteriler uç noktaları buna dahildir) bir de meta.pagination nesnesi eklenir:

{
  "meta": {
    "limit": 25, "offset": 0, "count": 25,
    "pagination": { "page": 1, "per_page": 25, "total": 143, "total_pages": 6 }
  }
}

meta.pagination yoksa (bazı uç noktalarda geçici olarak eksik olabilir), aşağıdaki "son sayfa" kuralını kullanın: dönen count, istediğiniz limit'ten küçükse son sayfadasınız demektir.

Tüm Kayıtları Çekme Örneği (PHP)

<?php
$all = [];
$limit = 100;
$offset = 0;

do {
    $ch = curl_init("https://otomovena.com/api/v1/vehicles.php?limit={$limit}&offset={$offset}");
    curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer otv_live_xxxxx...']);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $page = json_decode(curl_exec($ch), true);
    $all = array_merge($all, $page['data']);
    $offset += $limit;
} while (($page['meta']['count'] ?? 0) === $limit);

// $all artık galerinizin tüm araçlarını içeriyor.

Toplam Sayı (total) Her Zaman Var mı?

Hayır — büyük tablolarda ayrı bir COUNT(*) sorgusu her istekte ekstra maliyet yaratır. Bu yüzden meta.pagination.total yalnızca maliyeti düşük olan uç noktalarda gönderilir. Yoksa yukarıdaki "son sayfa" kuralını kullanın — istediğiniz toplam sayı önemliyse tüm sayfaları çekip kendi tarafınızda saymanız yeterlidir.