fature.al është platforma e faturimit dhe fiskalizimit për bizneset në Shqipëri. Hap një llogari
Skip to content
fature.al API Menu

Listo produktet

GET /api/v1/products Requires authentication Rate limited by the `api-global` limiter v1

Send a bearer token, plus the X-Client-Id and X-Client-Secret headers in the Authorization header.

Kthen produktet dhe shërbimet e kompanisë që janë për shitje, sipas id në rritje, me filtrim sipas tekstit, kategorisë dhe llojit. Produktet e fshira dhe ato që nuk shiten nuk dalin.

Përdoreni për të ndërtuar një arkë ose një katalog, ose për të gjetur id-në e një produkti. Çdo produkt vjen me kodin, emrin, njësinë, çmimet, normën e TVSH-së dhe id_category; për objektin e kategorisë dhe për service thirrni GET /products/{id}/details.

  • query kërkon me përputhje të pjesshme në emër, kod dhe përshkrim.
  • id_category mban vetëm produktet e një kategorie; service true vetëm shërbimet, false vetëm artikujt e inventarit.
  • Pagination me limit dhe offset. limit kufizohet në 500; një vlerë më e madhe ulet pa gabim. Pa limit kthehet i gjithë katalogu, pagination.limit është null dhe offset nuk merret parasysh.
  • pagination kthen total, ndaj vazhdoni me offset += limit derisa offset të arrijë total.

Ndryshe nga listat e tjera, data është vetë lista e produkteve dhe pagination qëndron pranë saj, jo brenda saj.

Ky endpoint nuk kthen 429 as 500. Një kërkesë e dytë nga i njëjti token, ndërsa e para nuk ka mbaruar, si dhe çdo gabim i papritur, kthehen me HTTP 200 dhe status: false; arsyeja është te message. Lexoni status, jo vetëm kodin HTTP.

URL-ja e plotë: https://fature.al/api/v1/products

Query parameters

Name Tipi E detyrueshme Përshkrimi
query string no Kërkim në emrin, kodin ose përshkrimin e produktit.
id_category integer no Vetëm produktet e kësaj kategorie, sipas `id` nga `GET /product/categories`.
service boolean no `true` kthen vetëm shërbimet, `false` vetëm artikujt e inventarit. Pa të kthehen të dyja.
limit integer no Sa produkte të kthehen në një faqe, deri në 500. Pa të kthehet i gjithë katalogu.
offset integer no Nga cili produkt të fillohet, duke numëruar nga 0. Zbatohet vetëm bashkë me `limit`. Defaults to `0`.

Përgjigjet

200 Produktet e faqes te `data`, me `pagination` pranë saj; ose `status: false` me arsyen te `message`.

Field Tipi Përshkrimi
status boolean
data array
data[].id integer Id-ja e produktit në fature.al
data[].code string, nullable Kodi unik i produktit
data[].name string Emri i produktit
data[].description string, nullable Përshkrimi i produktit
data[].unit string, nullable Njësia matëse, e nxjerrë nga `unit_code`
data[].unit_code string, nullable Kodi i njësisë matëse, p.sh. `C62`, `XPP`, `LTR`
data[].last_price number Çmimi i shitjes
data[].cost_price number, nullable Çmimi i blerjes, kur është regjistruar
data[].vat_rate number Norma e TVSH-së në përqind: 0, 6, 10 ose 20
data[].vat_exempt_type string, nullable Tipi i përjashtimit nga TVSH-ja, kur produkti është i përjashtuar
data[].vat_exempt_description string, nullable Përjashtimi i shkruar në gjuhën e llogarisë
data[].currency string, nullable Monedha e çmimit
data[].id_category integer, nullable Id-ja e kategorisë, ose null kur produkti nuk ka
pagination object
pagination.records integer Sa produkte mban `data` në këtë përgjigje
pagination.total integer Sa produkte përputhen gjithsej me filtrat, në të gjitha faqet
pagination.limit integer, nullable Kufiri që u zbatua: ai që dërguat, i ulur në `500` kur ishte më i madh. null kur nuk dërguat `limit` dhe u kthye i gjithë katalogu
pagination.offset integer Nga cili produkt filloi kjo faqe, duke numëruar nga 0. Gjithmonë `0` kur nuk ka `limit`

401 Unauthenticated

Field Tipi Përshkrimi
message string

Shembull kërkese

cURL
curl -X GET 'https://fature.al/api/v1/products' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'X-Client-Id: YOUR_CLIENT_ID' \
  -H 'X-Client-Secret: YOUR_CLIENT_SECRET' \
  -H 'Accept: application/json'
PHP (Laravel)
use Illuminate\Support\Facades\Http;

$response = Http::withHeaders([
    'Authorization' => 'Bearer YOUR_TOKEN',
    'X-Client-Id' => 'YOUR_CLIENT_ID',
    'X-Client-Secret' => 'YOUR_CLIENT_SECRET',
    'Accept' => 'application/json',
])->get('https://fature.al/api/v1/products');

$data = $response->json();
PHP (Guzzle)
use GuzzleHttp\Client;

$client = new Client();

$response = $client->request('GET', 'https://fature.al/api/v1/products', [
    'headers' => [
        'Authorization' => 'Bearer YOUR_TOKEN',
        'X-Client-Id' => 'YOUR_CLIENT_ID',
        'X-Client-Secret' => 'YOUR_CLIENT_SECRET',
        'Accept' => 'application/json',
    ],
]);

$data = json_decode((string) $response->getBody(), true);
JavaScript
const response = await fetch('https://fature.al/api/v1/products', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'X-Client-Id': 'YOUR_CLIENT_ID',
    'X-Client-Secret': 'YOUR_CLIENT_SECRET',
    'Accept': 'application/json'
  }
});

const data = await response.json();

Shembull përgjigjeje

200
{
    "status": true,
    "data": [
        {
            "id": 314,
            "code": "SRV-MNT",
            "name": "Orë pune mirëmbajtje",
            "description": "Mirëmbajtje e sistemit, faturohet për orë",
            "unit": "Orë",
            "unit_code": "HUR",
            "last_price": 300,
            "cost_price": 150,
            "vat_rate": 20,
            "vat_exempt_type": "TYPE_1",
            "vat_exempt_description": "Përjashtim i llojit 1. (Përjashtim në bazë të nenit 51 të Ligjit për TVSH-në.)",
            "currency": "EUR",
            "id_category": 12
        }
    ],
    "pagination": {
        "records": 50,
        "total": 312,
        "limit": 50,
        "offset": 0
    }
}
401
{
    "message": "Unauthenticated."
}

Regjistrimi është falas.

Regjistrohu në fature.al

This page as Markdown, or the whole API as OpenAPI.