GET tokens/info/{tokenId} · Web API · Addendum
GET tokens/info/{tokenId}
Geltungsbereich und Versionszuordnung laut Confluence unklar.
GET
/tokens/info/{tokenId}Hiermit können verschiedene Informationen zu einem Token abgefragt werden.
Bitte bilden Sie zur {tokenId} eine Checksumme (siehe Security-Token aus dem Original Dokument) und geben Sie diese im SecurityToken-Header an.
| Feld | Beschreibung |
|---|---|
IdentString |
string - Dieser String enthält einen eindeutigen Bezeichner für den Token und kann in einer verkürzten Form auf der Kasse angezeigt werden. (Verkürzt bedeutet hier, dass nur die letzten 3 oder 4 Zeichen erkennbar sind: 1234567890 wird zu ******7890) |
TokenType |
string - Entweder consumerIdentifier oder giftCard Zu einem basket kann nur einziger consumerIdentifier eingereicht werden. Der Parameter giftCard entfällt. Zusätzliche GiftCards des Kunden können über balanceWithdraw als Zahlungsmittel genutzt werden. |
Balance |
decimal - Das momentan auf diesem Token hinterlegte Guthaben |
MaxBalance |
decimal - Der Maximalbetrag an Guthaben, den dieser Token tragen darf |
RemainingBalanceToAdd |
decimal - Der Maximalbetrag an Guthaben, der im aktuellen Kalendermonat noch auf diesem Token hinterlegt werden kann. |
IsWithdrawBalanceAllowed |
boolean - Gibt an, ob Bezahlungen aus dem Guthaben heraus für diesen Token erlaubt ist |
IsAddBalanceAllowed |
boolean - Gibt an, ob Guthaben-Aufladungen für diesen Token erlaubt ist |
RelatedGiftCards |
Array von verknüpften Geschenkkarten - Nur bei consumerIdentifier möglich. Jedes Element aus dem Array enthält eine GiftCardId und die aktuelle Balance |
RequiresPin |
boolean - Für die nächste Nutzung der Guthabenkarte ist eine PIN-Erfassung erforderlich. Dieser Wert kann sich nach jeder Nutzung abändern, weswegen dieser Wert nicht gecached werden sollte. |
InfoUrl |
string, optional - Eine URL, die die Kasse aufruft, um auf dem Kassendisplay weitere Infos anzuzeigen |
ConsumerIdentityInfo |
Objekt wie weiter unten spezifiziert - Handelt es sich bei dem Token um einen Token mit TokenType = consumerIdentifier, so wird hier ein Objekt mit weiteren Informationen, wie Tags oder Infos zu seinen Treuepunkteständen ausgegeben. |
ConsumerIdentityInfo-Objekt
| Feld | Beschreibung |
|---|---|
Tags |
Array von zuordneten Tags - Dieses System kann zum Beispiel für Preisebenen, Status, etc. verwendet werden. Jedes Element aus dem Array enthält Name und eine Liste von Groups, in denen der jeweilige Tag enthalten ist. |
LoyaltySchemeProgressInfos |
Array von LoyaltySchemeProgressInfo-Objekten - Info über eventuell berets gesammelte Treuepunkte des Konsumenten. |
LoyaltySchemeProgressInfo-Objekt
| Feld | Beschreibung |
|---|---|
LoyaltySchemeId |
integer - Dies ist die menio-interne ID des Treuepunte-Programms. |
LoyaltySchemeName |
string - Dies ist der Name des Treuepunte-Programms, wie er auch in den Apps gezeigt wird. |
MaxPoints |
integer - Gibt an, wieviele Punkte in diesem Programm gesammelt werden müssen, damit ein Rabatt ausgegeben wird. |
CurrentPoints |
integer - Gibt an, wieviele Punkte der Konsument in diesem Treuepunkte-Programm bereits gesammelt hat. |
Parameter
tokenIdstringErforderlichGeben Sie hier den von einem Trägermedium ausgelesenen Token an. Als Alternative kann der ausgelesene Token als HTTP Header Token übertragen werden.
cardId123Request-Header
DevKey{Ihr Key}TrackingUnitId{trackingUnitId}Token{tokenId}SecurityToken{Checksumme über {tokenId}}Originaler Blueprint-Ausschnitt
API Blueprint
### GET tokens/info/{tokenId} [GET]
Hiermit können verschiedene Informationen zu einem Token abgefragt werden.
*Bitte bilden Sie zur* **{tokenId}** *eine Checksumme (siehe Security-Token aus dem Original Dokument) und geben Sie diese im `SecurityToken`-Header an.*
| Feld | Beschreibung |
| --- | --- |
| `IdentString` | **string** - Dieser String enthält einen eindeutigen Bezeichner für den Token und kann in einer verkürzten Form auf der Kasse angezeigt werden. (Verkürzt bedeutet hier, dass nur die letzten 3 oder 4 Zeichen erkennbar sind: `1234567890` wird zu `******7890`)
| `TokenType` | **string** - Entweder **consumerIdentifier** oder **giftCard** Zu einem basket kann nur einziger consumerIdentifier eingereicht werden. Der Parameter giftCard entfällt. Zusätzliche GiftCards des Kunden können über balanceWithdraw als Zahlungsmittel genutzt werden.|
| `Balance` | **decimal** - Das momentan auf diesem Token hinterlegte Guthaben |
| `MaxBalance` | **decimal** - Der Maximalbetrag an Guthaben, den dieser Token tragen darf |
| `RemainingBalanceToAdd` | **decimal** - Der Maximalbetrag an Guthaben, der im aktuellen Kalendermonat noch auf diesem Token hinterlegt werden kann. |
| `IsWithdrawBalanceAllowed` | **boolean** - Gibt an, ob Bezahlungen aus dem Guthaben heraus für diesen Token erlaubt ist |
| `IsAddBalanceAllowed` | **boolean** - Gibt an, ob Guthaben-Aufladungen für diesen Token erlaubt ist |
| `RelatedGiftCards` | **Array von verknüpften Geschenkkarten** - Nur bei **consumerIdentifier** möglich. Jedes Element aus dem Array enthält eine **GiftCardId** und die aktuelle **Balance** |
| `RequiresPin` | **boolean** - Für die nächste Nutzung der Guthabenkarte ist eine PIN-Erfassung erforderlich. Dieser Wert kann sich nach jeder Nutzung abändern, weswegen dieser Wert nicht gecached werden sollte. |
| `InfoUrl` | **string, optional** - Eine URL, die die Kasse aufruft, um auf dem Kassendisplay weitere Infos anzuzeigen |
| `ConsumerIdentityInfo` | **Objekt wie weiter unten spezifiziert** - Handelt es sich bei dem Token um einen Token mit `TokenType` = **consumerIdentifier**, so wird hier ein Objekt mit weiteren Informationen, wie Tags oder Infos zu seinen Treuepunkteständen ausgegeben. |
### ConsumerIdentityInfo-Objekt
| Feld | Beschreibung |
| --- | --- |
| `Tags` | **Array von zuordneten Tags** - Dieses System kann zum Beispiel für Preisebenen, Status, etc. verwendet werden. Jedes Element aus dem Array enthält **Name** und eine Liste von **Groups**, in denen der jeweilige Tag enthalten ist. |
| `LoyaltySchemeProgressInfos` | **Array von LoyaltySchemeProgressInfo-Objekten** - Info über eventuell berets gesammelte Treuepunkte des Konsumenten. |
### LoyaltySchemeProgressInfo-Objekt
| Feld | Beschreibung |
| --- | --- |
| `LoyaltySchemeId` | **integer** - Dies ist die Qnips-interne ID des Treuepunte-Programms. |
| `LoyaltySchemeName` | **string** - Dies ist der Name des Treuepunte-Programms, wie er auch in den Apps gezeigt wird. |
| `MaxPoints` | **integer** - Gibt an, wieviele Punkte in diesem Programm gesammelt werden müssen, damit ein Rabatt ausgegeben wird. |
| `CurrentPoints` | **integer** - Gibt an, wieviele Punkte der Konsument in diesem Treuepunkte-Programm bereits gesammelt hat. |
+ Parameters
+ tokenId (string, `cardId123`) ... Geben Sie hier den von einem Trägermedium ausgelesenen Token an. Als Alternative kann der ausgelesene Token als HTTP Header *Token* übertragen werden.
+ Request
+ Header
DevKey: {Ihr Key}
TrackingUnitId: {trackingUnitId}
Token: {tokenId}
SecurityToken: {Checksumme über {tokenId}}
+ Response 200 (application/json)
+ Body
{
"IdentString": "1234567890",
"TokenType": "consumerIdentifier", // oder "giftCard"
"Balance": 10.58,
"MaxBalance": 100.00,
"RemainingBalanceToAdd": 5.08,
"IsWithdrawBalanceAllowed": true,
"IsAddBalanceAllowed":true,
"RelatedGiftCards": [
{
"GiftCardId": "giftCard123",
"Balance": 20.04
}
],
"RequiresPin": true,
"InfoUrl": "http://...",
"ConsumerIdentityInfo":{
"Tags": [
{
"Name": "Mitarbeiter",
"Groups": [
"priceLevel"
]
}
],
"LoyaltySchemeProgressInfos": [
{
"LoyaltySchemeId": 123,
"LoyaltySchemeName": "Jedes 10. Heißgetränk umsonst",
"MaxPoints": 10,
"CurrentPoints": 3
}
]
}
}
+ Response 500
// HTTP-InternalServerError: Ein unbekannten Problem bei der Verarbeitung aufgetreten
{
"ErrorMessage": "some explanation"
"StackTrace": "text"
}
+ Response 403
// HTTP-Forbidden: trackingUnitId ist noch nicht vom Merchant aktiviert
+ Response 401
// HTTP-Unauthorized: DevKey, trackingUnitId oder SecurityToken nicht angegeben/falsch
+ Response 400
{
"ErrorId": 123,
"ErrorText": "Details zum Fehler"
}