ترقيم الصفحات
تعيد نقاط القوائم النتائج على صفحات. استخدم 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_more | true إذا وُجدت عناصر بعد هذه الصفحة. |
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);
}