Kufiri i kërkesave
Kufijtë numërohen për token. Kur kaloni një kufi, përgjigja është 429 Too Many Requests.
Endpoint-et e v2 ndjekin të njëjtët kufij si ato të v1.
Kufijtë që kthejnë 429 sot#
| Kufiri | Vlera | Body i përgjigjes |
|---|---|---|
| I përgjithshëm, çdo endpoint | 300 kërkesa në minutë për token; 120 në minutë për IP pa token | {"message": "Too Many Attempts."} me header-at Retry-After, X-RateLimit-Limit, X-RateLimit-Remaining |
Anulimet, POST /invoice/cancel/{id} dhe POST /invoice/cancel-by-internal-id/{internalId} |
30 në minutë dhe 600 në orë | I njëjti |
| Një kërkesë në proces njëkohësisht (shih më poshtë) | Pritje deri në 1 sekondë | {"status": false, "errors": ["..."]}, pa Retry-After |
| Një kërkesë në proces njëkohësisht, pa pritje | GET, POST, PUT te /clients; GET /bank-accounts; POST dhe PUT te /products; GET dhe POST te /invoice/wtn: kërkesa e dytë e të njëjtit token refuzohet sa kohë e para nuk ka mbaruar |
{"status": false, "errors": ["..."]} |
E njëjta radhë, por me 200 |
GET /products, GET /product/categories |
200 me status: false. Lexoni status, jo vetëm kodin |
Kur ka Retry-After, prisni aq sekonda. Kur nuk ka, prisni një sekondë dhe riprovoni.
Buxheti për grup endpoint-esh#
Këto janë vlerat me të cilat është dimensionuar API-ja. Sot një pjesë e tyre vetëm regjistrohen kur
kalohen, pa u refuzuar; ndërtoni brenda tyre dhe trajtoni 429, sepse zbatohen pa njoftim.
| Grupi | Buxheti | Endpoint-et |
|---|---|---|
| I zakonshëm | 240 në minutë | Çdo endpoint jashtë grupeve më poshtë |
| Lëshim faturash | 300 në minutë (5 në sekondë) | POST /invoice/cash, /invoice/noncash, /invoice/e-invoice, /invoice/order, /invoice/summary, /invoice/wtn |
| Fiskal | 30 në minutë, 600 në orë | POST /invoice/cancel/*, GET /purchase-invoices |
| Bulk | 3 në minutë, 30 në orë | POST /invoice/bulk-noncash |
| Printim | 30 në minutë | GET /invoice/print/{id}, /invoice/print-eic/{eic}, /invoice/wtn/print/{id} |
| Raporte | 30 në minutë | GET /reports/*, GET /dashboard/summary |
| Kërkim | 90 në minutë | GET /client/search |
| Regjistrim | 30 në minutë, 600 në orë | POST /register, POST /on-boarding/* |
Një kërkesë në proces njëkohësisht#
Lëshimi i faturave serializohet, sepse numri rendor është MAX+1 për biznes dhe vit, dhe për cash
edhe për TCR. Një kërkesë e dytë drejt të njëjtit endpoint pret deri në 1 sekondë që e para të
mbarojë; nëse nuk arrin, refuzohet me 429.
| Endpoint-et | Radha |
|---|---|
POST /invoice/cash, /invoice/order, /invoice/summary |
Për biznes dhe TCR |
POST /invoice/noncash, /invoice/e-invoice, /invoice/bulk-noncash |
Për biznes |
POST /invoice/cancel/* |
Radha e tipit të faturës që anulohet |
GET /invoice, GET /invoice/{id}/details |
Për token |
GET, POST, PUT te /clients; GET /bank-accounts; GET, POST, PUT te /products; GET /product/categories; GET dhe POST te /invoice/wtn |
Për token dhe endpoint, pa pritje: e dyta refuzohet menjëherë |
Ky është kufiri që integrimet me shumë fije e hasin më shpesh. Zgjidhja nuk është riprovimi i menjëhershëm, por radhitja e kërkesave për biznes: paralelizmi nuk jep më shumë fatura, vetëm më shumë pritje.
Wolt Partner API#
Kufijtë e /api/partner/v1 janë të ndarë: 180 kërkesa në minutë për leximet dhe 60 në minutë për
shkrimet, për token. Dokumenti i tij është te /docs/api/partner.
Praktika#
- Prisni sa thotë
Retry-After. Kur mungon, prisni një sekondë dhe riprovoni me vonesë progresive: 1 s, 2 s, 4 s. - Dërgoni faturat e një biznesi një nga një, jo paralelisht.
- Për shumë fatura jo-cash përdorni
POST /invoice/bulk-noncash: buxheti numëron kërkesa, jo fatura. - Mbani në cache katalogun, kategoritë dhe monedhat, dhe mos i lexoni paralelisht nga i njëjti token.
- Kërkoni faqe më të mëdha, jo më shumë faqe. Shihni Pagination.
Regjistrimi është falas.
Regjistrohu në fature.al