Skip to content

Chainer'ları Listeleyin ve Arayın

Bu öğreticide API'den chainer'ların (kullanıcıların) bir listesini alacak, imleç tabanlı sayfalandırma kullanarak büyük sonuç kümelerinde gezinecek ve kullanıcı adına göre arama yapacaksınız.

Önkoşullar

  • Geçerli bir erişim belirteci olan bir Chainabit hesabı
  • Terminalinizde curl'un mevcut olması

Ortam değişkenlerinizi ayarlayın:

bash
export TOKEN="your-access-token"

Adım 1: Chainer'ları Listeleyin

İlk chainer sayfasını alın:

bash
curl -s "https://api.chainabit.com/api/v1/chainers?limit=10" \
  -H "Authorization: Bearer $TOKEN"
javascript
const res = await fetch(`https://api.chainabit.com/api/v1/chainers?limit=10`, {
  headers: { Authorization: `Bearer ${TOKEN}` },
});
const data = await res.json();
console.log(data);
python
import requests

res = requests.get(
    f"{BASE}/chainers",
    headers={"Authorization": f"Bearer {TOKEN}"},
    params={"limit": 10},
)
print(res.json())

Yanıt:

json
{
  "data": [
    {
      "id": "chainer_01HQA...",
      "username": "alex_builder",
      "displayName": "Alex Builder",
      "avatarUrl": "https://cdn.chainabit.com/avatars/alex.png",
      "createdAt": "2026-01-15T08:00:00.000Z"
    },
    {
      "id": "chainer_01HQB...",
      "username": "jordan_creates",
      "displayName": "Jordan Creates",
      "avatarUrl": null,
      "createdAt": "2026-02-01T12:30:00.000Z"
    }
  ],
  "meta": {
    "hasMore": true,
    "nextCursor": "eyJpZCI6ImNoYWluZXJfMDFIUUIuLi4ifQ=="
  }
}

Adım 2: İmleçlerle Sayfalandırma Yapın

meta.hasMore değeri true olduğunda, sonraki sayfayı getirmek için nextCursor değerini kullanın:

bash
curl -s "https://api.chainabit.com/api/v1/chainers?limit=10&cursor=eyJpZCI6ImNoYWluZXJfMDFIUUIuLi4ifQ==" \
  -H "Authorization: Bearer $TOKEN"
javascript
const cursor = 'eyJpZCI6ImNoYWluZXJfMDFIUUIuLi4ifQ==';
const res = await fetch(`https://api.chainabit.com/api/v1/chainers?limit=10&cursor=${cursor}`, {
  headers: { Authorization: `Bearer ${TOKEN}` },
});
const data = await res.json();
console.log(data);
python
cursor = "eyJpZCI6ImNoYWluZXJfMDFIUUIuLi4ifQ=="
res = requests.get(
    f"{BASE}/chainers",
    headers={"Authorization": f"Bearer {TOKEN}"},
    params={"limit": 10, "cursor": cursor},
)
print(res.json())

hasMore değeri false olana kadar her yanıttan gelen nextCursor değerini geçmeye devam edin.

Sayfalandırma Akışı


Adım 3: Kullanıcı Adına Göre Arayın

search sorgu parametresini kullanarak chainer'ları kullanıcı adına göre filtreleyin:

bash
curl -s "https://api.chainabit.com/api/v1/chainers?search=alex&limit=10" \
  -H "Authorization: Bearer $TOKEN"
javascript
const res = await fetch(`https://api.chainabit.com/api/v1/chainers?search=alex&limit=10`, {
  headers: { Authorization: `Bearer ${TOKEN}` },
});
const data = await res.json();
console.log(data);
python
res = requests.get(
    f"{BASE}/chainers",
    headers={"Authorization": f"Bearer {TOKEN}"},
    params={"search": "alex", "limit": 10},
)
print(res.json())

Yanıt:

json
{
  "data": [
    {
      "id": "chainer_01HQA...",
      "username": "alex_builder",
      "displayName": "Alex Builder",
      "avatarUrl": "https://cdn.chainabit.com/avatars/alex.png",
      "createdAt": "2026-01-15T08:00:00.000Z"
    }
  ],
  "meta": {
    "hasMore": false,
    "nextCursor": null
  }
}

Arama büyük/küçük harfe duyarlı değildir ve username alanına göre eşleşir.


Özet

Bu öğreticide şunları yaptınız:

  1. Bir sayfa boyutu sınırıyla chainer'ları listelediniz
  2. Sonuçlar arasında gezinmek için imleç tabanlı sayfalandırma kullandınız
  3. Sonuçları filtrelemek için kullanıcı adına göre arama yaptınız

Sonraki Adımlar

Built with purpose.