Gabimet
Çdo përgjigje është JSON. Lexojeni në këtë radhë:
- Kodi HTTP.
- Në
200, fushastatus.true: rezultati është tedata.false: veprimi u refuzua, arsyeja është temessagedhe, kur ka detaje, teerrors. - Në
422, fushasuccess. Është përgjigja e validimit dhe e vetmja që përdorsuccessnë vend tëstatus. Atyerrorsështë objekt sipas fushës, me emrin e plotë të fushës, silines.0.quantityoseclient.id.type. - Në çdo kod tjetër,
status: falsememessagedheerrors(listë). Përjashtim bëjnë429nga kufiri i përgjithshëm dhe nga anulimet, që kthejnë vetëmmessage.
{"status": true, "data": {"...": "..."}}
{"status": false, "message": "Përshkrimi i gabimit", "errors": ["Mesazhi për përdoruesin"]}
{"success": false, "message": "Te dhenat jo te sakta.", "errors": {"lines.0.quantity": ["..."]}}
Një program që kontrollon vetëm status e sheh një 422 sikur të mos kishte status fare.
Kontrolloni së pari kodin HTTP.
Kodet HTTP#
| Kodi | Kuptimi | Çfarë të bëni |
|---|---|---|
200 me status: false |
Kërkesa u kuptua, por veprimi u refuzua: përdorues pa pajisje fiskale, arkë pa fonde, NIPT i regjistruar tashmë, refuzim nga CIS-i | Lexoni message. Mos e riprovoni pa ndryshuar gjë |
400 |
Të dhëna të paplota për fiskalizim, zakonisht adresa ose qyteti i blerësit, ose një total që nuk përputhet |
errors thotë saktë çfarë mungon. Fatura nuk u ruajt; riprovoni me të njëjtin internalId |
401 me {"message": "Unauthenticated."} |
Token-i mungon, është i gabuar ose i revokuar | Kontrolloni header-in Authorization |
401 me status: false |
Moduli nuk është në abonimin e biznesit: faturat, arka, fletët shoqëruese ose faturat e blerjes | Rigjenerimi i token-it nuk ndihmon; abonimi duhet zgjeruar |
403 |
Abonimi ka mbaruar, ose veprimi nuk lejohet për këtë llogari | |
404 |
Burimi nuk ekziston, ose nuk i përket kompanisë suaj | |
409 |
Një kërkesë me këtë internalId është ende në proces |
Prisni pak; lexojeni me GET /invoice/details/{internalId} |
422 |
Validimi dështoi | Rregulloni të dhënat. Mos e riprovoni të njëjtën kërkesë |
429 |
Kufiri i kërkesave u arrit | Prisni sa thotë Retry-After, ose një sekondë kur mungon |
500 |
Gabim i papritur | Riprovoni më vonë me të njëjtin internalId |
502 |
Shërbimi i fiskalizimit u përgjigj me gabim (faturat e blerjes) | Riprovoni më vonë |
503 |
Shërbimi i fiskalizimit nuk u arrit dhe fatura nuk u ruajt | Riprovoni me të njëjtin internalId |
Një 200 që nuk është sukses#
Një faturë që kalon validimin, por refuzohet më pas, gjatë ruajtjes ose nga CIS-i, kthehet me kodin
200, status: false dhe arsyen te message:
{"status": false, "message": "Përshkrimi i refuzimit"}
Ndodh për shembull kur CIS-i e refuzon faturën sepse NIPT-i i blerësit nuk ekziston ose nuk është
aktiv. Fatura është e lëshuar vetëm kur status është true.
409: ende në proces#
409 do të thotë që një kërkesë me të njëjtin internalId nuk ka mbaruar ende (deri në rreth 5
minuta nga fillimi i saj). Prisni pak dhe riprovoni, ose lexoni gjendjen me
GET /invoice/details/{internalId}.
Një internalId që ekziston tashmë për këtë vit nuk kthen 409: serveri kthen faturën
ekzistuese me 200 dhe nuk lëshon faturë të dytë. Prandaj riprovimi me të njëjtin internalId
është i sigurt. Shihni Fillimi i shpejtë.
Fiskalizimi kur CIS-i nuk përgjigjet#
Ka dy raste, dhe përgjigja i dallon:
| Përgjigja | Çfarë ndodhi | Çfarë të bëni |
|---|---|---|
200, status: true, fic: null |
Fatura u ruajt dhe u lëshua, por CIS-i nuk u arrit. fature.al e riprovon fiskalizimin vetë çdo 15 minuta dhe e plotëson fic sapo CIS-i kthehet |
Mos e trajtoni si gabim dhe mos e lëshoni përsëri. Lexojeni më vonë me GET /invoice/details/{internalId} |
503 |
Shërbimi i fiskalizimit nuk u arrit dhe fatura nuk u ruajt | Riprovoni me të njëjtin internalId |
Praktika e riprovimit#
- Riprovoni gjithmonë me të njëjtin
internalId, kurrë me një të ri. - Pas
429prisni sa thotëRetry-After; kur mungon, prisni një sekondë dhe riprovoni me vonesë progresive: 1 s, 2 s, 4 s. - Mos riprovoni
200mestatus: false,422,401dhe403pa ndryshuar gjë: përgjigja do të jetë e njëjta.
Regjistrimi është falas.
Regjistrohu në fature.al