Megrendelés létrehozása (Create Order)
Új megrendelés benyújtása termékválasztással, fizetési adatokkal és ügyfélinformációkkal.
POST /orders
Kérés törzs (Request Body)
{
"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"
}
Termékek DTO (Products DTO)
| Mező | Típus | Kötelező | Leírás |
|---|
productId | UUID | Igen | A termék azonosítója a katalógusból |
productTypeId | integer | Igen | Terméktípus: 1 = VIGNETTE, 2 = ESIM, 3 = INSURANCE, 4 = FINE_PAYMENT |
quantity | integer | Igen | Darabszám |
vehiclePlate | string | Feltételes | Jármű rendszáma (VIGNETTE esetén kötelező) |
vehicleCountryIsocode | string | Feltételes | Jármű regisztrációs országa (VIGNETTE esetén kötelező) |
vehicleCategoryId | UUID | Feltételes | Járműkategória (VIGNETTE esetén kötelező) |
startAt | ISO 8601 | Feltételes | Érvényesség kezdő dátuma (VIGNETTE esetén kötelező) |
endAt | ISO 8601 | Feltételes | Érvényesség befejező dátuma (VIGNETTE esetén kötelező) |
driverFirstname | string | Nem | Sofőr keresztneve |
driverLastname | string | Nem | Sofőr vezetékneve |
Fizetés DTO (Payment DTO)
| Mező | Típus | Kötelező | Leírás |
|---|
type | string | Igen | Az alábbiak egyike: CARD, GOOGLE_PAY, APPLE_PAY, IDEAL, REVOLUT, BANCONTACT |
paymentMethodId | string | Feltételes | Stripe fizetési mód token (CARD esetén kötelező) |
returnUrl | string | Feltételes | HTTPS URL a 3DS átirányítás visszahívásához (CARD esetén kötelező) |
Fizetés irányítás (Payment Routing)
- A CARD fizetések a NestPay-en keresztül kerülnek feldolgozásra, és 3D Secure ellenőrzést igényelhetnek.
- A GOOGLE_PAY, APPLE_PAY, IDEAL, REVOLUT és BANCONTACT a Stripe-on keresztül kerül feldolgozásra.
Ügyfél DTO (Customer DTO)
| Mező | Típus | Kötelező | Leírás |
|---|
email | string | Igen | Ügyfél e-mail címe |
firstName | string | Igen | Ügyfél keresztneve |
lastName | string | Igen | Ügyfél vezetékneve |
phone | string | Nem | Ügyfél telefonszáma (E.164 formátum ajánlott) |
Cím DTO (Address DTO)
| Mező | Típus | Kötelező | Leírás |
|---|
countryIsocode | string | Igen | Ország ISO-kód |
city | string | Igen | Város neve |
addressLine | string | Igen | Utca, házszám |
postalCode | string | Nem | Irányítószám |
taxNumber | string | Nem | Adószám |
companyName | string | Nem | Cégnév (üzleti ügyfelek számára) |
További mezők
| Mező | Típus | Kötelező | Leírás |
|---|
idempotencyKey | string | Nem | Egyedi kulcs a duplikált megrendelések elkerülésére. Ugyanaz a kulcs ugyanazzal a tartalommal az eredeti megrendelést adja vissza (ajánlott). |
externalReference | string | Nem | Az Ön belső megrendelési hivatkozása nyomon követéshez |
callbackUrl | string | Nem | URL a megrendelési állapotfrissítések fogadásához |
Válasz
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 -- Akkor jelenik meg, ha 3D Secure ellenőrzés szükséges (CARD fizetések). Irányítsa át az ügyfelet erre az URL-re.
- clientSecret -- Stripe-on keresztül irányított fizetéseknél jelenik meg. Használja a Stripe.js-szel a fizetés kliens oldali megerősítéséhez.
409 Conflict (idempotens)
Ha ugyanaz az idempotencyKey ugyanazzal a tartalommal kerül elküldésre, az eredeti megrendelés 409-es állapotkóddal kerül visszaadásra. Az újrapróbálkozás biztonságos.
{
"statusCode": 409,
"message": "Order already exists for this idempotency key",
"error": "Conflict"
}