Stempel-Validierungs-API (v2)
Die Stempel-Validierungs-API prüft, ob ein Stempel vor dem Hinzufügen, Entfernen oder Einlösen in einem gültigen Zustand ist.
Sie überprüft in einer Anfrage die stampIdx, den Gültigkeitszeitraum, den Aktivstatus und ob die Belohnung bereits eingelöst wurde.
Zusätzlich werden der aktuelle Akkumulationsstatus und Karteninformationen zurückgegeben, sodass eine Benutzeransicht erstellt werden kann.
Diese API ist ab dem Personal-Tarif verfügbar.
/api/stamp/v2/validate?stampIdx={stampIdx}
GET /api/stamp/v2/validate
?stampIdx=274
&processStoreIdx=22
Request Parameters
- stampIdx integer required
- Stempel-IDX.
- processStoreIdx integer
-
IDX des Geschäfts, in dem diese Anfrage tatsächlich verarbeitet wird. Bei Angabe prüft der Server Organisationszugehörigkeit, Aktivstatus und Berechtigungen, bevor der Wert im Verarbeitungsverlauf gespeichert wird.
Die verarbeitende Filiale wird nicht aus der Anfrage übernommen, sondern vom Server aus diesem Geschäft abgeleitet. Sie unterscheidet sich vom ausgebenden Geschäft (storeIdx).
{
"code": 0,
"message": "",
"result": {
"stampIdx": 16,
"domain": "https://vvd.bz",
"cardIdx": 1,
"cardNm": "Accumulate 10 Americanos",
"cardTtl": "Collect 10 stamps to get one free Americano.",
"stamps": 10,
"maxStamps": 12,
"stampUrl": "https://vvd.bz/stamp/274",
"url": "https://myshopping.com",
"strtYmd": "2025-01-01",
"endYmd": "2026-12-31",
"onsiteYn": "Y",
"onsiteToken": "QsBkV0ryiCkxiV4KUNJBSWQcR8MzSlvez4ntLh2Tt2M",
"onsiteTokenExpiresIn": 180,
"memo": null,
"activeYn": "Y",
"userId": "NKkDu9X4p4mQ",
"userNm": null,
"userPhnno": null,
"userEml": null,
"userEtc1": null,
"userEtc2": null,
"stampImgUrl": "https://cdn.vivoldi.com/www/image/icon/stamp/icon.stamp.1.webp",
"regYmdt": "2025-10-30 05:11:35",
"branchIdx": 11,
"branchNm": "Gangnam Branch",
"storeIdx": 22,
"storeNm": "Gangnam Station Store",
"issueScope": "BRANCH",
"useScope": "BRANCH",
"useBranchIdx": 11,
"useBranchNm": "Gangnam Branch"
}
}
Response Parameters
- codeinteger
- Antwortcode: 0 = Erfolgreich, jeder andere Wert = Fehler
- messagestring
- Antwortnachricht. Wenn der Antwortcode ungleich 0 ist, wird eine Fehlermeldung zurückgegeben.
- resultobject
-
Wenn die Überprüfung erfolgreich ist, enthält die Antwort die Stempelinformationen.
Bei einem Fehler ist der Antwortwertnullund die Fehlermeldung zeigt die Ursache an. - stampIdx integer
- Stempel-IDX.
- domain string
- Stempel-Domain.
- cardIdx integer
- Karten-IDX.
- cardNm string
- Kartenname.
- cardTtl string
- Kartentitel.
- stamps integer
- Anzahl der bisher gesammelten Stempel.
- maxStamps integer
- Maximale Anzahl der Stempel auf der Karte.
- stampUrl string
- URL der Stempelseite.
- url string
- URL, zu der weitergeleitet wird, wenn auf der Stempelseite die Schaltfläche angeklickt wird.
- strtYmd date
- Beginn des Gültigkeitszeitraums des Stempels.
- endYmd date
- Ablaufdatum des Stempels.
- onsiteYn string
-
Enum:
YN
-
Gibt an, ob die Vor-Ort-Sammelfunktion aktiviert ist.
Wenn der WertYist, kann das Personal Stempel direkt im Geschäft hinzufügen. - onsiteToken string
-
Kurzlebiges Austausch-Token für die Verarbeitung vor Ort.
Es ersetzt den KlartextonsitePwd, den v1 zurückgab. Es fügt keinen Authentifizierungsfaktor hinzu, sondern hält das langlebige Passwort aus Antworten und Integrationsprotokollen heraus.
Es verfällt nach 180 Sekunden, ist einmal verwendbar und lässt sich nicht für eine andere Organisation, Ressource, Aktion oder ein anderes verarbeitendes Geschäft wiederverwenden. Wird nicht ausgestellt, wenn die Ressource keine Vor-Ort-Authentifizierung nutzt (onsiteYn = N). - onsiteTokenExpiresIn integer
- Gültigkeitsdauer des Tokens in Sekunden. Fehlt, wenn kein Token ausgestellt wird.
- memo string
- Interne Notiz zu Referenzzwecken.
- activeYn string
-
Enum:
YN
-
Gibt an, ob der Stempel aktiv ist.
Wenn er deaktiviert ist, kann der Kunde den Stempel nicht verwenden. - userId string
-
Benutzer-ID. Wird verwendet, um den Empfänger des Stempels zu verwalten.
Normalerweise entspricht dies der Anmelde-ID des Website-Mitglieds.
Wenn kein Wert gesetzt ist, wird die Benutzer-ID automatisch vom System generiert. - userNm string
- Benutzername. Nur für die interne Verwaltung.
- userPhnno string
- Telefonnummer des Benutzers. Nur für die interne Verwaltung.
- userEml string
- E-Mail-Adresse des Benutzers. Nur für die interne Verwaltung.
- userEtc1 string
- Zusätzliches internes Verwaltungsfeld.
- userEtc2 string
- Zusätzliches internes Verwaltungsfeld.
- stampImgUrl string
- Bild-URL des Stempels.
- regYmdt datetime
- Erstellungsdatum des Stempels. Beispiel: 2025-07-21 11:50:20
- branchIdx integer
-
IDX der ausgebenden Filiale.
nullbei Ausgabe durch die Zentrale. Dies ist der Ausgabeort, nicht die Filiale, in der diese Anfrage verarbeitet wurde. - branchNm string
-
Name der ausgebenden Filiale.
nullbei Ausgabe durch die Zentrale. Der Name wird auch für deaktivierte Filialen zurückgegeben. - storeIdx integer
-
IDX des ausgebenden Geschäfts.
null, wenn nicht angegeben. Unterscheidet sich vom verarbeitenden Geschäft. - storeNm string
-
Name des ausgebenden Geschäfts.
null, wenn kein ausgebendes Geschäft angegeben ist. Der Name wird auch für deaktivierte Geschäfte zurückgegeben. - issueScope string
-
Ausgabeart.
HEAD_OFFICE(Ausgabe durch die Zentrale) oderBRANCH(Ausgabe durch eine Filiale).HEAD_OFFICE, wennbranchIdxnullist. - useScope string
-
Nutzungsbereich.
ALL(alle Geschäfte) oderBRANCH(bestimmte Filiale). - useBranchIdx integer
-
IDX der Nutzungsfiliale. Nur bei
useScope = BRANCHgefüllt; beiALLnull. - useBranchNm string
-
Name der Nutzungsfiliale. Nur bei
useScope = BRANCHgefüllt; beiALLnull. Der Name wird auch für deaktivierte Filialen zurückgegeben.
Token für die Vor-Ort-Verifizierung (onsiteToken)
Die Antwort der v2-Validate-API enthält das Vor-Ort-Passwort (onsitePwd)
nicht im Klartext. Stattdessen wird ein onsiteToken zurückgegeben, das 180 Sekunden gültig ist.
Ziel ist es, die Offenlegung des Klartextpassworts zu minimieren, nicht die Authentifizierung zu verstärken. Die Validate-API prüft das Passwort selbst nicht, daher stellt das Token keinen zusätzlichen Authentifizierungsfaktor dar. Stattdessen begrenzen kurze Gültigkeit, einmalige Verwendung und Kontextbindung die Wiederverwendung des Tokens.
| Element | Wert |
|---|---|
| Gültigkeit | 180 Sekunden. Die Gültigkeitsdauer wird zusätzlich in onsiteTokenExpiresIn zurückgegeben. |
| Verwendungen | Einmal. Nach der Verwendung geben nur Wiederholungen mit demselben Idempotency-Key das ursprüngliche Ergebnis zurück. |
| Bindung | Organisation, Konto des API-Schlüssels, Ressource, Aktion und das bei der Validierung bestätigte verarbeitende Geschäft |
| Anwendungsfälle | Coupon-Einlösung, Einlösung einer Stempelprämie und Stempelaktualisierung mit useYn = Y |
Für Ressourcen ohne Vor-Ort-Verifizierung (onsiteYn = N) wird kein Token ausgegeben.
Die v1-Validate-API gibt onsitePwd weiterhin im Klartext zurück.
Prüfung numerischer Parameter
Erhält ein numerischer Parameter einen nicht numerischen Wert oder eine Zahl außerhalb des vom Server verarbeitbaren Bereichs, wird die Anfrage sofort mit 400 (Fehlercode 653) abgelehnt.
In diesem Fall ändern sich Stempeldaten und Sammelhistorie überhaupt nicht, und es entsteht weder ein Ereigniseintrag noch eine Webhook-Zustellung. Eine Fehlerantwort bedeutet, dass nichts gespeichert wurde.
Verarbeitendes Geschäft angeben
| Parameter | Bedeutung | Beschreibung |
|---|---|---|
processStoreIdx |
Verarbeitendes Geschäft | Das Geschäft, in dem diese Anfrage tatsächlich verarbeitet wird. Optional. Bei Angabe prüft der Server Organisationszugehörigkeit, Aktivstatus und Berechtigungen, bevor der Wert im Verarbeitungsverlauf gespeichert wird. |
Die verarbeitende Filiale wird nicht aus der Anfrage übernommen. Der Server leitet sie aus dem angegebenen Geschäft ab und speichert sie.
Bei Nutzungsbereich BRANCH wird nur verarbeitet, wenn die Filiale des geprüften Geschäfts der Nutzungsfiliale entspricht
oder Sie sich mit dem Vor-Ort-Passwort dieser Filiale authentifizieren. Ohne beides wird abgelehnt.
Nicht verwendbare Parameter — branchIdx (ausgebende Filiale),
storeIdx (ausgebendes Geschäft), useScope (Nutzungsbereich) und
useBranchIdx (Nutzungsfiliale) sind bereits gespeicherte Ausgaberichtlinien und können über diese API nicht geändert werden.
Bei Angabe wird mit 400 (Fehlercode 1227) abgelehnt.
Welche Rolle hat die Stempelvalidierung?
Die Stempel-Validierungs-API geht über eine einfache Prüfung hinaus.
Sie dient dazu, auf Basis des aktuellen Status die nächste Aktion zu bestimmen.
- Prüfen, ob weitere Stempel vergeben werden können
- Überprüfen, ob Belohnungsbedingungen erfüllt sind
- Status der Kampagnenteilnahme feststellen
- Fortschritt pro Nutzer abrufen
Kurz gesagt: die zentrale API zur Auswertung des Kampagnenfortschritts.
Was sich aus dem Ergebnis ableiten lässt
Die Antwort (result) enthält alle erforderlichen Daten zur Bewertung des Fortschritts.
Damit können Sie:
stampsmitmaxStampsvergleichen- Ermitteln, ob weitere Vergaben möglich sind
- Prüfen, ob Belohnungsbedingungen erfüllt sind
- Status (
activeYn) überprüfen - Nutzungskontext (
onsiteYn) bewerten - Personalisierung auf Basis von Nutzerdaten umsetzen
Kern: „Validierungs-API = Status + Input für Entscheidungslogik“
Verwendung der Antwortdaten
Die Antwort der Validierungs-API wird direkt in der Anwendungslogik verwendet.
Beispiele:
- Fortschritt anzeigen: Anzeige des aktuellen Status in der UI
- Aktionen steuern: Aktivieren oder Deaktivieren von Funktionen
- Belohnungen anzeigen: Anzeige bei Zielerreichung
- Nutzerstatus verarbeiten: Logik basierend auf Fortschritt anwenden
Kurz gesagt: Diese API ist die zentrale Datenquelle zwischen UI und Geschäftslogik.
Unterschied zur Coupon-Validierungs-API
Beide APIs liefern Validierungsdaten, jedoch mit unterschiedlichem Fokus.
Die Coupon-Validierung liefert transaktionsbezogene Daten wie Rabattart, Wert und Nutzung.
Die Stempel-Validierung liefert Fortschrittsdaten wie stamps, maxStamps, Kartenname, Titel und Bild-URL.
Die Coupon-Validierung berechnet „wie viel Rabatt aktuell gilt“,
während die Stempel-Validierung zeigt „wie viel gesammelt wurde und was noch fehlt“.
Operative Bedeutung
Die Stempel-Validierungs-API bildet das Zentrum des Eventflusses.
- Verhindert fehlerhafte Stempelvergaben
- Blockiert Aktionen bei nicht erfüllten Bedingungen
- Verbessert die Nutzererfahrung
- Sichert die Stabilität der Eventlogik
Ohne Validierung können Dateninkonsistenzen und Fehler im Ablauf entstehen.
Wichtige Hinweise
- Der Status kann sich zwischen Validierung und tatsächlicher Ausführung ändern
- Die Ausführungs-API sollte direkt nach der Validierung aufgerufen werden
- Eine reine clientseitige Validierung ist nicht ausreichend
- Bei hoher Last sollten Aufrufe optimiert und Retry-Mechanismen implementiert werden