fature.al eshte platforma e faturimit dhe fiskalizimit per bizneset ne Shqiperi. Hap nje llogari
Skip to content
fature.al API Menu

Faqezimi

Shumica e listave faqezohen me limit dhe offset, dhe numeruesit kthehen ne nje objekt pagination. Por jo te gjitha listat sillen njesoj, dhe dallimet kane rendesi kur shkruani nje cikel qe lexon gjithcka.

Tabela e shkurter#

Endpoint Parametrat total Kufiri i limit
GET /invoice limit, offset jo pa kufi
GET /invoice/wtn limit, offset jo pa kufi
GET /clients limit, offset po 100
GET /api/v2/clients limit, offset po 100
GET /bank-accounts limit, offset po 100
GET /products limit, offset po 500
GET /purchase-invoices page jo nuk zbatohet

Pa limit merret 20, dhe pa offset merret 0. Perjashtim ben lista e produkteve, e cila pa limit kthen te gjithe katalogun.

Listat me total#

Klientet dhe llogarite bankare kthejne total, pra e dini qe ne faqen e pare sa faqe ju presin:

curl 'https://fature.al/api/v1/clients?limit=100&offset=0' \
  -H 'Authorization: Bearer TOKEN_I_JUAJ'
{
  "status": true,
  "data": {
    "items": [ ... ],
    "pagination": { "records": 100, "total": 842, "limit": 100, "offset": 0 }
  }
}

records eshte sa erdhen ne kete faqe, total eshte sa ekzistojne gjithsej. Vazhdoni me offset += limit derisa offset te kaloje total.

Listat pa total#

Lista e faturave dhe ajo e fleteve shoqeruese nuk e llogarisin totalin, sepse mbi miliona rreshta ai numerim do te kushtonte me shume se vete faqja. pagination i tyre ka vetem numeruesit e faqes:

{
  "items": [ ... ],
  "pagination": { "records": 20, "limit": 20, "offset": 0, "type": "EINVOICE", "query": null }
}

Ndaloni kur faqja vjen me e shkurter se limit, jo kur arrini nje total:

offset=0
while :; do
  n=$(curl -s "https://fature.al/api/v1/invoice?limit=100&offset=$offset" \
        -H "Authorization: Bearer $TOKEN" | jq '.data.pagination.records')
  [ "$n" -lt 100 ] && break
  offset=$((offset + 100))
done

Lista e faturave nuk e kufizon limit, por kjo nuk do te thote se duhet kerkuar gjithcka njeheresh: nje faqe shume e madhe ngadaleson pergjigjen dhe rrit mundesine qe kerkesa te skadoje. Faqe nga 100 deri ne 500 punojne mire.

pagination kthen edhe type me query, pra filtrat qe zbatoi. Kjo ndihmon kur ciklin e shkruani mbi disa filtra njeheresh.

Produktet e mbajne pagination jashte data#

Lista e produkteve eshte e vjeter sa vete API-ja, dhe forma e saj nuk ndryshohet dot pa prishur integrimet qe e lexojne. Prandaj data ka mbetur vargu i thjeshte qe ka qene gjithmone, dhe pagination rri krahas tij, jo brenda:

{
  "status": true,
  "data": [ { "id": 1, "code": "SRV-01", "name": "Sherbim" } ],
  "pagination": { "records": 1, "total": 340, "limit": 20, "offset": 0 }
}

Pra data[0] eshte nje produkt, ndersa tek listat e tjera data.items[0] eshte elementi. Nje program i shkruar para se filtrat te ekzistonin lexon sot sakte ate qe lexonte me pare.

Pa limit kthehet i gjithe katalogu dhe limit mbetet null ne pergjigje. Sapo e dergoni, ai kufizohet ne 500.

Kjo liste ka edhe nje kufi kerkesash me vete: nje thirrje cdo 10 sekonda. Kur e kaloni, pergjigja kthen zarfin e gabimit, por me status HTTP 200, jo 429. Kontrolloni fushen status te trupit, jo vetem kodin.

Faturat e blerjes numerohen me faqe#

GET /purchase-invoices nuk lexon nga baza jone, por nga sistemi i fiskalizimit, dhe ai faqezohet me numer faqeje qe fillon nga 1:

curl 'https://fature.al/api/v1/purchase-invoices?fromDate=2026-09-01&toDate=2026-09-30&page=1' \
  -H 'Authorization: Bearer TOKEN_I_JUAJ'

pagination kthen records dhe page. Perseritni me page + 1 derisa items te kthehet bosh. Pa fromDate dhe toDate merret dita e sotme, jo e gjithe historia.

Renditja#

Listat kthehen nga me e reja tek me e vjetra, sipas id zbrites. Kjo do te thote se nje fature e re e leshuar gjate kohes qe ju lexoni faqet i zhvendos rreshtat nje pozicion me poshte, dhe nje rresht mund ta shihni dy here.

Kur lexoni nje periudhe te mbyllur, kufizojeni me fromDate dhe toDate. Nje periudhe qe ka mbaruar nuk pranon me rreshta te rinj, prandaj faqet mbeten te qendrueshme sa kohe qe cikli punon.

Regjistrimi eshte falas.

Regjistrohu ne fature.al