/api/v1/exchange-rates
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 kursin e shitjes së ditës për çdo monedhë, në lekë për një njësi të monedhës, nga burimi i zgjedhur. Të dhënat vijnë nga kursi.al dhe ruhen në cache në server për një orë.
Përdoreni për të propozuar exchange_rate kur lëshoni një faturë në monedhë të huaj. Kursi që
shkon në faturë është ai që dërgoni ju, jo ky.
source |
Burimi |
|---|---|
BOA |
Banka e Shqipërisë, kursi zyrtar |
BKT |
Banka Kombëtare Tregtare |
Iliria98 |
Këmbim valutor Iliria '98 |
ADON |
Këmbim valutor Adon |
sourcedallon shkronjat e mëdha:bktnuk njihet. Një burim që nuk njihet nuk kthen gabim; përdoretBOA, dhesourcenë përgjigje thotë cili burim u përdor.ratesështë objekt me kodin e monedhës si çelës dhe kursin si vlerë, gjithmonë meALL: 1.EUR: 98.5do të thotë që një euro vlen 98.5 lekë.fetchedAtështë koha e përgjigjes, ISO 8601.
Kur kursi.al nuk arrihet, rates mban vetëm ALL: 1, pa gabim dhe deri në një orë. Mos e
trajtoni si kurs: mbani snapshot-in e fundit të plotë dhe përdoreni atë.
URL-ja e plotë: https://fature.al/api/v1/exchange-rates
Query parameters
| Name | Tipi | E detyrueshme | Përshkrimi |
|---|---|---|---|
| source | string | no | Burimi i kursit: `BOA`, `BKT`, `Iliria98` ose `ADON`, me shkronjat siç janë. Një vlerë tjetër bie te `BOA`. Defaults to `BOA`. |
Përgjigjet
200 Kursi i shitjes i ditës për çdo monedhë nga burimi `source`, gjithmonë me `ALL: 1`; kur kursi.al nuk arrihet, `rates` mban vetëm `ALL: 1`.
| Field | Tipi | Përshkrimi |
|---|---|---|
| status | boolean | |
| data | object | |
| data.rates | object | Kursi i shitjes për çdo monedhë, me kodin ISO 4217 si çelës dhe lekë për një njësi të monedhës si vlerë; gjithmonë me `ALL: 1`. Kur kursi.al nuk arrihet, mban vetëm `ALL: 1` |
| data.source | string | Burimi i kursit që u përdor: `BOA`, `BKT`, `Iliria98` ose `ADON`. Kur `source` i kërkesës nuk njihet, vjen `BOA` |
| data.fetchedAt | string | Koha kur u ndërtua përgjigja, ISO 8601 me zonën orare. Të dhënat e kursi.al ruhen në cache në server për një orë, ndaj mund të jenë deri në një orë më të vjetra se kjo kohë |
401 Unauthenticated
| Field | Tipi | Përshkrimi |
|---|---|---|
| message | string |
Shembull kërkese
curl -X GET 'https://fature.al/api/v1/exchange-rates' \
-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/exchange-rates');
$data = $response->json();
use GuzzleHttp\Client;
$client = new Client();
$response = $client->request('GET', 'https://fature.al/api/v1/exchange-rates', [
'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/exchange-rates', {
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": {
"rates": {
"ALL": 1,
"EUR": 98.5,
"USD": 91.2,
"GBP": 116.3
},
"source": "BOA",
"fetchedAt": "2026-09-14T10:15:00+02:00"
}
}
{
"message": "Unauthenticated."
}