/api/v2/cash-register/actions
Requires authentication
Rate limited by the `api-global` limiter
v2
Send a bearer token, plus the X-Client-Id and X-Client-Secret headers in the Authorization header.
Kthen historikun e arkës, nga më i riu te më i vjetri, me filtrim sipas tipit dhe datës: hyrjet, daljet, hapjet dhe mbylljet e ditës.
Përdoreni për rakordimin e turnit dhe për të lexuar gjendjen fiskale të një veprimi që u ruajt ndërsa CIS-i nuk arrihej.
type |
Veprimi |
|---|---|
MONEY_IN |
Hyrje parash |
MONEY_OUT |
Dalje parash |
OPEN_DAY |
Hapje e ditës |
CLOSE_DAY |
Mbyllje e ditës |
- Disa tipe ndahen me presje:
type=MONEY_IN,MONEY_OUTkthen vetëm lëvizjet e parave. - Mbyllja nga
POST /cash-register/close-balancedel siMONEY_OUTme përshkrimin "Mbyllje turni/xhiro ditore", jo siCLOSE_DAY. fromDatedhetoDatekufizojnë sipas datës së veprimit, të dyja përfshirëse.- Pagination me
limitdheoffset.paginationnuk kthentotal, ndaj ndaloni kur një faqe vjen më e shkurtër selimit.
amount është gjithmonë pozitive, në ALL; drejtimin e jep action_type. fiscal_status dhe
fiscal_fic thonë nëse veprimi është fiskalizuar.
Nga lista e v1 ndryshon vetëm te internalId: çdo veprim e kthen ashtu siç u dërgua te hyrja
ose dalja, që ta lidhni me veprimin në sistemin tuaj. Vjen null për hapjet dhe mbylljet e
ditës dhe për veprimet e regjistruara pa të.
URL-ja e plotë: https://fature.al/api/v2/cash-register/actions
Ndryshuar që nga v1:
| What changed | v1 | v2 |
|---|---|---|
200 data.items[].internalId |
— | string, nullable |
Query parameters
| Name | Tipi | E detyrueshme | Përshkrimi |
|---|---|---|---|
| limit | integer | no | Sa veprime të kthehen në një faqe. Defaults to `20`. |
| offset | integer | no | Nga cili veprim të fillohet, duke numëruar nga 0. Defaults to `0`. |
| type | string | no | Filtro sipas tipit: `MONEY_IN`, `MONEY_OUT`, `OPEN_DAY` ose `CLOSE_DAY`, disa tipe të ndara me presje. |
| fromDate | string | no | Data e fillimit, `YYYY-MM-DD`. |
| toDate | string | no | Data e mbarimit, `YYYY-MM-DD`. |
Përgjigjet
200 Lista e veprimeve të periudhës, nga më i riu te më i vjetri, me `pagination`; `items` është bosh kur nuk ka veprime.
| Field | Tipi | Përshkrimi |
|---|---|---|
| status | boolean | |
| data | object | |
| data.items | array | |
| data.items[].id | integer | Id-ja e veprimit në fature.al |
| data.items[].internalId | string, nullable | Identifikuesi i veprimit në sistemin tuaj, ai që dërguat te `internalId` në `POST /cash-register/deposit` ose `POST /cash-register/withdraw`. `null` për hapjet dhe mbylljet e ditës dhe për veprimet e regjistruara pa `internalId`, nga v1 ose nga paneli |
| data.items[].action_type | string | Lloji i veprimit: `MONEY_IN` hyrje parash, `MONEY_OUT` dalje parash, `OPEN_DAY` hapje e ditës, `CLOSE_DAY` mbyllje e ditës. Pa filtrin `type` lista sjell çdo veprim të arkës, edhe tipet që regjistrohen vetëm nga paneli, si `INITIAL_OPEN_BALANCE` (hapja e parë e arkës) dhe `MONEY_IN_TRANSFER` (kalim parash nga një arkë tjetër) |
| data.items[].amount | number | Shuma e veprimit, gjithmonë pozitive, në monedhën `currency`; drejtimin e jep `action_type` |
| data.items[].currency | string | Kodi ISO 4217 i monedhës së veprimit; `ALL` te çdo veprim i regjistruar nga API-ja |
| data.items[].transaction_date | string | Data e veprimit, `YYYY-MM-DD`: dita kur u regjistrua |
| data.items[].transaction_no | integer | Numri rendor i veprimit brenda kompanisë: numëron të gjitha veprimet e arkës të kompanisë, të çdo tipi dhe të çdo pajisjeje fiskale (TCR) |
| data.items[].cash_action_no | string | Numri i veprimit, `n/viti/kodi TCR`: `n` nis nga 1 çdo vit, veçmas për çdo tip veprimi dhe çdo pajisje fiskale (TCR) |
| data.items[].fiscal_status | string, nullable | Gjendja fiskale: `FISCALIZED` kur CIS-i e ka regjistruar veprimin, `UNFISCALIZED` sa kohë pret fiskalizimin, të cilin fature.al e riprovon vetë |
| data.items[].fiscal_uuid | string, nullable | UUID-ja që fature.al i cakton veprimit kur e dërgon te CIS-i, e njëjta që shkon si UUID i kërkesës `RegisterCashDeposit`. `null` kur veprimi nuk i është dërguar ende CIS-it |
| data.items[].fiscal_fic | string, nullable | Kodi FCDC që kthen CIS-i kur regjistron veprimin. `null` sa kohë veprimi pret fiskalizimin; mbetet `null` edhe kur CIS-i u përgjigj me një nga gabimet 56, 63 ose 920, të cilat fature.al i mbyll si `FISCALIZED` pa kod |
| data.items[].fiscal_tcr_code | string, nullable | Kodi i pajisjes fiskale (TCR) ku u regjistrua veprimi. Për një administrator lista mbulon gjithë arkat e kompanisë, ndaj kjo fushë thotë cilës i takon veprimi. `null` te një veprim i ruajtur pa pajisje fiskale |
| data.items[].description | string, nullable | Përshkrimi i veprimit: ai që u dërgua te `description`, ose ai që vendos vetë fature.al te veprimet e veta, si "Mbyllje turni/xhiro ditore" te mbyllja e ditës dhe "Hapje e gjendjes fillestare" te hapja me gjendje. `null` kur nuk ka |
| data.items[].third_party | string, nullable | Pala e tretë e veprimit, ashtu siç u dërgua te `third_party`; kur veprimi u lidh me një klient (`id_client`), zëvendësohet me emrin e klientit. `null` kur nuk ka |
| data.items[].id_client | integer, nullable | Id-ja e klientit të lidhur me veprimin, siç u dërgua te `id_client`; `null` kur veprimi nuk ka klient |
| data.items[].created_at | string | Data dhe ora e regjistrimit, `YYYY-MM-DD HH:MM:SS`, orë lokale. Gjendja e `GET /cash-register/balance` me `toDate` llogaritet mbi këtë kohë, jo mbi `transaction_date` |
| data.pagination | object | |
| data.pagination.records | integer | Sa veprime mban `items` në këtë faqe |
| data.pagination.limit | integer | Parametri `limit` i kërkesës, pas rrumbullakimit në të paktën 1 |
| data.pagination.offset | integer | Parametri `offset` i kërkesës, pas rrumbullakimit në të paktën 0 |
| data.pagination.type | string, nullable | Filtri `type` ashtu siç u dërgua, `null` kur nuk u dërgua |
401 Unauthenticated
| Field | Tipi | Përshkrimi |
|---|---|---|
| message | string |
500 Gabim i papritur në server.
| Field | Tipi | Përshkrimi |
|---|---|---|
| status | boolean | Gjithmonë false. Një përgjigje e suksesshme mban `status: true` dhe objektin `data` |
| message | string | Përshkrimi i gabimit. Bosh kur dështimi nuk mban ndonjë mesazh të vetin |
| errors | array | Mesazhe për t'u shfaqur te përdoruesi ose për t'u ruajtur në log. Mungon kur nuk ka gjë për të shtuar përtej `message` |
Shembull kërkese
curl -X GET 'https://fature.al/api/v2/cash-register/actions' \
-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/v2/cash-register/actions');
$data = $response->json();
use GuzzleHttp\Client;
$client = new Client();
$response = $client->request('GET', 'https://fature.al/api/v2/cash-register/actions', [
'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/v2/cash-register/actions', {
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": {
"items": [
{
"id": 5120,
"internalId": "ARKA-2026-000318",
"action_type": "MONEY_IN",
"amount": 1500,
"currency": "ALL",
"transaction_date": "2026-09-14",
"transaction_no": 812,
"cash_action_no": "12/2026/pp556gh743",
"fiscal_status": "FISCALIZED",
"fiscal_uuid": "3f2c9a4e-6b1d-4c8e-9a7f-2d5e8b1c4a60",
"fiscal_fic": "b6e1f2a3-9c4d-4e5f-8a7b-1c2d3e4f5a6b",
"fiscal_tcr_code": "pp556gh743",
"description": "Arketim nga klienti",
"third_party": "Alba Market shpk",
"id_client": 42,
"created_at": "2026-09-14 10:15:00"
}
],
"pagination": {
"records": 20,
"limit": 20,
"offset": 0,
"type": "MONEY_IN,MONEY_OUT"
}
}
}
{
"message": "Unauthenticated."
}
{
"status": false,
"message": "Te dhenat jo te sakta.",
"errors": [
"errors"
]
}