Vignetim

Vytvoření objednávky (Create Order)

Odešlete novou objednávku s výběrem produktu, platebními údaji a informacemi o zákazníkovi.

POST /orders

Tělo požadavku

{
	"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"
}

Products DTO

PoleTypPovinnéPopis
productIdUUIDAnoID produktu z katalogu
productTypeIdintegerAnoTyp produktu: 1 = VIGNETTE, 2 = ESIM, 3 = INSURANCE, 4 = FINE_PAYMENT
quantityintegerAnoPočet kusů
vehiclePlatestringPodmíněněRegistrační značka vozidla (povinné pro VIGNETTE)
vehicleCountryIsocodestringPodmíněněZemě registrace vozidla (povinné pro VIGNETTE)
vehicleCategoryIdUUIDPodmíněněKategorie vozidla (povinné pro VIGNETTE)
startAtISO 8601PodmíněněDatum začátku platnosti (povinné pro VIGNETTE)
endAtISO 8601PodmíněněDatum konce platnosti (povinné pro VIGNETTE)
driverFirstnamestringNeJméno řidiče
driverLastnamestringNePříjmení řidiče

Payment DTO

PoleTypPovinnéPopis
typestringAnoJedna z hodnot: CARD, GOOGLE_PAY, APPLE_PAY, IDEAL, REVOLUT, BANCONTACT
paymentMethodIdstringPodmíněněToken platební metody Stripe (povinné pro CARD)
returnUrlstringPodmíněněHTTPS URL pro zpětné volání přesměrování 3DS (povinné pro CARD)

Směrování plateb (Payment Routing)

  • Platby CARD jsou směrovány přes NestPay a mohou vyžadovat ověření 3D Secure.
  • GOOGLE_PAY, APPLE_PAY, IDEAL, REVOLUT a BANCONTACT jsou směrovány přes Stripe.

Customer DTO

PoleTypPovinnéPopis
emailstringAnoE-mailová adresa zákazníka
firstNamestringAnoJméno zákazníka
lastNamestringAnoPříjmení zákazníka
phonestringNeTelefonní číslo zákazníka (doporučen formát E.164)

Address DTO

PoleTypPovinnéPopis
countryIsocodestringAnoISO kód země
citystringAnoNázev města
addressLinestringAnoUlice a číslo
postalCodestringNePSČ
taxNumberstringNeDIČ
companyNamestringNeNázev společnosti (pro firemní zákazníky)

Další pole

PoleTypPovinnéPopis
idempotencyKeystringNeJedinečný klíč pro zabránění duplicitním objednávkám. Stejný klíč se stejným payloadem vrátí původní objednávku (doporučeno).
externalReferencestringNeVaše interní reference objednávky pro sledování
callbackUrlstringNeURL pro příjem aktualizací stavu objednávky

Odpověď

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 -- Přítomno, když je vyžadováno ověření 3D Secure (platby CARD). Přesměrujte zákazníka na tuto URL.
  • clientSecret -- Přítomno pro platby směrované přes Stripe. Použijte ho se Stripe.js pro potvrzení platby na straně klienta.

409 Conflict (Idempotentní)

Pokud je stejný idempotencyKey odeslán se stejným payloadem, vrátí se původní objednávka se stavovým kódem 409. Opakování je bezpečné.

{
	"statusCode": 409,
	"message": "Order already exists for this idempotency key",
	"error": "Conflict"
}