API zur Gutscheinvalidierung
Die Vivoldi Coupon Validation API ermöglicht es, vor der Einlösung zu prüfen, ob ein Gutschein gültig ist.
Neben der Verfügbarkeit liefert sie auch Rabattdetails, Nutzungsbedingungen und Benutzerdaten, sodass flexible Geschäftslogiken umgesetzt werden können.
Diese API ist ab dem Personal-Tarif verfügbar.
/api/coupon/v1/validate?cpnNo={cpnNo}
GET /api/coupon/v1/validate
?cpnNo=ZJLF0399WQBEQZJM
Request Parameters
- cpnNostringrequired
- Coupon-Nummer.
{
"code": 0,
"message": "",
"result": {
"cpnNo": "ZJLF0399WQBEQZJM",
"domain": "https://vvd.bz",
"nm": "$100 off cake coupon",
"discTypeIdx": 457,
"discCurrency": "USD",
"formatDiscCurrency": "$60",
"disc": 60.0,
"strtYmd": "2025-01-01",
"endYmd": "2025-12-31",
"useLimit": 1,
"imgUrl": "https://file.vivoldi.com/coupon/2024/11/08/lmTFkqLQdCzeBuPdONKG.webp",
"onsiteYn": "Y",
"onsitePwd": "12345",
"memo": "60% off cake with coupon at the venue",
"url": "",
"userId": "user08",
"userNm": "Emily",
"userPhnno": "202-555-0173",
"userEml": "test@gmail.com",
"userEtc1": "",
"userEtc2": "",
"useCnt": 0,
"regYmdt": "2024-11-17 17:29:25"
}
}
Response Parameters
- codeinteger
- Antwortcode: 0 = Erfolgreich, jeder andere Wert = Fehler
- messagestring
- Antwortnachricht. Wenn der Antwortcode ungleich 0 ist, wird eine Fehlermeldung zurückgegeben.
- resultobject
-
Bei erfolgreicher Prüfung: Die Antwort enthält die Coupon-Informationen.
Bei fehlgeschlagener Prüfung: Die Antwort ist null und kann über die Fehlermeldung eingesehen werden. - cpnNostring
- Coupon-Nummer.
- domain string
- Coupon-Domain.
- nmstring
- Coupon-Name.
- discTypeIdxinteger
- Rabatt-Typ. (457: Prozent-Rabatt %, 458: Betrag-Rabatt)
- discdouble
- Für Prozentrabatt (457): Bereich 1–100%. Für Betragsrabatt (458): Betrag eingeben.
- discCurrencystring
- Währungseinheit. Erforderlich bei Betragsrabatt (discTypeIdx:458).
- formatDiscCurrencystring
- Währungssymbol.
- strtYmddate
- Startdatum der Coupon-Gültigkeit.
- endYmddate
- Ablaufdatum des Coupons.
- useLimitinteger
- Nutzungslimit für Coupons. (0: unbegrenzt, 1–5: begrenzte Nutzung)
- imgUrlstring
- Coupon-Bild-URL.
- onsiteYnstring
-
Vor-Ort-Coupon. Bestimmt, ob die Schaltfläche
„Coupon verwenden“auf der Coupon-Seite angezeigt wird.
Erforderlich, wenn Coupons in einem stationären Geschäft eingelöst werden. - onsitePwd string
-
Passwort für Vor-Ort-Coupons.
Erforderlich beim Aufruf der Coupon-Verwendungs-API, wenn die Vor-Ort-Option aktiviert ist (Y). - memostring
- Interne Notiz.
- urlstring
-
Wenn eine URL eingegeben wird, erscheint auf der Coupon-Seite die Schaltfläche
„Zum Coupon einlösen“.
Ein Klick auf die Schaltfläche oder das Coupon-Bild leitet zur angegebenen URL weiter. - userIdstring
-
Wird zur Verwaltung des Coupon-Empfängers verwendet.
Pflichtfeld, wenn die Nutzung auf 2–5 festgelegt ist.
In der Regel Login-ID oder englischer Name des Website-Mitglieds. - userNmstring
- Name des Coupon-Nutzers. Nur für interne Verwaltung.
- userPhnnostring
- Telefonnummer des Coupon-Nutzers. Nur für interne Verwaltung.
- userEmlstring
- E-Mail des Coupon-Nutzers. Nur für interne Verwaltung.
- userEtc1string
- Zusätzliches internes Feld.
- userEtc2string
- Zusätzliches internes Feld.
- useCntinteger
- Anzahl der Coupon-Nutzungen.
- regYmdtdatetime
- Erstellungsdatum des Coupons. Beispiel: 2025-07-21 11:50:20
Was lässt sich aus dem Validierungsergebnis ableiten?
Diese API geht über eine einfache „gültig / ungültig“-Prüfung hinaus.
Sie ist darauf ausgelegt, dass Entwickler auf Basis detaillierter Daten eigene Logiken implementieren können.
Mit den Antwortdaten (result) können Sie Folgendes bestimmen:
- Ob ein Rabatt angewendet werden kann und wie hoch er ist
- Ob der Gutschein auf bestimmte Nutzer beschränkt ist (userId, userEml)
- Ob Nutzungslimits überschritten wurden (useCnt, useLimit)
- Ob der Gutschein abgelaufen ist oder noch nicht gültig ist (strtYmd, endYmd)
- Ob bestimmte Bedingungen erfüllt sind (online/offline, etc.) (onsiteYn)
- Die Ziel-URL nach Anwendung des Gutscheins (url)
Mit anderen Worten: Statt eines einfachen Ergebnisses
erhalten Sie strukturierte Daten für flexible Anwendungslogik.
Validierungsmethode
Die Validierung erfolgt anhand des Gutscheincodes (cpNo) unter Berücksichtigung mehrerer Kriterien.
- Existenz
- Gültigkeitszeitraum
- Nutzungslimits
- Nutzerbedingungen
- Anwendungsumgebung
Das Ergebnis wird als strukturierte Daten zurückgegeben, nicht nur als Boolean.
Nutzung der Antwortdaten
Das result-Objekt enthält alle wesentlichen Gutscheininformationen.
Entwickler können diese Daten verwenden, um:
- Rabatte in Echtzeit im Frontend zu berechnen und anzuzeigen
- Die Nutzung auf bestimmte Benutzer zu beschränken
- Bedingte Logik basierend auf dem Zahlungsbetrag umzusetzen
- UI-Meldungen je nach Gutscheinstatus anzuzeigen (abgelaufen, eingelöst, etc.)
Anwendungsfälle
- Prüfung vor Zahlung: Gutschein validieren und nur bei Gültigkeit anwenden
- Benutzerhinweise: Meldungen je nach Ergebnis anzeigen (abgelaufen oder bereits eingelöst)
- Rabattberechnung: Daten (
disc, discType) zur Berechnung des Endbetrags nutzen
Nach dem Löschen kann derselbe Code erneut verwendet werden.
Wichtige Hinweise
- Das Validierungsergebnis entspricht dem Status zum Zeitpunkt der Abfrage und kann sich bis zur Einlösung ändern.
- Implementieren Sie stets den Ablauf: Validierung → Einlösung (Redeem).
- Eine ausschließliche clientseitige Validierung stellt ein Sicherheitsrisiko dar.
- Überprüfen Sie die Rabattberechnung zusätzlich serverseitig, um Genauigkeit und Sicherheit zu gewährleisten.