ترقيم الصفحات

تعيد نقاط القوائم النتائج على صفحات. استخدم limit وcursor للتنقل بينها.

تستخدم نقاط القوائم (GET /v1/payments و/v1/refunds و/v1/payment-links و/v1/deposits) ترقيم الصفحات بالمؤشر، وتعيد الأحدث أولًا. أما GET /v1/webhook-endpoints فيعيد كل نقاط النهاية الخاصة بوضع المفتاح في استجابة واحدة، بشكل القائمة نفسه مع has_more: false.

الطلب

المعاملالوصف
limitعدد العناصر في الصفحة، من 1 إلى 100. الافتراضي 20. القيمة خارج هذا النطاق تفشل بالخطأ 422 validation_error.
cursorقيمة next_cursor من الاستجابة السابقة. لا ترسله للصفحة الأولى. المؤشر غير الصالح يفشل بالخطأ 422 validation_error.

تبقى المرشحات (مثل status أو created_gte في المدفوعات) كما هي في كل صفحة.

الاستجابة

{
  "data": [
    { "id": "pay_01JBX4T9W2", "object": "payment", "amount": 12500 },
    { "id": "pay_01JBX3Q8ZA", "object": "payment", "amount": 4000 }
  ],
  "has_more": true,
  "next_cursor": "eyJpZCI6InBheV8wMUpCWDNROFpBIn0"
}
الحقلالوصف
dataعناصر هذه الصفحة.
has_moretrue إذا وُجدت عناصر بعد هذه الصفحة.
next_cursorنص مبهم تمرّره في cursor للصفحة التالية، أو null في الصفحة الأخيرة. لا تفك ترميزه ولا تبنِه بنفسك.

جلب كل الصفحات

async function* listAllPayments(params = {}) {
  let cursor;
  do {
    const query = new URLSearchParams({ limit: '100', ...params, ...(cursor ? { cursor } : {}) });
    const res = await fetch(`https://api.teyra.co/v1/payments?${query}`, {
      headers: { Authorization: `Bearer ${process.env.TEYRA_SECRET_KEY}` },
    });
    const page = await res.json();
    yield* page.data;
    cursor = page.has_more ? page.next_cursor : undefined;
  } while (cursor);
}

for await (const payment of listAllPayments({ status: 'succeeded' })) {
  console.log(payment.id, payment.amount);
}