fature.al eshte platforma e faturimit dhe fiskalizimit per bizneset ne Shqiperi. Hap nje llogari
Skip to content
fature.al API Menu

Get the order's fiscal invoice

GET /api/partner/v1/wolt/orders/{id}/invoice Requires authentication Rate limited by the `api-global` limiter

Send a bearer token in the Authorization header.

Returns the fiscal invoice issued for the order: IIC, FIC and EIC identifiers, verification through pdf_url, the client, the amounts and the lines.

The invoice object is identical to the one from GET /api/v1/invoice/{id}/details, so anything already written against that endpoint works here unchanged.

While it is still null#

invoice is null until the order has been fiscalised. Track fiscal_state rather than polling blindly:

fiscal_state Meaning
pending No invoice yet. Mark the order ready to create one
deferred Issued, waiting on the tax service. It will complete on its own
fiscalised Done. invoice is populated
failed Needs a retry

Better still, watch the order.fiscalized event on the feed instead of polling.

Full URL: https://fature.al/api/partner/v1/wolt/orders/{id}/invoice

Path parameters

Name Type Required Description
id integer yes The order's Fatureal id, from the feed or the order list.

Responses

200 OK

Field Type Description
status boolean
data object
data.fiscal_state string
data.invoice object, nullable
data.invoice.lines array
data.invoice.lines[].name string
data.invoice.lines[].product_code string, nullable Internal product code, when the line is a mapped product
data.invoice.lines[].unit string, nullable
data.invoice.lines[].unit_code string, nullable
data.invoice.lines[].quantity number
data.invoice.lines[].unitPrice number Unit price with the line discount already taken off, major units
data.invoice.lines[].vat_rate number, nullable VAT rate percent
data.invoice.lines[].vat_exempt_type string, nullable VAT exemption type, when the line is exempt
data.invoice.lines[].discount_rate number, nullable Line discount percent, as sent in `lines[].discount` when the line was discounted
data.invoice.lines[].discount number, nullable Line discount amount, net-denominated, major units
data.invoice.lines[].amount_net number
data.invoice.lines[].amount_vat number
data.invoice.lines[].total number Gross line total, major units

403 The company has no Wolt add-on, the token has no Wolt right, or it resolves to no single active venue.

Field Type Description
status boolean Always false
message string Localised explanation, safe to log but not to branch on
code string Stable machine readable reason: `unauthenticated`, `wolt_not_enabled`, `forbidden`, `no_venue`, `order_not_found`, `invalid_transition`, `invalid_data`, `action_failed`, `wolt_upstream_error`, `idempotency_key_required`, `idempotency_in_progress`

404 No such order for this venue.

Field Type Description
status boolean Always false
message string Localised explanation, safe to log but not to branch on
code string Stable machine readable reason: `unauthenticated`, `wolt_not_enabled`, `forbidden`, `no_venue`, `order_not_found`, `invalid_transition`, `invalid_data`, `action_failed`, `wolt_upstream_error`, `idempotency_key_required`, `idempotency_in_progress`

429 Rate limit reached: 180 reads a minute per token. Retry after the number of seconds in the Retry-After header.

Field Type Description
message string

Example request

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

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

$client = new Client();

$response = $client->request('GET', 'https://fature.al/api/partner/v1/wolt/orders/8801/invoice', [
    '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/orders/8801/invoice', {
  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();

Example response

200
{
    "status": true,
    "data": {
        "fiscal_state": "fiscal state",
        "invoice": {
            "lines": [
                {
                    "name": "Jane Doe",
                    "product_code": "product code",
                    "unit": "unit",
                    "unit_code": "unit code",
                    "quantity": 2,
                    "unitPrice": 1999,
                    "vat_rate": 19.99,
                    "vat_exempt_type": "vat exempt type",
                    "discount_rate": 3,
                    "discount": 3,
                    "amount_net": 4200,
                    "amount_vat": 4200,
                    "total": 4200
                }
            ]
        }
    }
}
403
{
    "status": true,
    "message": "Hello there",
    "code": "code"
}
404
{
    "status": true,
    "message": "Hello there",
    "code": "code"
}
429
{
    "message": "Hello there"
}

Regjistrimi eshte falas.

Regjistrohu ne fature.al

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