SAP Customer Checkout Manager API Guide
SAP Customer Checkout Manager API Guide
PUBLIC
Warning
This document has been generated from the SAP Help Portal and is an incomplete version of the official SAP product
documentation. The information included in custom documentation may not re ect the arrangement of topics in the SAP Help
Portal, and may be missing important aspects and/or correlations to other topics. For this reason, it is not for productive use.
This is custom documentation. For more information, please visit the SAP Help Portal 1
1/27/2022
How to access the API documentation webpage in SAP Customer Checkout manager:
While SAP Customer Checkout manager is running, the webpage can be accessed using a Web browser.
In a Web browser, enter the following URL: <server name>:<port>/ccos/api-documentation (if you used ccos as the
.war le name).
This web page provides documentation for each available REST service, about the allowed request methods, payloads and
expected responses. Service calls can be tested using the respective user interface elements. Below the service
documentation, you can nd the models section, which provides detailed information about the data structures used in these
services.
Hinweis
All SAP Customer Checkout manager services work only if the caller has a valid session in the SAP Customer Checkout
manager. To aquire a session, call one of the available authorization services with the respective credentials.
User Authorization
All SAP Customer Checkout manager API services work only if the caller has a valid session in the SAP Customer Checkout
manager.
URL
POST/auth/admin
{
"userName":"Username",
"secret":"password"
}
Response
Example
{
"session": {
"sessionId": "99987769-ff55-4ee4-809c-8ff9c50dc019",
"createdAt": 1482136003987,
"expiresAt": 1482137803987,
"csrfToken": "aa4eedd6-579e-47a7-a07e-a4c930e409dc"
},
This is custom documentation. For more information, please visit the SAP Help Portal 2
1/27/2022
"user": {
"name": "Admin",
"locale": "de",
"logonLanguageCode": "EN",
"userName": "Admin",
"uuid": "8da32604-6abe-4861-bee7-204fa548a943"
}
}
User Authorization
Session
User
http://someserver:8080/api/auth/ticketing
BASE_URL: http://someserver:8080/api
This is custom documentation. For more information, please visit the SAP Help Portal 3
1/27/2022
In the API calls that are described in this document, only API path is stated in all API descriptions. When it is used, the
BASE_URL must be placed rst.
2. All REST API calls use the JSON format. This means all requests must include the relevant content type in the header:
This applies to all API calls and is a precondition in the API descriptions below.
3. CSRF-Token
During the login call to /auth/admin you will receive a csrfToken in the response json. This token has to be sent in all
subsequent API calls (POST,PUT,DELETE) in the header “X-Csrf-Token”. The token will change each time a login call is
performed.
Return codes
If the service executes successfully, the HTTP return code is always in the range of 2xx.
Example:
Example
GET /somePath/service?top=10&skip=0&order=name&order=-title
Returns a list of 10 entries starting with the rst row of the result set. Is sorted rst by name in ascending order, then by title in
descending order.
Error handling
This is custom documentation. For more information, please visit the SAP Help Portal 4
1/27/2022
If an error occurs during execution, the service returns an HTTP error status code (4xx or 5xx). The response body may include
additional information about the error. This additional information is assigned a numerical errorCode and an errorMessage in
JSON form. The errorMessage is a technical message (for example, for logging purposes) and is not intended to be shown to
the reader.
Additionally, the body of the response can contain extended error information:
Sample Code
{
"errorCode": 12345,
"errorMessage": "Some text which will describe the error"
}
Error Handling
URL
This service supports pagination.
GET /internal/vouchers
Response
Sample Code
{
"offset": 0,
"limit": 0,
"overAllCount": 2,
"resultList": [
{
"uuid":"a30fd140-83c7-4218-8889-c455b6f8f59c",
"createdAt": 1447142999438,
"modifiedAt": 1447145030292,
"id": "TEST",
"originTypeCode": "Monitor",
This is custom documentation. For more information, please visit the SAP Help Portal 5
1/27/2022
"typeCode": "VOUCHER",
"voucherMaterialID": "",
"issueDateTime": 1447142989771,
"validToDate": 4102441199000,
"usabilityNumber": -1,
"discountPercentage": null,
"discountAmount": null,
"currencyCode": "EUR",
"externalSystemID": "",
"campaignID": "",
"description": "",
"externalTransactionID": "",
"customerID": "",
"salesPersonID": null,
"cashierID": "",
"entityStatus": "ACTIVE",
"status": "PARTIALLY_CASHED",
"voucherLoyaltyItems": [
{
"uuid":"c8afe6a0-d158-43ff-9907-389f6f124a5a",
"createdAt": 1447142999446,
"modifiedAt": 1447144662083,
"externalItemID": "TEST",
"amountLoyaltyValue": 50,
"currencyCode": "EUR",
"originTypeCode": "Monitor",
"externalTransactionID": "",
"erpTransactionID": null,
"externalSystemID": "",
"customerID": "",
"salesPersonID": null,
"cashierID": "",
"postDateTime": 1447142989771,
"itemState": "CONFIRMED",
"originalAmountItem": true
},
{
"uuid":"0b205231-358f-4c58-826a-2d9598ae9212",
"createdAt": 1447143244826,
"modifiedAt": 1447144662059,
"externalItemID": "egal",
"amountLoyaltyValue": 15,
"currencyCode": "EUR",
"originTypeCode": "Monitor",
"externalTransactionID": "",
"erpTransactionID": "",
"externalSystemID": null,
"customerID": "",
"salesPersonID": "",
"cashierID": "",
"postDateTime": 1447143230868,
"itemState": "CONFIRMED",
"originalAmountItem": false
}
], + more vouchers
}
This is custom documentation. For more information, please visit the SAP Help Portal 6
1/27/2022
voucherLoyaltyItems
This is custom documentation. For more information, please visit the SAP Help Portal 7
1/27/2022
URL
POST /internal/vouchers/selectionsearch
voucherLoyaltyItems
Example
Sample Payload
This is custom documentation. For more information, please visit the SAP Help Portal 8
1/27/2022
{
"typeCode": "Voucher",
"top": 10,
"skip": 0,
"orderBy": "issueDateTime",
"order": "Descending",
"voucherLoyaltyID": [
{
"mode": "include",
"operator": "equalTo",
"value": "TEST",
"valueTo": ""
}
],
"originTypeCode": [],
"issueDateTime": [],
"validToDate": [
{
"mode": "include",
"operator": "greaterThanOrEqual",
"value": "1448578800",
"valueTo": ""
}
],
"status": [
{
"mode": "include",
"operator": "equalTo",
"value": "NOT_CASHED",
"valueTo": ""
}
],
"externalTransactionID": [],
"customerID": [],
"cashierID": [],
"creationIdentity": [],
"entityStatus": [],
"voucherLoyaltyItems": {
"externalItemID": [],
"amountLoyaltyValue": [],
"originTypeCode": [],
"erpTransactionID": [],
"externalSystemID": [
{
"mode":"include",
"operator": "equalTo",
"value": "MH*",
"valueTo": ""
}
],
"customerID": [],
"postDateTime": []
}
}
Output
Sample Response
{
"offset": 0,
"limit": -1,
"overAllCount": 3,
"resultList": [
{
"uuid":"7c86065b-1357-4a72-86f2-5c5d671bc8ef",
"createdAt": 1447144220288,
"modifiedAt": 1447144220288,
"voucherLoyaltyID": "EGAAL",
"originTypeCode": "Monitor",
"typeCode": "VOUCHER",
This is custom documentation. For more information, please visit the SAP Help Portal 9
1/27/2022
"voucherMaterialID": "",
"issueDateTime": 1447144211535,
"validToDate": 4102441199000,
"usabilityNumber": -1,
"discountPercentage": null,
"discountAmount": null,
"currencyCode": "EUR",
"externalSystemID": "",
"campaignID": "",
"description": "",
"externalTransactionID": "",
"customerID": "",
"salesPersonID": null,
"cashierID": "",
"entityStatus": "ACTIVE",
"status": "NOT_CASHED",
"voucherLoyaltyItems": [
{ "uuid": "72dae446-f84e-4295-b63c-b02f1fa53bc1",
"createdAt": 1447144220289,
"modifiedAt": 1447144220289,
"externalItemID": "EGAAL",
"amountLoyaltyValue": 100,
"currencyCode": "EUR",
"originTypeCode": "Monitor",
"externalTransactionID": "",
"erpTransactionID": null,
"externalSystemID": "",
"customerID": "",
"salesPersonID": null,
"cashierID": "",
"postDateTime": 1447144211535,
"itemState": "CONFIRMED",
"originalAmountItem": true,
"modifiedBy": "Admin",
"createdBy": "Admin"
}
],
"loyaltyUserAccount": null,
"meta": null,
"currentValue": 100,
"originalValue": 100,
"blocked": false,
"modifiedBy": "Admin",
"createdBy": "Admin"
}
]
}
POST /internal/vouchers/adminCreate
Sample Code
{
"id": "TEST1337",
"originTypeCode": "Monitor",
"typeCode": "VOUCHER",
"status": "NOT_CASHED",
"entityStatus": "ACTIVE",
"issueDateTime": 1448292658303,
"validToDate": 4102441199000,
"usabilityNumber": "-1",
"discountPercentage": "",
"discountAmount": "",
"currencyCode": "EUR",
"currentValue": "500",
"externalSystemID": "",
This is custom documentation. For more information, please visit the SAP Help Portal 10
1/27/2022
"campaignID": "",
"description": "",
"externalTransactionID": "",
"customerID": "",
"cashierID": "",
"blocked": false,
"voucherMaterialID": "",
"voucherLoyaltyItems": [
{
"amountLoyaltyValue": 500,
"uuid": null,
"cashierID": "",
"creationDateTime": "",
"creationIdentity": "",
"currencyCode": "",
"customerID": "",
"erpTransactionID": "",
"externalItemID": "InitialEntry",
"externalTransactionID": "",
"isOriginalAmountItem": "true",
"lastChangeDateTime": "",
"lastChangeIdentity": "",
"originTypeCode": "Monitor",
"postDateTime": 1448292674537,
"salesPersonID": "",
"voucherLoyaltyAccountKey": "",
"isNew": false
}
],
"originalAmount": 500
}
Response
Sample Code
{
"uuid": "b21c43eb-738c-44b1-9129-6f200d19127d",
"createdAt": 1448292674677,
"modifiedAt": 1448292674755,
"voucherLoyaltyID": "TEST1337",
"originTypeCode": "Monitor",
"typeCode": "VOUCHER",
"voucherMaterialID": "",
"issueDateTime": 1448292658303,
"validToDate": 4102441199000,
"usabilityNumber": -1,
"discountPercentage": null,
"discountAmount": null,
"currencyCode": "EUR",
"externalSystemID": "",
"campaignID": "",
"description": "",
"externalTransactionID": "",
"customerID": "",
"salesPersonID": null,
"cashierID": "",
"entityStatus": "ACTIVE",
"status": "NOT_CASHED",
"voucherLoyaltyItems": [
{
"uuid": "1b0e9437-ae68-43fd-ba16-c26309dff850",
"createdAt": 1448292674677,
"modifiedAt": 1448292674677,
"externalItemID": "TEST1337",
"amountLoyaltyValue": 500,
"currencyCode": "EUR",
"originTypeCode": "Monitor",
"externalTransactionID": "",
"erpTransactionID": null,
"externalSystemID": "",
This is custom documentation. For more information, please visit the SAP Help Portal 11
1/27/2022
"customerID": "",
"salesPersonID": null,
"cashierID": "",
"postDateTime": 1448292658303,
"itemState": "CONFIRMED",
"originalAmountItem": true,
"createdBy": "Admin",
"modifiedBy": "Admin"
}
],
"loyaltyUserAccount": null,
"meta": null,
"currentValue": 500,
"originalValue": 500,
"blocked": false,
"createdBy": "Admin",
"modifiedBy": "Admin"
}
GET /internal/vouchers/{UuID}
The response is the same as described in Create New Voucher as Admin (Deprecated) .
GET /internal/vouchers/{UuID}/items.
The response is the same as described in Create New Voucher as Admin (Deprecated) , but only for redeemed items for the
speci c voucher.
POST /internal/vouchers/{UuID}/block.
The response is the same as described in Create New Voucher as Admin (Deprecated).
Note
The entityStatus should be BLOCKED.
DELETE /internal/vouchers/{UuID}/block
The response is the same as described in Create New Voucher as Admin (Deprecated).
This is custom documentation. For more information, please visit the SAP Help Portal 12
1/27/2022
Note
The entityStatus should be ACTIVE.
PUT /internal/vouchers/{UuID}
The response and payload are the same as described in Create New Voucher as Admin (Deprecated), with current content.
POST /internal/vouchers
The Post Date is the same as described in Create New Voucher as Admin (Deprecated).
The response is the same as described in Create New Voucher as Admin (Deprecated).
GET /internal/vouchers/byLoyaltyId/{LoyaltyID}
The response is the same as described in Create New Voucher as Admin (Deprecated).
PUT /internal/vouchers/byLoyaltyId/{LoyaltyID}
The response and payload are the same as described in Create New Voucher as Admin (Deprecated).
GET /internal/vouchers/byLoyaltyId/{LoyaltyID}/items
The response is the same as described in Create New Voucher as Admin (Deprecated).
POST /internal/vouchers/byLoyaltyId/{LoyaltyID}/block
The response is the same as described in Create New Voucher as Admin (Deprecated).
This is custom documentation. For more information, please visit the SAP Help Portal 13
1/27/2022
Note
The entityStatus should be BLOCKED.
DELETE /internal/vouchers/byLoyaltyId/{LoyaltyID}/block
The response is the same as described in Create New Voucher as Admin (Deprecated).
Note
The entityStatus should be ACTIVE.
Parameters
POST /internal/vouchers/byLoyaltyId/{LoyaltyID}/items
Sample Payload
{
"amountLoyaltyValue": -25,
"uuid": null,
"cashierID": "",
"creationDateTime": "",
"creationIdentity": "",
"currencyCode": "EUR",
"customerID": "",
"erpTransactionID": "",
"externalItemID": "{Your ID}",
"externalTransactionID": "",
"isOriginalAmountItem": "",
"lastChangeDateTime": "",
"lastChangeIdentity": "",
"originTypeCode": "Monitor",
"postDateTime": 1447143230868,
"salesPersonID": "",
"voucherLoyaltyAccountKey": "",
This is custom documentation. For more information, please visit the SAP Help Portal 14
1/27/2022
"isNew": true
}
The response is the added redeemed item with a new itemState CONFIRMED.
GET /internal/vouchers/count?typeCode=VOUCHER
The response is the number of voucher entries as integer. This call does not return a JSON-formatted response.
GET /internal/vouchers/byLoyaltyId/{loylatyID}/return
The response is the same as described in Create New Voucher as Admin (Deprecated).
URL
POST /loyalty/account
Response
Sample Code
{
"accountUuid": "45873eea-f878-4812-a211-b18bf298c2e3"
}
URL
PUT /internal/users/{userUUID}/correctpoints
Input
Sample Code
{
"operation": <ADD or SUBTRACT: string>,
"value": <POINTS: number>,
"reason": <REASON: string>
}
SUBTRACT: For
removing loyalty points
Response
Sample Code
{
"session": {
"sessionId": "6C434E2B5220FA6EC14766F71FF9EAC9",
"createdAt": 1423568133500,
"expiresAt": 1423570052879
},
"user": {
"uuid": "f03d1803-4992-4c8b-a2c2-2caf32f63712",
"createdAt": 1423568133456,
"modifiedAt": 1423568133456,
"publicId": "10",
"appToken": "b9212893-409a-407e-9522-c8602bf0cb2a",
"ticketingLeading": true,
"userName": "[email protected]",
"state": "ACTIVE",
"identities": [
{
"value": "t12345abc67de8f",
"identityProviderId": "057b304e-a85b-4033-b755-48ef5c3164ac"
}
],
"account": {
"uuid": "a13ecb97-c6ab-4e0e-82a2-0bf3e224024e",
"createdAt": 1431081658820,
"modifiedAt": 1431081658820,
"internalVersion": 1,
"firstName": null,
This is custom documentation. For more information, please visit the SAP Help Portal 16
1/27/2022
"lastName": null,
"birthday": null,
"gender": null,
"addressData": [ ],
"createdBy": null,
"modifiedBy": null
}
}
URL
GET /loyalty/points
Response
Sample Code
{
"points": 12345
}
URL
GET /loyalty/scan/(barcode)?ext=[codeExtension]
Format: [BlockNr],[RowNr],
[SeatNr]
Example:
This is custom documentation. For more information, please visit the SAP Help Portal 17
1/27/2022
Response
Sample Code
{
"type": "ticket",
"code": "0123456789",
"pointValue": 12345,
"description": "VIP Ticket Team A vs. Team B"
}
URL
POST /loyalty/scan/(barcode)
Input
Sample Code
{
"ext": "[codeExtension]"
}
Example:
Response
Sample Code
This is custom documentation. For more information, please visit the SAP Help Portal 18
1/27/2022
{
"confirmationState": "CONFIRMED",
"pointValue": 1,
"accountScanItemUuid": "2442ec44-d3b5-46dc-b4f1-cb476d11169e"
}
Name Description
371 Maximum per user quantity reached for the item. User cannot scan
any more items of this type.
372 Maximum overall quantity reached for item. User cannot scan any
more items of this type.
373 Maximim item sum reached. User won't receive any more points
because the upper point boundary has been reached.
URL
GET /loyalty/coupons?status=(all/active/history)
This is custom documentation. For more information, please visit the SAP Help Portal 19
1/27/2022
Response
Sample Code
{
"overAllCount": 100,
"resultList": [
{
"uuid": "5f96d89b-f9ec-4917-a41e-362fc78b205e",
"code": "1337",
"validFrom": null,
"validTo": null,
"status": "VALID",
"shopItemUuid": "e1781460-8adc-4760-ad73-5553e412df4e"
},
{
"uuid": "1337",
...
}
]
}
resultList > uuid String ID of the coupon. This is the internal logical
unique ID for the coupon in the system.
resultList > status String VALID: Coupon is valid and can be used
resultList > shopItemUuid String Uuid of the item in the coupon shop from
which this coupon was created.
URL
GET /loyalty/coupons/{couponUuid}
Response
Sample Code
{
"uuid": "5f96d89b-f9ec-4917-a41e-362fc78b205e",
"code": "1337",
"validFrom": null,
"validTo": null,
"status": "VALID",
"shopItemUuid": "e1781460-8adc-4760-ad73-5553e412df4e"
}
URL
Response
POST /loyalty/coupons/{couponUuid}
This is custom documentation. For more information, please visit the SAP Help Portal 21
1/27/2022
URL
POST /loyalty/coupons/{couponUuid}/return
Response
Sample Code
{
"points": 12345
}
URL
GET /shop/items?filter=[bought|new]&newItemsSince=[ISO Date or timestamp]
This is custom documentation. For more information, please visit the SAP Help Portal 22
1/27/2022
Response
Sample Code
{
"offset": 0,
"limit": 0,
"overAllCount": 100,
"resultList": [
{
"uuid": "08b9cf01-711f-4c5f-9d81-13469422ca0f",
"title": "Test Coupon #0",
"publicId": "#0",
"description": "This is the description for Test Coupon #0",
"validFrom": 1424789917913,
"maxPerAccountQuantity": 2,
"maxForSaleQuantity": 1,
"leftPerAccountQuantity": 1,
"leftForSaleQuantity": 1,
"newItem": true,
"status": "ACTIVE",
"prices": [
{
"key": "b2f36edb-40fb-4b6b-9cbb-7d1d298f865e",
"value": 32,
"validFrom": null,
"validTo": null,
"shopItemUuid": "e1781460-8adc-4760-ad73-5553e412
}
],
"userCoupons": [
{
"uuid": "3b729e2f-ebe4-4813-be5a-cbc4d053
"code": "001::1337",
"validFrom": null,
"validTo": null,
"status": "VALID",
"shopItemUuid": "e1781460-8adc-4760-ad73
}
]
},
{…}
}
This is custom documentation. For more information, please visit the SAP Help Portal 23
1/27/2022
Prices > validFrom false Date String Price will be valid of this point
in time
Prices > validTo false Date String Price will be valid until this
point in time
URL
GET /shop/items/{itemUuid}
Response
The response is the same as described in Retrieve Item List (Supports Pagination) (Deprecated).
URL
GET /shop/items/{itemUuid}/image?width=[imageWidth]
Response
Raw image data (png)
URL
POST /shop/items/{itemUuid}/purchase?quantity=X
Response
Sample Code
{
"points": 12345
}
URL
GET /history?type=[type]&filter=[filter]
RECEIPT
COUPON
POINTS
LOYALTY_ITEM
VLA_ACCOUNT
Response
Sample Code
{
"offset": 0,
"limit": 0,
"overAllCount": 100,
"resultList": [
{
"uuid": "8bd58615-1c1e-4453-93ad-37042cc7a47e",
"createdAt": 1431513420385,
"modifiedAt": 1431513420385,
"type": "COUPON",
"value": "3f0dbbf3-f144-44b7-849d-7ce805b6a356",
"pointValue": -620,
This is custom documentation. For more information, please visit the SAP Help Portal 26
1/27/2022
"date": 1431513420343,
"title": "Purchased coupon",
"description": "Purchased coupon",
"id": "35aae032-7c61-4cca-8814-2ea360028a4c",
"action": "PURCHASE_COUPON",
"idRef": "0.049772307965868845::1337",
"createdBy": "U001090",
},
},
{
"uuid": "2d66418f-d404-488f-8be1-df2903458dd4",
"createdAt": 1431513420422,
"modifiedAt": 1431513420422,
"type": "POINTS",
"value": "-620.000000",
"pointValue": -620,
"date": 1431513420410,
"title": "Redeemed Points",
"description": "Redeemed Points",
"id": "35aae032-7c61-4cca-8814-2ea360028a4c",
"action": "REDEEM_POINTS",
"idRef": "8bd58615-1c1e-4453-93ad-37042cc7a47e",
"createdBy": "U001090",
"modifiedBy": "U001090"
},
{
"uuid": "872a65cb-66e3-4715-bbf8-01e72c52c5c1",
"createdAt": 1431513852759,
"modifiedAt": 1431513852759,
"type": "LOYALTY_ITEM",
"value": "5224989d-5c8b-458a-a8fa-11db93d1f76d",
"pointValue": 100,
"date": 1431513852743,
"title": "Added Loyalty item: CONFIRMED",
"description": "Added Loyalty item: CONFIRMED",
"id": "35aae032-7c61-4cca-8814-2ea360028a4c",
"action": "ADD_LOYALTY_ITEM",
"idRef": "LOYALTY_100",
"createdBy": "U001090",
"modifiedBy": "U001090"
},
{
"uuid": "6b0f54c6-8a02-4946-a5f6-718bfb817f70",
"createdAt": 1431513852791,
"modifiedAt": 1431513852791,
"type": "POINTS",
"value": "100",
"pointValue": 100,
"date": 1431513852779,
"title": "Added Points",
"description": "Added Points",
"id": "35aae032-7c61-4cca-8814-2ea360028a4c",
"action": "ADD_POINTS",
"idRef": "872a65cb-66e3-4715-bbf8-01e72c52c5c1",
"createdBy": "U001090",
"modifiedBy": "U001090"
}
]
}
This is custom documentation. For more information, please visit the SAP Help Portal 27
1/27/2022
id false String ID
RECEIPT:
User purchased a receipt at a point-of-sale station. The “value” eld contains the receipt currency and amount. “idRef”
contains the ID of the receipt. “id” contains the receipt document ID in the SAP ERP system.
LOYALTY_ITEM:
User added a loyalty item to his or her account (for example, scanned a barcode). “id” contains the uuid of the loyalty
account. “value” contains the uuid of the scanned item. “idRef” contains the code of the scanned item.
POINTS:
The total number of loyalty points has been increased or decreased. “value” contains the new point value that has been
added or subtracted. “id” contains the uuid of the loyalty account. “action” contains either “ADD_POINTS” or
“REDEEM_POINTS”. “idRef” references the history item uuid that was the reason for the change of the point value.
VLA_ACCOUNT:
Loyalty account has been created or updated. “value” contains the public ID of the account. “id” contains the uuid of the
account. “action” contains “CREATE_VLA” or “UPDATE_VLA”. “idRef” contains the uuid of the user account for which the
loyalty account was created.
COUPON:
User purchased a coupon from the shop or redeemed a coupon (for example, at a point-of-sale station). “value” contains
the uuid of the coupon. “idRef” contains the coupon ID (generated coupon code). “action” contains
“PURCHASE_COUPON” or “REDEEM_COUPON”.
Overview (Deprecated)
All data that is exchanged with the SAP back end takes place using HTTP(S) over a REST JSON interface. To use the advanced
back-end services (points, coupons, and so on), the app/client must be registered with a valid user. The rst authentication of a
user is veri ed using an external system:
The app sends any relevant access data to the back end (see Registration of Users (Deprecated)), and the back end veri es
the user’s identity in the relevant system. If this authentication is (??) successful, a user is created in the back-end system and
the user's data, including an app token, is returned to the client. At the same time, a session that uniquely identi es the user is
opened on the server side. After a long period of inactivity (30 minutes is the default), the session expires, meaning that a new
session must be opened. All further services (points, coupons, and so on), can be called only from within a valid session.
Therefore, if the current session has expired, the user must request a new session. The app token is used in this event, to save
performing a complete authentication using SAP Event Ticketing every time: The app sends the app token to the back end along
with the user ID. If the information is correct, a new session is opened.
3. After a session has expired, a new session can be requested with the app token.
Note
The app token must be handled securely and con dentially, which means the following:
The app token is not sent with every request, but only to get a new session. The session is then used for interaction
with the server.
The app saves the app token and, if required, uses it to open a new session. This process should run in the app
automatically in the background, that is, without any action on the part of the user or UI.
1. The user communicates his or her SAP Ticketing access data; that is, login and password.
3. The back end uses the data to verify the identity of the user with SAP Event Ticketing.
This is custom documentation. For more information, please visit the SAP Help Portal 29
1/27/2022
5. The back end responds to the app by providing the following data:
a. User object
c. Session data
You can also generate a new user for the SAP Event Ticketing system (see SAP Account Registration (Deprecated)).
“e97ac19b-fe71-477b-9dec-ccdf088c53e6”
For a REST call from the app to be assigned to the current session, the app must also send the following information in the
request header:
Cookie: JSESSIONID=e97ac19b-fe71-477b-9dec-ccdf088c53e6
If an attempt is made from the client side to access user-speci c apps without an active session, the server returns the HTTP
error 401 (unauthorized).
Instead, use the app token that was created and returned when the user rst registered. A session that is created using an app
token enables a user to access data and functions; the token should therefore be treated as con dential and used only for this
one API call.
1. If the SAP Event Ticketing account is not known in the back end, a new user is created and this is returned.
2. If the SAP Event Ticketing account is already known in the back end, the existing user is returned. This probably happens
if the user installs the app a second time (for example, reinstallation on the same device, or installation on another
This is custom documentation. For more information, please visit the SAP Help Portal 30
1/27/2022
device) and logs on again.
URL
POST /auth/ticketing
Input
Sample Code
{
"userName": "[email protected]",
"secret": "test"
Response
user JSON object The user data (either newly created or from
an existing user )
Sample Code
{
"session": {
"sessionId": "6C434E2B5220FA6EC14766F71FF9EAC9",
"createdAt": 1423568133500,
"expiresAt": 1423570052879
},
"user": {
"uuid": "f03d1803-4992-4c8b-a2c2-2caf32f63712",
"createdAt": 1423568133456,
"modifiedAt": 1423568133456,
"publicId": "10",
"appToken": "b9212893-409a-407e-9522-c8602bf0cb2a",
"ticketingLeading": true,
"userName": "[email protected]",
"state": "ACTIVE",
"identities": [
{
"value": "t12345abc67de8f",
"identityProviderId": "057b304e-a85b-4033-b755-48ef5c3164ac"
}
],
"account": {
"uuid": "a13ecb97-c6ab-4e0e-82a2-0bf3e224024e",
This is custom documentation. For more information, please visit the SAP Help Portal 31
1/27/2022
"createdAt": 1431081658820,
"modifiedAt": 1431081658820,
"internalVersion": 1,
"firstName": null,
"lastName": null,
"birthday": null,
"gender": null,
"addressData": [ ],
"createdBy": null,
"modifiedBy": null
}
}
Errors
400 Ticketing connect failed. 703 Veri cation using SAP Event
Ticketing failed. This message
probably indicates that an
invalid login or incorrect
password has been provided.
400 Logged in but uuid was not 606 The current user is already
given. logged on (valid session);
however, his or her uuid hasn't
been provided, and must be
sent explicitly.
URL
POST /auth/token
Input
Sample Code
{
"id": "158261cd-9698-42ce-b863-2c477778dae0",
"appToken": "78baab42-e3af-436b-8a4c-0e753a8a7ac5"
This is custom documentation. For more information, please visit the SAP Help Portal 32
1/27/2022
Response
Sample Code
{
"session": {
"sessionId": "6C434E2B5220FA6EC14766F71FF9EAC9",
"createdAt": 1423568133500,
"expiresAt": 1423570052879
},
"user": {
"uuid": "f03d1803-4992-4c8b-a2c2-2caf32f63712",
"createdAt": 1423568133456,
"modifiedAt": 1423568133456,
"publicId": "10",
"appToken": "b9212893-409a-407e-9522-c8602bf0cb2a",
"ticketingLeading": true,
"userName": "[email protected]",
"state": "ACTIVE",
"identities": [
{
"value": "t12345abc67de8f",
"identityProviderId": "057b304e-a85b-4033-b755-48ef5c3164ac"
}
],
"account": {
"uuid": "a13ecb97-c6ab-4e0e-82a2-0bf3e224024e",
"createdAt": 1431081658820,
"modifiedAt": 1431081658820,
"internalVersion": 1,
"firstName": null,
"lastName": null,
"birthday": null,
"gender": null,
"addressData": [ ],
"createdBy": null,
"modifiedBy": null
}
}
}
Errors
This is custom documentation. For more information, please visit the SAP Help Portal 33
1/27/2022
Logout (Deprecated)
This section ends or closes the current session.
URL
DELETE /auth/session
Input
None
Response
HTTP response: 200 OK
URL
GET /auth/session
Input
None, except the session ID, which must be sent for every call.
Response
Sample Code
{
"sessionId": "c5653dd2-6819-4239-a493-aa5e8fa5444f",
"createdAt": 1418732483103,
"expiresAt": 1418736188735
This is custom documentation. For more information, please visit the SAP Help Portal 34
1/27/2022
Errors
403 No active session found. 700 No valid session found for the
transmitted session ID
speci ed in the header
URL
DELETE /auth/me
Input
None
Response
HTTP response: 200 OK
Errors
400 User already deleted 604 The user that is connected with
the current session has been
deleted. (This can happen if the
app is installed on two devices
and an attempt is made to
delete the user on both devices
one after the other, when a valid
session is open on each
device.)
To get a new app token for the user, you must reregister the user. See Logon and Registration Using SAP Event Ticketing
(Deprecated) and Request Login and New Session with App Token (Deprecated).
URL
This is custom documentation. For more information, please visit the SAP Help Portal 35
1/27/2022
DELETE /auth/token
Input
None, except the session ID, which must be sent for every call.
Response
HTTP response: 200 OK
Errors
404 No active user found. 605 The user for the currently
logged-on session no longer
exists, or the user’s status is no
longer active.
URL
POST /users/avatar
Input
PNG raw data
Response
PNG raw data
Errors
404 No active user found. 605 The user for the currently
logged-on session no longer
exists or the user’s status is no
longer active.
This is custom documentation. For more information, please visit the SAP Help Portal 36
1/27/2022
404 Invalid image format. 608 The image that was uploaded is
not in PNG format.
URL
GET /users/avatar
Input
PNG raw data
Response
PNG raw data
Errors
404 No active user found. 605 The user for the currently
logged-on session no longer
exists or the user’s status is no
longer active.
This service can be called only if no active session is currently running for the user.
In the event of an error, the response from the server often contains further information about the error, such as permitted
values, missing values, and so on.
URL
POST /ticketingaccount
Input
This is custom documentation. For more information, please visit the SAP Help Portal 37
1/27/2022
Sample Code
{
"firstName": "Max",
"lastName":"Mustermann",
"dateOfBirth":"19801231",
"secret": "1234test",
"secretCheck": "1234test",
"email": "[email protected]",
"emailCheck": "[email protected] ",
"country": "DE",
"city": "Walldorf",
"zipCode": "69190",
"street": "Dietmar-Hopp-Allee",
"houseNo": "16"
}
Response
This is custom documentation. For more information, please visit the SAP Help Portal 38
1/27/2022
Sample Code
{
"session": {
"sessionId": "5f48737d-154c-44f7-9728-21fe8cf1e9aa",
"createdAt": 1431945295425,
"expiresAt": 1431947095425
},
"user": {
"uuid": "2f1cefac-353e-4755-bd41-b1a809735693",
"createdAt": 1431945295163,
"modifiedAt": 1431945295163,
"publicId": "U002001",
"userName": "[email protected]",
"appToken": "25d1b758-00f5-4529-8dd8-df319d8e2f0a",
"ticketingLeading": false,
"state": "ACTIVE",
"identities": [
{
"value": "t5559c04e4f5ea7",
"valueTwo": "5008582",
"identityProviderId": "f1613e21-0693-4cfd-81e5-f5c150c42c9a",
"createdBy": null,
"modifiedBy": null
}
],
"account": {
"uuid": "a364c148-d56f-4ad8-bb7b-6d924ec030bb",
"createdAt": 1431945295142,
"modifiedAt": 1431945295142,
"firstName": "Max",
"lastName": "Mustermann",
"birthday": null,
"gender": null,
"addressData": [
{
"uuid": "cf8469c2-2e0c-40a0-8194-9843e927fcc9",
"createdAt": 1431945295154,
"modifiedAt": 1431945295154,
"street": null,
"houseNr": null,
"zipCode": null,
"city": null,
"createdBy": null,
"modifiedBy": null
}
],
"combinedName": "Max Mustermann ",
"createdBy": null,
"modifiedBy": null
},
"createdBy": null,
"modifiedBy": null
}
}
Errors
As well as the error code and the error message, the error response from the server may contain additional information (for
example, if the address sent is not unique).
This is custom documentation. For more information, please visit the SAP Help Portal 39
1/27/2022
404 User with same credentials 610 A user with same user name (or
already exists. e-mail address) already exists.
404 The new passwords do not 642 The password and password
match con rmation entries are not the
same.
404 New password does not follow 643 The password does not comply
the password policy with the server policy.
404 Blank password not allowed. 644 Blank passwords are not
allowed.
404 Not enough special characters 646 The password does not contain
in password. enough special characters.
404 Not enough numerical 647 The password does not contain
characters in password. enough numerical characters.
404 Not enough uppercase 648 The password does not contain
characters in password. enough uppercase characters.
404 Old and new password too 650 The old and new passwords are
similar. too similar.
404 Not unique address. 665 The address is not unique. The
response contains suggested
addresses.
This is custom documentation. For more information, please visit the SAP Help Portal 40
1/27/2022
404 Invalid cell phone number. 671 Cell phone number validation
has failed (incorrect format).
street not found Street was not found. (If the street was not
found, the address should be storable.)
Sample Code
{
"errorCode": "668",
"errorMessage": "Customer already exists",
"addInfoList": null,
"addressSuggestions": null
}
Sample Code
{
"errorCode": "665",
"errorMessage": "Not unique address",
"addInfoList": [
"street - changed"
],
"addressSuggestions": [
This is custom documentation. For more information, please visit the SAP Help Portal 41
1/27/2022
{
"street": "Dietmar-Hopp-Allee",
"streetNumber": "16",
"postalCode": "69190",
"city": "Walldorf",
"countryCode": "DE",
"additionalInformation": null
},
...
{
"street": "Dietmar-Hopp-Allee",
"streetNumber": "16",
"postalCode": "69190",
"city": "Walldorf",
"countryCode": "DE",
"additionalInformation": null
}
]
}
Example of an error response if an address attribute, such as the street, cannot be uniquely identi ed:
Sample Code
"errorCode": "674",The password does not contain enough lowercase
"errorMessage": "Address not found",
characters.
{
"errorCode": "674",The password does not contain enough lowercase
"errorMessage": "Address not found",
characters.
"addInfoList": [
"street - not_found",
"number - not_checked"
"addInfoList": [],
"addressSuggestions": null
}
"street - not_found",
"number - not_checked"
URL
GET /users
Input
None
Response
This is custom documentation. For more information, please visit the SAP Help Portal 42
1/27/2022
Sample Code
{
"uuid": "f03d1803-4992-4c8b-a2c2-2caf32f63712",
"createdAt": 1423568133456,
"modifiedAt": 1423568133456,
"publicId": "10",
"appToken": "b9212893-409a-407e-9522-c8602bf0cb2a",
"ticketingLeading": true,
"userName": "[email protected]",
"state": "ACTIVE",
"identities": [
{
"value": "t12345abc67de8f",
"identityProviderId": "057b304e-a85b-4033-b755-48ef5c3164ac"
}
],
"account": {
"uuid": "a13ecb97-c6ab-4e0e-82a2-0bf3e224024e",
"createdAt": 1431081658820,
"modifiedAt": 1431081658820,
"firstName": null,
"lastName": null,
"birthday": null,
"gender": null,
"addressData": [ ],
"createdBy": null,
"modifiedBy": null
}
}
Errors
404 No active user found. 605 The user for the currently
logged-on session no longer
exists or the user’s status is no
longer active.
Example:
Sample Code
{
"session": {
"sessionId": "C27F14FA3E18853A6356B5A0B1450D47",
"createdAt": 1423563794362,
"expiresAt": 1423565594362
},
"user": {
"uuid": "d690c46f-3193-4ac5-9d1d-c6d078112a08",
"createdAt": 1423563794127,
"modifiedAt": 1423563794127,
"publicId": "9",
This is custom documentation. For more information, please visit the SAP Help Portal 43
1/27/2022
"appToken": "54ef6787-3fd5-4737-9be9-43b2930a560e",
"ticketingLeading": true,
"userName": "[email protected]",
"state": “ACTIVE”,
"identities": [
{
"value": "t12345678901234",
"identityProviderId": "057b304e-a85b-4033-b755-48ef5c3164ac"
}
],
"account": {
"uuid": "a13ecb97-c6ab-4e0e-82a2-0bf3e224024e",
"createdAt": 1431081658820,
"modifiedAt": 1431081658820,
"firstName": null,
"lastName": null,
"birthday": null,
"gender": null,
"addressData": [ ],
"createdBy": null,
"modifiedBy": null
}
}
}
1. UUID: the user’s internal system ID, that is, their actual ID. End customers and users should probably never be directly
confronted with this ID, because it is very long and complicated.
2. publicId: a more manageable ID, which (if at all) can be shown to users in support cases (so they need not say their 36-
character UUID when speaking with support)
3. createdAt and modi edAt: points in time in the usual form of “milliseconds since January 1, 1970”
4. ticketingLeading: a Boolean that states whether a ticketing identity is stored for the user. Not relevant for the client.
5. state: the user’s status. Currently, the following values exist: ACTIVE and DELETED
6. identities: the list of identities known for the user. In the example above, as follows:
{"identityProviderId": 057b304e-a85b-4033-b755-48ef5c3164ac,
"value": "t9876abcd5432ef"}
Therefore, the ID of the user in the SAP Event Ticketing system is “t9876abcd5432ef”.
This is custom documentation. For more information, please visit the SAP Help Portal 44