/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.
querykërkon me përputhje të pjesshme në emër, kod dhe përshkrim.id_categorymban vetëm produktet e një kategorie;servicetruevetëm shërbimet,falsevetëm artikujt e inventarit.- Pagination me
limitdheoffset.limitkufizohet në500; një vlerë më e madhe ulet pa gabim. Palimitkthehet i gjithë katalogu,pagination.limitështënulldheoffsetnuk merret parasysh. paginationkthentotal, ndaj vazhdoni meoffset += limitderisaoffsettë 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 -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'
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();
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);
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
{
"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
}
}
{
"message": "Unauthenticated."
}