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

Lexo feed-in e ngjarjeve

GET /api/partner/v1/wolt/events Requires authentication Rate limited by the `api-global` limiter

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

Boshti i integrimit. Thirreni këtë endpoint në mënyrë periodike me next_cursor-in e fundit që keni marrë, dhe merrni me radhë ngjarjet e ciklit të porosive të njësisë (venue). Feed-i vetëm shtohet, ndaj asgjë nuk humbet gjatë kohës që sistemi juaj nuk punon; dorëzimi është të paktën një herë (at-least-once), ndaj trajtojeni çiftin (order_id, type) si idempotent. Çdo ngjarje mban te order një snapshot të shkurtër të porosisë në atë çast.

URL-ja e plotë: https://fature.al/api/partner/v1/wolt/events

Query parameters

Name Tipi E detyrueshme Përshkrimi
since integer no Cursor-i nga i cili vazhdohet; dërgoni next_cursor-in e mëparshëm. Parazgjedhja është 0, fillimi i historikut të ruajtur. Defaults to `0`.
limit integer no Numri më i madh i ngjarjeve që kthehen, 1-200. Defaults to `50`.
types string no Llojet e ngjarjeve që përfshihen, të ndara me presje, p.sh. order.received,order.ready.

Përgjigjet

200 Ngjarjet pas `since` te `events`, nga më e vjetra te më e reja, me `next_cursor` dhe `has_more`; `events` është bosh kur nuk ka asgjë të re.

Field Tipi Përshkrimi
status boolean
data object
data.events array Ngjarjet me id më të madhe se `since`, të renditura sipas id-së në rritje, deri në `limit` copë dhe vetëm të llojeve te `types` kur e keni dërguar. Bosh kur nuk ka asgjë të re pas cursor-it
data.events[].id integer Id-ja e ngjarjes, gjithmonë rritëse; është cursor-i i feed-it: dërgoni më të madhen që keni parë si `since`
data.events[].type string Lloji i ngjarjes: `order.received`, `order.accepted`, `order.in_production`, `order.preorder_confirmed`, `order.ready`, `order.picked_up`, `order.courier_at_customer`, `order.delivered`, `order.rejected`, `order.cancelled`, `order.fiscalized`, `order.fiscalization_failed` ose `order.updated` (një ndryshim statusi që nuk ka lloj të vetin)
data.events[].order_id integer Id-ja në fature.al e porosisë për të cilën është ngjarja; e njëjta me `order.id`
data.events[].wolt_order_id string Id-ja e porosisë te Wolt
data.events[].status string, nullable Statusi i porosisë në çastin e ngjarjes, me të njëjtat vlera si `order.status`
data.events[].occurred_at string, nullable Kur u regjistrua ngjarja në fature.al (ISO-8601 me offset-in e orës lokale)
data.events[].order object Snapshot i shkurtër i porosisë ashtu siç ishte kur u regjistrua ngjarja; për gjendjen e tanishme thirrni `GET /wolt/orders/{id}`
data.events[].order.id integer Id-ja e porosisë në fature.al; përdoreni si `{id}` në endpoint-et e porosisë dhe të veprimeve
data.events[].order.wolt_order_id string Id-ja e porosisë te Wolt
data.events[].order.display_number any Numri i porosisë që Wolt i tregon klientit (`order_number`); `null` kur Wolt nuk e ka dërguar ende
data.events[].order.status string Statusi i porosisë, siç vjen nga Wolt: `received`, `acknowledged`, `preorder_confirmed`, `production`, `ready`, `picked_up`, `courier_at_customer`, `delivered`, `rejected`, `refunded`, `cancelled`, ...
data.events[].order.fiscal_state string Gjendja fiskale, e nxjerrë nga fatura: `pending` (pa faturë), `deferred` (fatura pret CIS-in), `fiscalised` (e regjistruar në CIS) ose `failed` (lëshimi dështoi dhe porosia mbeti pa faturë)
data.events[].order.total_amount number Totali i paguar nga klienti, në monedhën e porosisë (`currency`), në njësi të plota (lekë, jo qindarka)
data.events[].order.currency string Kodi i monedhës së porosisë sipas ISO 4217; `ALL` kur Wolt nuk dërgon monedhë
data.events[].order.received_at any Kur fature.al e regjistroi porosinë nga Wolt (ISO-8601 me offset-in e orës lokale)
data.events[].order.pickup_at any Koha e premtuar Wolt-it gjatë pranimit (ISO-8601 me offset-in e orës lokale): kur do të jetë gati porosia te një porosi marketplace, ose kur do t'i dorëzohet klientit te një porosi self-delivery. `null` kur gjatë pranimit nuk u premtua kohë
data.events[].order.delivery_type any Lloji i dorëzimit sipas Wolt (`delivery.type`): `homedelivery` me korrier, `takeaway` klienti e merr vetë, `eatin` konsumim në vend; `null` kur Wolt nuk e dërgon
data.events[].order.self_delivery boolean `true` kur njësia e dorëzon porosinë me korrierin e vet dhe jo me një korrier të Wolt
data.events[].order.branch any Emri i njësisë së biznesit që mban lidhjen Wolt; `null` kur lidhja nuk ka njësi
data.events[].order.invoice any Referenca e faturës fiskale të lidhur, ose `null` sa kohë nuk është lëshuar faturë
data.next_cursor string Cursor-i për thirrjen e radhës: id-ja e ngjarjes së fundit në këtë faqe, ose vetë `since` që dërguat kur faqja është bosh. Ruajeni dhe dërgojeni si `since` në thirrjen tjetër. Vjen si string edhe pse është numër
data.has_more boolean `true` kur pas `next_cursor` ka ende ngjarje, pra kur feed-i mbante më shumë se `limit`; vazhdoni menjëherë me `since=next_cursor`. `false` kur jeni në fund të feed-it

401 Unauthenticated

Field Tipi Përshkrimi
message string

403 Kompania nuk e ka modulin Wolt, përdoruesi i token-it nuk ka të drejtën Wolt, ose token-i nuk zgjidhet në një njësi të vetme aktive.

Field Tipi Përshkrimi
status boolean Gjithmonë `false`
message string Shpjegim i përkthyer; ruajeni në log, por mos vendosni sipas tij
code string Arsyeja e qëndrueshme, e lexueshme nga makina: `unauthenticated` (token-i mungon ose nuk vlen), `wolt_not_enabled` (kompania nuk e ka modulin Wolt), `forbidden` (përdoruesi i token-it nuk ka të drejtën Wolt), `no_venue` (token-i nuk zgjidhet në një njësi të vetme aktive), `order_not_found` (nuk ka porosi të tillë për këtë njësi), `invalid_transition` (veprimi nuk lejohet për statusin aktual të porosisë), `invalid_data` (body i kërkesës nuk kaloi validimin), `action_failed` (veprimi dështoi nga ana jonë), `wolt_upstream_error` (Wolt e refuzoi veprimin ose nuk u përgjigj), `idempotency_key_required` (header-i `Idempotency-Key` mungon), `idempotency_in_progress` (një thirrje me të njëjtin çelës është ende në proces)

429 Kufiri i kërkesave u arrit: 180 lexime në minutë për token. Riprovoni pas numrit të sekondave në header-in Retry-After.

Field Tipi Përshkrimi
message string

Shembull kërkese

cURL
curl -X GET 'https://fature.al/api/partner/v1/wolt/events' \
  -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/partner/v1/wolt/events');

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

$client = new Client();

$response = $client->request('GET', 'https://fature.al/api/partner/v1/wolt/events', [
    '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/partner/v1/wolt/events', {
  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": {
        "events": [
            {
                "id": 10421,
                "type": "order.ready",
                "order_id": 8801,
                "wolt_order_id": "66e1f3a2b4c5d6e7f8a9b0c1",
                "status": "ready",
                "occurred_at": "2026-09-14T12:24:10+02:00",
                "order": {
                    "id": 8801,
                    "wolt_order_id": "66e1f3a2b4c5d6e7f8a9b0c1",
                    "display_number": "A7",
                    "status": "ready",
                    "fiscal_state": "fiscalised",
                    "total_amount": 1550,
                    "currency": "ALL",
                    "received_at": "2026-09-14T12:05:31+02:00",
                    "pickup_at": "2026-09-14T12:30:00+02:00",
                    "delivery_type": "homedelivery",
                    "self_delivery": false,
                    "branch": "Blloku",
                    "invoice": "invoice"
                }
            }
        ],
        "next_cursor": 10470,
        "has_more": true
    }
}
401
{
    "message": "Unauthenticated."
}
403
{
    "status": false,
    "message": "Porosia nuk u gjet.",
    "code": "order_not_found"
}
429
{
    "message": "Hello there"
}

Regjistrimi është falas.

Regjistrohu në fature.al

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