Kthehu në fillim

easyPos - Udhëzues integrimi

Integrimi me API Lokal & skedarë

Softuer fiskalizimi

Versioni 2.3.0 | Përditësuar: 01/2026

Përmbledhje

Ky dokument ofron udhëzime të plota për integrimin me sistemin easyPos. Suportohen dy metoda kryesore:

  • Integrimi me Local API: duke përdorur endpoint-et HTTP me payload JSON
  • Integrimi me skedarë: duke përdorur skedarë JSON ose TXT në dosjen e monitoruar

1. Hyrje

easyPos është softuer fiskalizimi për fatura normale dhe të thjeshta në Shqipëri. Ky udhëzues demonstron si të integroheni me easyPos duke përdorur integrimin me skedarë ose thirrjet RESTful API.

1.1 Metodat e integrimit

  1. Integrimi me Local API: Kërkesa HTTP me payload JSON
  2. Integrimi me Skedarë: Vendosni skedarë JSON ose TXT në dosjen e monitoruar

1.2 Parakushtet

  • Sistemi operativ Windows ose MacOS (i nevojshëm për instalimin e easyPos)
  • Instalim dhe konfigurim i vlefshëm i easyPos
  • Stringa e autorizimit të API e konfiguruar (për integrimin me API)
  • Local API i aktivizuar në cilësimet e easyPos (për integrimin me API)
  • Lidhje rrjeti me serverin easyPos (për integrimin me API)
  • Monitoruesi i skedarëve i konfiguruar (për integrimin me skedarë)

2. Integrimi me Local API

2.1 URL bazë

http://[server-ip]:port/v1/...

2.2 Headers

Content-Type: application/json Authorization: [your-authorization-string]

2.3 Endpoint-et e API

Method Endpoint Përshkrimi
GET/v1Testo lidhjen
POST/v1/invoices/newKrijo faturë(a)
GET/v1/invoicesMerr të gjitha faturat
GET/v1/invoices/:idMerr një faturë
GET/v1/operatorsMerr operatorët
GET/v1/entitiesMerr entitetet
GET/v1/balanceMerr bilancin
POST/v1/balance/initiateRaporto bilancin fillestar
POST/v1/balance/depositDepozito
POST/v1/balance/withdrawTërhiq

2.4 Formati i përgjigjes

{
  "status": 0,
  "response": {
    "nslf": "C352A1442630779BD016323CB4765331",
    "nivf": "19d7cf18-9f2f-4501-b0d1-48830dfc0750",
    "link": "https://efiskalizimi-app.tatime.gov.al/...",
    "text": "Sukses"
  }
}
  • status: 0 = Sukses, 1 = Gabim, 2 = Në pritje
  • nslf: NSLF - Numri i Brendshëm i Faturës (IIC)
  • nivf: NIVF - Numri Fiskal i Faturës (FIC)
  • link: URL-ja e verifikimit të faturës

3. Integrimi me skedarë

3.1 Formati JSON

Vendosni skedarët JSON në dosjen e monitoruar. easyPos do t'i përpunojë automatikisht.

E rëndësishme: fusha "app"

Kur përdorni integrimin me skedarë JSON , fusha "app" është e rekomanduar për të identifikuar burimin e aplikacionit/integrimit.

Faturë bazë

{
  "app": "",
  "articles": [
    {
      "articleId": "ART001",
      "vatCode": "B",
      "name": "Product",
      "soldIn": "cope",
      "price": 500,
      "units": 2
    }
  ]
}

Faturë me blerës

{
  "app": "",
  "buyer": {
    "buyerIDType": "NUIS",
    "buyerIDNum": "L12345678A",
    "buyerName": "Test Company",
    "buyerAddress": "Test Street 123",
    "buyerTown": "Tirana",
    "buyerCountry": "ALB"
  },
  "articles": [
    {
      "articleId": "ART001",
      "vatCode": "B",
      "name": "Service",
      "soldIn": "cope",
      "price": 1000,
      "units": 1
    }
  ]
}

3.2 Formatet TXT

easyPos suporton dy formate skedarësh TXT për integrimin e pajisjeve fiskale të vjetra:

3.2.1 Formati AED

CLEAR
KEY REG
SALE DPT=1,QTY=1,PRICE=500,DES='Product'
SALE DPT=1,QTY=2,PRICE=300,DES='Service'
SUBTOT
CLOSE TENDER=1

3.2.2 Formati IVA

Formati IVA përdor një sintaksë të strukturuar me rreshta me parashtesa specifike:

Faturë bazë:

H,1,______,_,__;
S,1,______,_,__;"Artikull";500.00;2.00;1;1;1;
T,1,______,_,__;
F,1,______,_,__;

Faturë me blerës (NUIS):

H,1,______,_,__;
B,1,______,_,__;"NUIS";"L00000000B";"Buyer Name";"Address";"Tirane";"ALB";
S,1,______,_,__;"Artikull";500.00;2.00;1;1;1;
T,1,______,_,__;
F,1,______,_,__;

Pagesë me kartë:

H,1,______,_,__;
$ISWITHCARD=1
S,1,______,_,__;"Artikull";500.00;2.00;1;1;1;
T,1,______,_,__;
F,1,______,_,__;

Me zbritje:

H,1,______,_,__;
S,1,______,_,__;"Product";150.00;2.00;1;1;2;
C,1,______,_,__;2;15.0;
T,1,______,_,__;
F,1,______,_,__;

Parashtesat e rreshtave IVA

  • H - Kokë (fillimi i faturës)
  • B - Informacioni i blerësit
  • S - Rreshti i shitjes (artikulli)
  • C - Zbritje/ulje për rreshtin e mëparshëm
  • P - Shënime të faturës
  • OP - Kodi i operatorit
  • T - Totali
  • F - Fund (mbarimi i faturës)

4. Metodat e pagesës

VleraKategoriaPërshkrimi
BANKNOTECASHPara në dorë
CARDCASHKartë
CHECKCASHÇek
SVOUCHERCASHKupon
COMPANYCASHKompani
ACCOUNTNONCASHTransfertë bankare
FACTORINGNONCASHFaktoring
COMPENSATIONNONCASHKompensim
KINDNONCASHPagesë në natyrë (klering)
OTHERNONCASHTë tjera, pa para në dorë

Llojet e thjeshtëzuara të pagesës për JSON

Për integrimin me skedarë JSON, përdorni këto lloje të thjeshtëzuara pagese:

  • CASH - Pagesë me para në dorë
  • CARD - Pagesë me kartë
  • ACCOUNT - Transfertë bankare (kërkon bankDetails)
  • CHECK - Pagesë me çek
  • OTHER - Pagesë tjetër jo-cash

Shembull me Pagesë OTHER

{
  "app": "",
  "articles": [
    {
      "articleId": "ART001",
      "vatCode": "B",
      "name": "Product",
      "soldIn": "cope",
      "price": 500,
      "units": 2
    }
  ],
  "payment": {
    "type": "OTHER"
  }
}

5. Referenca e fushave

5.1 Kodet e TVSH

KodiNormaPërshkrimi
A0%Pa taksë (TAX_FREE)
B20%Norma standarde
C0%Përjashtim Tipi 2
D10%Normë e reduktuar
E6%Normë e reduktuar
J0%Eksport mallrash

5.2 Llojet e ID

VleraPërshkrimi
NUISNIPT
IDNumri personal i identifikimit
PASSNumri i pasaportës
VATNumri i TVSH
TAXNumri tatimor
SOCNumri i sigurimeve shoqërore

5.4 Llojet e faturave

LlojiPërshkrimi
(default)Faturë standarde shitjesh
ORDERPorosi
CANCELAnulim fature
CORRECTIVEFaturë korrigjuese
SUMMARYFaturë përmbledhëse
EXCHANGEKëmbim monedhe

6. Shembuj

6.1 Faturë me pagesa të shumëfishta

{
  "app": "",
  "articles": [
    {
      "articleId": "ART001",
      "vatCode": "B",
      "name": "Product",
      "soldIn": "cope",
      "price": 1000,
      "units": 1
    }
  ],
  "payment": [
    { "type": "CASH", "amount": 600 },
    { "type": "CARD", "amount": 400 }
  ]
}

6.2 Faturë me monedhë të huaj

{
  "app": "",
  "currency": {
    "code": "EUR",
    "exRate": 100.5
  },
  "articles": [
    {
      "articleId": "ART001",
      "vatCode": "B",
      "name": "Product",
      "soldIn": "cope",
      "price": 50,
      "units": 2
    }
  ],
  "payment": { "type": "CASH" }
}

6.3 Anulim fature

{
  "app": "",
  "invoiceType": "CANCEL",
  "iicRef": "3CA552F6475201847CF63E3499E74727"
}

6.4 Faturë me transfertë bankare

{
  "app": "",
  "buyer": {
    "buyerIDType": "NUIS",
    "buyerIDNum": "L12345678A",
    "buyerName": "Company",
    "buyerTown": "Tirana",
    "buyerCountry": "ALB"
  },
  "articles": [
    {
      "articleId": "ART001",
      "vatCode": "B",
      "name": "Service",
      "soldIn": "cope",
      "price": 5000,
      "units": 1
    }
  ],
  "payment": {
    "type": "ACCOUNT",
    "bankDetails": {
      "country": "Albania",
      "countryCode": "AL",
      "currency": "ALL",
      "idNumber": "AL123456789012345678"
    }
  }
}

6.5 Faturë me zbritje artikulli

{
  "app": "",
  "articles": [
    {
      "articleId": "PROD001",
      "vatCode": "B",
      "name": "Product with % Discount",
      "soldIn": "cope",
      "price": 1000,
      "units": 5,
      "rebate": {
        "inPercentage": 10
      }
    }
  ],
  "payment": { "type": "CASH" }
}

7. Praktikat më të mira

7.1 Udhëzime të përgjithshme

  • Validoni të dhënat: gjithmonë validoni strukturën JSON para dërgimit
  • Trajtoni gabimet: implementoni trajtim të duhur gabimesh për transaksionet e dështuara
  • Ruani IIC: ruani IIC-në e kthyer (nslf) për referencë të ardhshme dhe anulime
  • Besueshmëria e rrjetit: për integrimin me API, implementoni logjikë riprovimi
  • Llogari demo: kërkoni një llogari demo nga stafi i mbështetjes për të testuar integrimin
  • ID e dokumentit: përdorni formatin UUIDv4 për fushat e personalizuara docId për të siguruar unikalitetin

7.2 Praktikat më të mira për integrimin me skedarë

  • Përdorni emra skedarësh unikë për të shmangur konfliktet
  • Monitoroni skedarët e përgjigjes për rezultatet e përpunimit
  • Implementoni mekanizma kyçjeje skedarësh për të parandaluar lexime të pjesshme
  • Pastroni skedarët e përpunuar rregullisht
  • Gjithmonë përfshini fushën app për të identifikuar aplikacionin tuaj

7.3 Praktikat më të mira për integrimin me Local API

  • Përdorni pooling lidhjesh për performancë më të mirë
  • Implementoni backoff eksponencial për riprovimet
  • Regjistroni të gjitha kërkesat dhe përgjigjet për korrigjim
  • Konfiguroni timeout-e të duhura rrjeti
  • Sigurohuni për lidhje rrjeti me Local API të easyPos

8. Zgjidhja e problemeve

8.1 Skedari nuk përpunohet

  • Kontrolloni lejet e skedarit
  • Verifikoni vlefshmërinë e sintaksës JSON
  • Sigurohuni që skedari është shkruar plotësisht para se easyPos ta lexojë
  • Kontrolloni statusin e shërbimit easyPos
  • Verifikoni që fusha app është e pranishme

8.2 Gabime lidhje API

  • Verifikoni lidhjen e rrjetit me serverin easyPos
  • Kontrolloni cilësimet e firewall-it
  • Konfirmoni URL-në dhe portin e saktë të endpoint-it
  • Validoni konfigurimin e stringës së autorizimit
  • Sigurohuni që Local API është aktivizuar në cilësimet e easyPos

8.3 Gabime të dhënash të pavlefshme

  • Validoni që të gjitha fushat e detyrueshme janë të pranishme
  • Kontrolloni që llojet e të dhënave përputhen me specifikimet
  • Verifikoni që kodet e TVSH janë të vlefshme
  • Sigurohuni që shumat janë formatuar si duhet

9. Lista e kontrollit

9.1 Setup

  • ☐ Softueri i instaluar dhe konfiguruar
  • ☐ Llogari demo e disponueshme
  • ☐ Stringa e autorizimit e konfiguruar
  • ☐ Metoda e integrimit e zgjedhur (skedar ose API)

9.2 Zhvillimi

  • ☐ Struktura JSON e implementuar
  • ☐ Trajtimi i gabimeve i implementuar
  • ☐ Përpunimi i përgjigjes i implementuar

9.3 Testimi

  • ☐ Fatura bazë e testuar
  • ☐ Fatura me blerës e testuar
  • ☐ Anulimi i testuar
  • ☐ Skenarët e gabimeve të testuar

Shënim i rëndësishëm

Për të testuar integrimin, kërkoni një llogari demo nga stafi i mbështetjes.


© ESDP - easyPos Udhëzues integrimi v2.3.0