Sukurti užsakymą
Pateikite naują užsakymą su produkto pasirinkimu, mokėjimo duomenimis ir kliento informacija.
POST /orders
Užklausos turinys
{
"products": [
{
"productId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"productTypeId": 1,
"quantity": 1,
"vehiclePlate": "AB123CD",
"vehicleCountryIsocode": "AT",
"vehicleCategoryId": "f1e2d3c4-b5a6-7890-abcd-ef1234567890",
"startAt": "2026-04-01T00:00:00.000Z",
"endAt": "2026-04-10T23:59:59.000Z",
"driverFirstname": "John",
"driverLastname": "Doe"
}
],
"payment": {
"type": "CARD",
"paymentMethodId": "pm_1234567890abcdef",
"returnUrl": "https://yourapp.com/payment/callback"
},
"customer": {
"email": "john.doe@example.com",
"firstName": "John",
"lastName": "Doe",
"phone": "+43123456789"
},
"address": {
"countryIsocode": "AT",
"city": "Vienna",
"addressLine": "Mariahilfer Strasse 1",
"postalCode": "1060",
"taxNumber": "ATU12345678",
"companyName": "Doe GmbH"
},
"idempotencyKey": "unique-order-key-12345",
"externalReference": "YOUR-ORDER-REF-001",
"callbackUrl": "https://yourapp.com/webhooks/vignetim"
}
Produktų DTO
| Laukas | Tipas | Privalomas | Aprašymas |
|---|
productId | UUID | Taip | Produkto ID iš katalogo |
productTypeId | integer | Taip | Produkto tipas: 1 = VIGNETTE, 2 = ESIM, 3 = INSURANCE, 4 = FINE_PAYMENT |
quantity | integer | Taip | Vienetų skaičius |
vehiclePlate | string | Sąlyginis | Transporto priemonės valstybinis numeris (privalomas VIGNETTE) |
vehicleCountryIsocode | string | Sąlyginis | Transporto priemonės registracijos šalis (privalomas VIGNETTE) |
vehicleCategoryId | UUID | Sąlyginis | Transporto priemonės kategorija (privalomas VIGNETTE) |
startAt | ISO 8601 | Sąlyginis | Galiojimo pradžios data (privalomas VIGNETTE) |
endAt | ISO 8601 | Sąlyginis | Galiojimo pabaigos data (privalomas VIGNETTE) |
driverFirstname | string | Ne | Vairuotojo vardas |
driverLastname | string | Ne | Vairuotojo pavardė |
Mokėjimo DTO
| Laukas | Tipas | Privalomas | Aprašymas |
|---|
type | string | Taip | Vienas iš: CARD, GOOGLE_PAY, APPLE_PAY, IDEAL, REVOLUT, BANCONTACT |
paymentMethodId | string | Sąlyginis | Stripe mokėjimo metodo tokenas (privalomas CARD) |
returnUrl | string | Sąlyginis | HTTPS URL 3DS nukreipimo atgaliniam iškvietimui (privalomas CARD) |
Mokėjimų maršrutizavimas
- CARD mokėjimai nukreipiami per NestPay ir gali reikalauti 3D Secure patvirtinimo.
- GOOGLE_PAY, APPLE_PAY, IDEAL, REVOLUT ir BANCONTACT nukreipiami per Stripe.
Kliento DTO
| Laukas | Tipas | Privalomas | Aprašymas |
|---|
email | string | Taip | Kliento el. pašto adresas |
firstName | string | Taip | Kliento vardas |
lastName | string | Taip | Kliento pavardė |
phone | string | Ne | Kliento telefono numeris (rekomenduojamas E.164 formatas) |
Adreso DTO
| Laukas | Tipas | Privalomas | Aprašymas |
|---|
countryIsocode | string | Taip | Šalies ISO kodas |
city | string | Taip | Miesto pavadinimas |
addressLine | string | Taip | Gatvės adresas |
postalCode | string | Ne | Pašto kodas |
taxNumber | string | Ne | Mokesčių mokėtojo identifikacinis numeris |
companyName | string | Ne | Įmonės pavadinimas (verslo klientams) |
Papildomi laukai
| Laukas | Tipas | Privalomas | Aprašymas |
|---|
idempotencyKey | string | Ne | Unikalus raktas dubliuotų užsakymų prevencijai. Tas pats raktas su tais pačiais duomenimis grąžina pradinį užsakymą (rekomenduojama). |
externalReference | string | Ne | Jūsų vidinė užsakymo nuoroda sekimui |
callbackUrl | string | Ne | URL užsakymo būsenos atnaujinimams gauti |
Atsakymas
201 Created
{
"id": "ord-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "PENDING",
"redirectUrl": "https://pay.vignetim.com/3ds/verify/abc123",
"clientSecret": "pi_1234567890_secret_abcdef",
"products": [
{
"productId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"productTypeId": 1,
"quantity": 1,
"status": "PENDING"
}
],
"total": {
"amount": 11.5,
"currency": "EUR"
},
"externalReference": "YOUR-ORDER-REF-001",
"createdAt": "2026-03-20T14:30:00.000Z"
}
- redirectUrl -- Pateikiamas, kai reikalingas 3D Secure patvirtinimas (CARD mokėjimai). Nukreipkite klientą į šį URL.
- clientSecret -- Pateikiamas Stripe maršrutizuojamiems mokėjimams. Naudokite su Stripe.js mokėjimo patvirtinimui kliento pusėje.
409 Conflict (idempotentinis)
Jei tas pats idempotencyKey siunčiamas su tais pačiais duomenimis, pradinis užsakymas grąžinamas su 409 būsenos kodu. Tai saugu pakartotiniam bandymui.
{
"statusCode": 409,
"message": "Order already exists for this idempotency key",
"error": "Conflict"
}