Vignetim

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ípusKötelezőLeírás
productIdUUIDIgenA termék azonosítója a katalógusból
productTypeIdintegerIgenTerméktípus: 1 = VIGNETTE, 2 = ESIM, 3 = INSURANCE, 4 = FINE_PAYMENT
quantityintegerIgenDarabszám
vehiclePlatestringFeltételesJármű rendszáma (VIGNETTE esetén kötelező)
vehicleCountryIsocodestringFeltételesJármű regisztrációs országa (VIGNETTE esetén kötelező)
vehicleCategoryIdUUIDFeltételesJárműkategória (VIGNETTE esetén kötelező)
startAtISO 8601FeltételesÉrvényesség kezdő dátuma (VIGNETTE esetén kötelező)
endAtISO 8601FeltételesÉrvényesség befejező dátuma (VIGNETTE esetén kötelező)
driverFirstnamestringNemSofőr keresztneve
driverLastnamestringNemSofőr vezetékneve

Fizetés DTO (Payment DTO)

MezőTípusKötelezőLeírás
typestringIgenAz alábbiak egyike: CARD, GOOGLE_PAY, APPLE_PAY, IDEAL, REVOLUT, BANCONTACT
paymentMethodIdstringFeltételesStripe fizetési mód token (CARD esetén kötelező)
returnUrlstringFeltételesHTTPS 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ípusKötelezőLeírás
emailstringIgenÜgyfél e-mail címe
firstNamestringIgenÜgyfél keresztneve
lastNamestringIgenÜgyfél vezetékneve
phonestringNemÜgyfél telefonszáma (E.164 formátum ajánlott)

Cím DTO (Address DTO)

MezőTípusKötelezőLeírás
countryIsocodestringIgenOrszág ISO-kód
citystringIgenVáros neve
addressLinestringIgenUtca, házszám
postalCodestringNemIrányítószám
taxNumberstringNemAdószám
companyNamestringNemCégnév (üzleti ügyfelek számára)

További mezők

MezőTípusKötelezőLeírás
idempotencyKeystringNemEgyedi kulcs a duplikált megrendelések elkerülésére. Ugyanaz a kulcs ugyanazzal a tartalommal az eredeti megrendelést adja vissza (ajánlott).
externalReferencestringNemAz Ön belső megrendelési hivatkozása nyomon követéshez
callbackUrlstringNemURL 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"
}