Docs

# Create Vignette

Creates a draft vignette for a specific vehicle. This is the first step in the vignette issuance process. The created draft includes vehicle details, product information, and pricing data but is not yet finalized or activated for use.

This endpoint is typically used in pre-checkout flows, allowing systems to:

  • Generate a vignette instance for review or payment.
  • Lock in pricing and validity terms.
  • Prepare data for invoice generation or fiscal receipt printing.

# Request

POST /v1/vignette/create

# Parameters

Parameter Type Required Description
activationDate string Yes Requested activation date and time (ISO 8601). Determines when the vignette validity period will begin.
email string Yes Customer's email address to receive the vignette confirmation and receipt.
kapschProductId integer Yes ID of the selected product returned by the /v1/vignette/products endpoint.
vehicle.lpn string Yes License plate number of the vehicle.
vehicle.countryCode string Yes Country code of the vehicle’s registration (e.g., RO, BG).
remoteClientId string No Custom client reference ID for tracking or grouping vignettes in external systems.

# Code samples

curl -X POST "https://api.rovinieteonline.ro/v1/vignette/check" \
     -H "X-Authorization: [YOUR_API_KEY]" \
     -H "Content-Type: application/json" \
     -d '{
           "activationDate": "2025-06-20T08:51:40.664Z",
           "email": "tehnic@rovinieteonline.ro",
           "kapschProductId": 1,
           "vehicle": {
              "lpn": "B123ABC",
              "countryCode": "RO"
           },
           "remoteClientId": 99
         }'
try {
    const res = await fetch("https://api.rovinieteonline.ro/v1/vignette/create", {
        method: "POST",
        headers: {
            "X-Authorization": "[YOUR_API_KEY]",
            "Content-Type": "application/json"
        },
        body: JSON.stringify({
            activationDate: "2025-06-20T08:51:40.664Z",
            email: "tehnic@rovinieteonline.ro",
            kapschProductId: 1,
            vehicle: {
                lpn: "B123ABC",
                countryCode: "RO"
            },
            remoteClientId: 1
        })
    })
    const json = await res.json()
    console.log(json)
} catch (err) {
    console.log(err)
}

# Response

On success, the endpoint will return this response:

{
  "id": "string",
  "total": 0,
  "currency": "string",
  "totalCurrencyAmount": {
    "amountBGN": 0,
    "amountEUR": 0
  },
  "createdOn": "2025-06-20T09:05:53.675Z",
  "active": true,
  "email": "string",
  "saleRows": [
    {
      "active": true,
      "cashReceiptPrinted": true,
      "createdOn": "2025-06-20T09:05:53.675Z",
      "id": "string",
      "kapschProperties": {
        "id": "string",
        "product": {
          "id": 0,
          "vehicleType": "car",
          "emissionClass": "none",
          "validityType": "day"
        },
        "status": 0,
        "vehicle": {
          "lpn": "string",
          "countryCode": "string"
        },
        "validity": {
          "requestedValidityStartDate": "2025-06-20T09:05:53.675Z",
        },
        "price": {
          "currency": "string",
          "amount": 0
        },
        "purchase": {
          "purchaseDateTimeUTC": "2025-06-20T09:05:53.675Z"
        }
      },
      "productsResponse": {
        "categoryDescriptionText": "string",
        "description": "string",
        "emissionClass": "none",
        "emissionClassText": "string",
        "id": 0,
        "mongoId": "string",
        "price": {
          "currency": "string",
          "amount": 0
        },
        "currencyAmount": {
          "amountBGN": 0,
          "amountEUR": 0
        },
        "productType": "TOLL",
        "productTypeLabel": "string",
        "validityType": "day",
        "validityTypeText": "string",
        "vehicleType": "car",
        "vehicleTypeText": "string"
      },
      "remoteClientId": "string",
      "stornoPrinted": true,
      "uniqueFiscalSaleId": "string"
    }
  ]
}