CuanTuanDokumentasi

Penomboran

Satu bentuk untuk setiap endpoint senarai: limit dan offset.

Setiap endpoint senarai menerima limit dan offset, dan memulangkan objek paging yang sama.

Permintaan
GET https://www.cuantuan.net/api/v1/order/list?limit=50&offset=100
Jawapan
{
  "ok": true,
  "data": [ … ],
  "paging": {
    "limit": 50,
    "offset": 100,
    "count": 50,
    "has_more": true,
    "total": 412
  }
}

Peraturan

  • limit lalai 25, maksimum 100. Nilai lebih besar dipangkas, bukan ditolak.
  • offset lalai 0. Nilai negatif dianggap 0.
  • Nilai bukan nombor jatuh ke lalai. Ia tidak menghasilkan ralat pelayan.
  • count ialah bilangan baris dalam data jawapan ini.
  • total hadir hanya pada endpoint yang memang mengiranya. Bergantunglah pada has_more, bukan pada kehadiran total.

Menarik semua baris

JavaScript
async function semuaPesanan(kunci) {
  const keluar = [];
  let offset = 0;
  for (;;) {
    const r = await fetch(`https://www.cuantuan.net/api/v1/order/list?limit=100&offset=${offset}`, {
      headers: { Authorization: `Bearer ${kunci}` },
    });
    const body = await r.json();
    if (!body.ok) throw new Error(`${body.code}: ${body.message}`);
    keluar.push(...body.data);
    if (!body.paging.has_more) return keluar;
    offset += body.paging.count;
  }
}
Susunannya mengikut masa dibuat, terbaharu dahulu. Baris baharu yang masuk semasa anda menomborkan akan MENOLAK baris lama ke halaman seterusnya — jadi satu baris boleh dilihat dua kali. Nyahduplikasikan mengikut id kalau ketepatan penting. Untuk penyegerakan berkala, tapis mengikut from/to di mana ada.