1. Introduction
API for Self Scanning client
2. Access
-
HTTP Basic Authentication basicAuth
-
OAuth AuthorizationUrl: _, TokenUrl: _{protocol}://{systemId}:{port}/auth-service/tenants/{tenant}/oauth/token
3. Endpoints
3.1. EndOfTrip
3.1.1. endOfTrip
POST /self-scanning/v1/end-of-trip
adds a self-scanning transaction
Description
Adds a self-scanning transaction to the system
Parameters
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
EndOfTripRequest |
Self-Scanning Transaction EndOfTripRequest |
- |
Header Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
GK-Customer-Id |
Customer identifier. When not defined anonymous customer is used. |
- |
null |
|
GK-Anonymous-Profile-Id |
Anonymous customer profile identifier. |
- |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
201 |
transaction created |
|
401 |
Unauthorized |
|
400 |
Provided transaction, or some of its parts, are not valid. Referenced data may be missing. |
|
409 |
A transaction with the same ID has already been processed. |
3.2. StartOfTrip
3.2.1. getBusinessUnit
GET /self-scanning/v1/business-units/{businessUnitId}
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
businessUnitId |
Business unit ID. |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Business unit details. |
|
401 |
Unauthorized |
|
404 |
Object was not found. |
|
500 |
An unexpected server error. |
3.2.2. getCustomer
GET /self-scanning/v1/customers/{customerId}
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
customerId |
X |
null |
Return Type
Content Type
-
application/json
4. Models
4.1. AuditEvent
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
creationTimestamp |
X |
Date |
Creation timestamp of the audit event |
date-time |
typeCode |
X |
String |
S_\" + {process id} + {2 digits incremental number per process} - see documentation for details |
|
content |
String |
Additional event content. |
4.2. BusinessUnit
Business unit details.
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
businessUnitId |
X |
String |
A unique retailer assigned identifier for a retail store, distribution center or administration center (internal identifier). |
|
businessUnitGroupId |
String |
A unique system assigned identifier for the group of business units. |
||
name |
String |
Business unit name. |
||
mainCurrency |
Currency |
|||
additionalProperties |
Map of [String] |
General key-value map for project extensibility. |
4.3. Currency
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
code |
X |
String |
Unique identifier of the currency. ISO 4217 currency code. |
|
name |
String |
A name of the currency. |
||
symbol |
String |
National symbol for the main currency unit. |
4.4. Customer
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
customerId |
X |
String |
Unique ID of a customer. |
|
firstName |
String |
A person’s first name. In western cultures, this is the given name, in other cultures it may be the family name. |
||
lastName |
String |
A person’s last name. In western cultures, this is the family (or patronymic) name, in other cultures it may be the given name. |
||
salutation |
String |
Extra words that don’t form part of the person’s name but are normally printed before the first name as a courtesy title. This represents the primary salutation for this Person. |
||
languageId |
String |
A combination of ISO-639-1 and ISO-3661-1 to denote a language as spoken in a particular country. |
||
customerGroupIdList |
List of [String] |
|||
paymentInAppAllowed |
Boolean |
Defines whether payment is allowed for the customer in BYOD application. |
||
additionalProperties |
Map of [String] |
General key-value map for project extensibility. |
4.5. DepositAssociation
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
toLineItemSequenceNumber |
X |
Integer |
The sequence number of the linked line item. |
int32 |
4.6. EndOfTripRequest
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
selfScanningTransaction |
SelfScanningTransaction |
4.7. EndOfTripResponse
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
operatorNecessary |
X |
Boolean |
||
totals |
Totals |
|||
transaction |
EndOfTripResponseTransaction |
|||
additionalProperties |
Map of [String] |
General key-value map for project extensibility. |
4.8. EndOfTripResponseDepositAssociationItem
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
toLineItemSequenceNumber |
X |
BigDecimal |
The sequence number of the linked line item. |
4.9. EndOfTripResponseExternalTransactionAssociation
Links to external transactions.
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
associationTypeCode |
X |
String |
* |
Enum: EMPT, SCAL, |
toTransactionId |
X |
String |
4.10. EndOfTripResponseFrequentShopperPointsModifier
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
promotionId |
BigDecimal |
The unique identifier of the promotion. |
||
priceDerivationRuleId |
BigDecimal |
The unique identifier of the price derivation rule. |
||
priceDerivationRuleEligibilityId |
BigDecimal |
The unique identifier of the root eligibility. |
||
frequentShopperPointsEarnedCount |
X |
BigDecimal |
The number of frequent shopper points earned. |
|
prorateFrom |
BigDecimal |
The points calculation rule to be applied, expressed as a percentage of the calculation base. Corresponds to ItemPriceDerivationRule.PriceModificationPercent if available. |
4.11. EndOfTripResponseLoyaltyRewardLineItem
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
pointsAwardedCount |
BigDecimal |
The number of loyalty points awarded. |
||
promotionId |
BigDecimal |
The unique identifier of the promotion. |
||
priceDerivationRuleId |
BigDecimal |
The unique identifier of the price derivation rule. |
||
priceDerivationRuleEligibilityId |
BigDecimal |
The unique identifier of the root eligibility. |
4.12. EndOfTripResponsePriceModificationLineItem
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
promotionId |
BigDecimal |
The unique identifier of the promotion. |
||
priceDerivationRuleId |
BigDecimal |
The unique identifier of the price derivation rule. |
||
priceDerivationRuleEligibilityId |
BigDecimal |
The unique identifier of the root eligibility. |
||
triggerSequenceNumber |
BigDecimal |
The ident of the manual trigger (because a transaction item can have more than one trigger) Needed for transaction preview. |
4.13. EndOfTripResponseRetailPriceModifier
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
promotionId |
BigDecimal |
The unique identifier of the promotion. |
||
priceDerivationRuleId |
BigDecimal |
The unique identifier of the price derivation rule. |
||
priceDerivationRuleEligibilityId |
BigDecimal |
The unique identifier of the root eligibility. |
||
amount |
X |
BigDecimal |
The total amount of the retail price modifier. |
|
calculationMethodCode |
String |
A type code used to identity manual price overrides. |
||
prorateFrom |
BigDecimal |
The sequence number of the PriceModificationLineItem. Only filled for discount shares of transaction related discounts. |
4.14. EndOfTripResponseRetailTransaction
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
retailTransactionLineItemList |
List of retail transaction line items. |
|||
totals |
Totals |
|||
retailTransactionPromotionTriggerList |
List of EndOfTripResponseRetailTransactionPromotionTriggerItem |
List of promotion triggers. |
||
retailTransactionCouponSummaryList |
List of coupons. |
|||
retailTransactionPromotionPriceDerivationRuleList |
List of EndOfTripResponseRetailTransactionPromotionPriceDerivationRuleItem |
List of conditions. |
4.15. EndOfTripResponseRetailTransactionCouponSummaryItem
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
couponNumber |
X |
String |
The coupon number. |
|
inputCount |
X |
BigDecimal |
Count of registered coupons. |
|
appliedCount |
X |
BigDecimal |
Number of used coupons. |
|
customerRelated |
Boolean |
Defines, if a customer is related to the coupon. Will be used for valuephone coupons. |
4.16. EndOfTripResponseRetailTransactionLineItem
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
saleReturnLineItem |
EndOfTripResponseSaleReturnLineItem |
|||
priceModificationLineItem |
EndOfTripResponsePriceModificationLineItem |
|||
loyaltyRewardLineItem |
EndOfTripResponseLoyaltyRewardLineItem |
|||
taxLineItem |
EndOfTripResponseTaxLineItem |
|||
depositAssociationList |
||||
externalTransactionAssociation |
EndOfTripResponseExternalTransactionAssociation |
4.17. EndOfTripResponseRetailTransactionPromotionPriceDerivationRuleItem
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
promotionId |
X |
BigDecimal |
The unique identifier of the promotion. |
|
priceDerivationRuleId |
X |
BigDecimal |
The unique identifier of the price derivation rule. |
|
priceDerivationRuleEligibilityId |
X |
BigDecimal |
The unique identifier of the root eligibility. |
|
ReceiptPrinterName |
String |
Text to be printed on the receipt. |
4.18. EndOfTripResponseRetailTransactionPromotionTriggerItem
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
triggerSequenceNumber |
X |
BigDecimal |
The ident of the trigger (because a transaction item can have more than one trigger). |
|
triggerType |
X |
String |
The type of the trigger (referencing to POS configuration). |
|
triggerValue |
X |
String |
The value of the trigger (referencing to POS configuration). |
4.19. EndOfTripResponseSaleReturnLineItem
The sale return line item.
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
posItemId |
String |
The ID used to identify the item. |
||
itemType |
String |
The type code of the line item. |
||
quantity |
X |
BigDecimal |
The single quantity of a line item |
|
units |
String |
The units of the line item. |
||
extendedAmount |
X |
BigDecimal |
The product of multiplying Quantity, Units and ActualUnitPrice. |
|
manualWeightInputFlag |
X |
Boolean |
Describes how the weight was registered. Might be needed for scale receipts. |
|
receiptText |
String |
The receipt printout text. |
||
registrationNumber |
String |
The complete number which was registered on the POS originally. |
||
discountFlag |
X |
Boolean |
A flag to indicate whether this ITEM can be discounted. (Corresponds to Item.DiscountFlag) |
|
mainMerchandiseHierarchyGroupID |
String |
Unique system assigned identifier for the merchandise group. |
||
retailPriceModifier |
List of line item discounts. |
|||
frequentShopperPointsModifier |
List of line item points discounts. |
|||
saleReturnLineItemPromotionTrigger |
List of line item promotion triggers. |
4.20. EndOfTripResponseSaleReturnLineItemPromotionTrigger
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
privilegeType |
String |
Defines the method for price modification. |
||
privilegeValue |
String |
Reduction amount, reduction percent or new price amount. |
4.21. EndOfTripResponseTaxLineItem
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
taxIncludedInPricesFlag |
X |
Boolean |
A flag denoting that all applicable taxes are included in the prices for this line item, and that therefore this SaleReturnTaxLineItem is merely a summary of those taxes. |
|
taxableAmount |
X |
BigDecimal |
The monetary value of the transaction for which tax is being calculated. |
|
taxPercent |
X |
BigDecimal |
The percentage of the taxable amount that should is tax. Derived by applying the appropriate TaxGroupRule and TaxRateRule. |
|
taxAmount |
BigDecimal |
The monetary amount of sales Tax calculated by applying the appropriate TaxGroupRule and TaxRateRule. |
||
receiptPrintCode |
String |
short code that is printed on a receipt to denote items that are in this TaxableGroup. |
4.22. EndOfTripResponseTransaction
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
suspendNumber |
X |
String |
||
retailTransaction |
EndOfTripResponseRetailTransaction |
4.23. ExternalTransactionAssociation
Links to external transactions.
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
associationTypeCode |
X |
String |
* |
Enum: EMPT, SCAL, |
toTransactionId |
X |
String |
4.24. Problem
A response object to describe the problem that has just happened.
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
message |
String |
A human readlable description whats going wrong, and if possible how to handle / solve this error. |
||
timestamp |
X |
Date |
The current timestamp when the problem occurred. |
date-time |
url |
X |
String |
The url that has just been called. |
|
status |
X |
Integer |
The original http statuscode which this error was rejected. |
int32 |
4.25. PromotionTrigger
Line of line item promotion trigger which comes from a barcode.
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
triggerType |
X |
String |
The type of the trigger (referencing to POS configuration). |
|
triggerValue |
X |
String |
The value of the trigger (referencing to POS configuration). |
|
sequenceNumber |
X |
Integer |
The sequence number of promotion trigger within the containing context. |
int32 |
privilegeType |
X |
String |
Defines the method for price modification. |
|
privilegeValue |
X |
BigDecimal |
Reduction amount, reduction percent or new price amount. |
|
reasonCode |
String |
Reason code for the manual discount. |
4.26. RetailTransactionCouponSummary
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
couponNumber |
X |
String |
The coupon number. |
|
inputCount |
X |
Integer |
Count of registered coupons. It is used to know how many coupons were scanned. |
|
customerRelated |
X |
Boolean |
Flag if the coupon is customer related. If yes, it is related to the customer from the transaction. |
4.27. RetailTransactionLineItem
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
sequenceNumber |
X |
Integer |
The sequence number of line item within the context of this RetailTransaction. |
int32 |
beginDateTimestamp |
X |
Date |
The start time of the retail transaction line item. |
date-time |
endDateTimestamp |
X |
Date |
The end time of the retail transaction line item. |
date-time |
voidFlag |
Boolean |
A boolean indicator that tells if this line item is voided or not. |
||
entryMethodCode |
String |
A retailer assigned code to denote how the RetailTransactionLineItem was entered at the Workstation. |
Enum: Scanned, Keyed, |
|
typeCode |
X |
String |
* |
Enum: SR, VL, |
voidTypeCode |
String |
* |
Enum: 00, 01, |
|
saleReturnLineItem |
X |
SaleReturnLineItem |
||
externalTransactionAssociation |
ExternalTransactionAssociation |
|||
depositAssociationList |
List of DepositAssociation |
|||
auditEventList |
List of AuditEvent |
List of line item audit events. |
||
additionalProperties |
Map of [String] |
General key-value map for project extensibility. |
4.28. SaleReturnLineItem
Sale return line item.
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
posItemId |
X |
String |
The ID used to identify the item. Corresponds to simpleItemSO.posIdentity. |
|
registrationNumber |
String |
The complete number which was registered on the POS originally. |
||
quantity |
X |
Integer |
The single quantity of a line item. |
|
itemType |
X |
String |
The type code of the line item > * |
Enum: CO, ER, SC, DI, |
actualUnitPrice |
BigDecimal |
The actual per-unit price. Mandatory only if sellUnitRetailPriceEntryMethodCode = BARC |
||
extendedAmount |
BigDecimal |
The product of multiplying Quantity, Units and ActualUnitPrice. Needed for entering weight or price coded barcodes. Mandatory if sellUnitRetailPriceEntryMethodCode = BARC |
||
units |
BigDecimal |
The units of the line item. Mandatory if sellUnitRetailPriceEntryMethodCode = BARC |
||
sellUnitRetailPriceEntryMethodCode |
String |
A code that describes how this line item’s retail selling unit price is being entered. * PRIC - not mandatory * BARC - must fill actualUnitPrice, extendedAmount, units |
Enum: PRIC, BARC, |
|
ageVerificationRequired |
Boolean |
Defines, if an age verification check is detected during scanning the item. |
||
promotionTrigger |
PromotionTrigger |
|||
additionalProperties |
Map of [String] |
General key-value map for project extensibility. |
4.29. SelfScanningTransaction
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
businessUnitId |
X |
String |
Store ID |
|
beginDateTimestamp |
X |
Date |
The time and date a transaction is initiated. |
date-time |
cancelledFlag |
Boolean |
A flag denoting that this entire transaction has been cancelled before it was completed at the Self Scanning Client. |
||
lineItemList |
X |
List of RetailTransactionLineItem |
List of line items |
|
couponSummaryList |
List of RetailTransactionCouponSummary |
List of coupons |
||
auditEventList |
List of AuditEvent |
List of audit events |
||
promotionTriggerList |
List of PromotionTrigger |
List of promotion triggers. |
||
selfScanningTransactionId |
X |
UUID |
uuid |
|
deviceId |
X |
String |
||
allItemsEntered |
X |
Boolean |
||
additionalProperties |
Map of [String] |
General key-value map for project extensibility. |
4.30. Totals
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
subtotal |
X |
BigDecimal |
Subtotal without transaction discounts and without taxes. |
|
subtotalDiscount |
X |
BigDecimal |
Subtotal with transaction discounts and without taxes. |
|
total |
X |
BigDecimal |
Transaction total with - taxes that are not included in prices - transaction discounts - rounding |