Download OpenAPI specification:Download
Transaction Engine API enables its clients to produce sales with the Transaction Engine business logic, integrations, receipt rendering and pricing across multie sales channels.
The API is primary geared towards point of sale (POS) clients operated by a cashier. However, it should also offer resources and extension points to use the API from other types of clients or even build other services on top of the API.
All authenticated endpoints expects a Bearer
access token in the Authorization
header
Authorization: Bearer <access_token>
How to obtain a valid JWT depends on the deployment. Tokens must be from a source trusted by the Transaction Engine to allow downloading of JWK sets. Regardless of source, the following application specific claims must be present in the token:
https://hiiretail.com/cashierId
- The cashier number in the Transaction Enginehttps://hiiretail.com/roles
- A list of user rolesSecurity Scheme Type | HTTP |
---|---|
HTTP Authorization Scheme | bearer |
Bearer format | "JWT" |
This section provides an overview the core concepts in the Transaction Engine API.
Before the API is used the client must obtain a valid JSON Web Token. The JWT is required in all secured API calls. See Authorization for more details.
All API operations are performed on a unique client session. The session must be created before it can be used to create and populate transactions. Once a client is done it should preferrably logout to close the session. Abandoned sessions are eventually removed.
All operations that manipulate the receipt returns a client response wrapper object that contains one of the following:
Clients must use their session in a strict request-response flow, except for the async push events. This means that a client must wait for a response (or the timeout) before sending the next request. If this contract is broken the API will not behave correctly and will break with unexpected behavior.
If the second request would be sent before the first response the Transaction Engine would either
What scenario the client will see depends on timing and the type of requested resources.
There is a few exceptions to the request-response restriction, where the APIs allow concurrent requests.
The Transaction Engine can request additional input on most operations using a prompt request construct.
A controllable prompt request is a request for input that can be cancelled, modified or fulfilled from the Transaction Engine. Examples when controlled prompts are common include
When a prompt request is controllable, clients must subscribe to events in order to detect when the request is updated or closed.
The receipt consists of entities that represents the lines in a receipt. The two major pieces of information in an entity are
saleItem
or loyaltyInfo
data structures.The type safe information can be used in whatever way clients see fit. The data is documented and available as API models.
The layout and especially the DSL
layout rows
may however never be parsed in an attempt
to deduce data about the entity. The structure of rows and cells vary depending on state not
disclosed to the client. The layout information should only be used for its intended purpose,
which is to render an entity similar to that on a printed receipt.
See also receipt rendering for more details on how to process
layout DSL
.
Status events is an asynchronous push notification feature that complements the Open API. It allows clients to listen for asynchronous changes to their session between, but especially during, an active request-response flow.
Clients should register for push status events when
This section explains how API resources are used in user experience and user interface.
The menu tree resources in the API are intended to be used together with the command execution operations. Clients can get the menus and render them as a tree menu structure.
command
to run the operationIf menus are used, clients are recommended to load them after creating a new session. The menus support caching so it is efficient to check for changes.
The API supports both a default menu and named menus. What names that are available depends on configuration in the Transaction Engine. Typically, Tranaction Engine offers the following named menus, but it is not limited to these.
default
- the default menu (always available)payment
- payment specific menuitem
- options to manipulate a receipt entity (availability may depend on application type)For most interactive clients, the default DSL
layout is recommended. It provides clients with a
data structure consisting of rows and columns, similar to a flex-box layout.
The layout provided by the Transaction Engine is often configured to be similar to the printed receipt. If the receipt is rendered with the provided layout data it ensures that the content and visualization is the same across all sales channels. The limitation with the provided layout is that it can't make sure of device-specific features to enhance the user experience.
The price lookup (PLU) tree is similar to the menu trees but provides an hierarhical tree structure to browse and optionally register items that may not have a barcode. This may include fruit, bread and heavy items.
posIdentity
is selected, the value should be provided as input
to the register entity resource.Clients should load the PLU after the session has been created. It is recommended to update the price lookup tree between each receipt to receive updates to the tree structure. The resource supports caching and will only return a new structure when changed.
The purpose of the input information query is to support flexible user experience when details about the input may be required before trying to register it at the Transaction Engine. Examples of use cases for input information:
The downside with the input information query is that it introduces an extra API call, so it's use should be weighted against its effect on throughput in the client.
Create a new session. The created session is the client's unique identifier for future requests to the API. When the client is done, it should remove the session to invalidate it.
Clients must use their session in a strict request-response flow, except for the async push events. This means that a client must wait for a response (or the timeout) before sending the next request. If this contract is broken the API will not behave correctly and will break with unexpected behavior.
The session settings
applicationType required | string (ApplicationType) Enum: "DEFAULT" "MOBILE_POS" "QUEUE_BUSTER" "SELFSCAN" "SELFSCAN_PAYMENT" "SELF_CHECKOUT" "UNATTENDED" "WEB_POS" "WEB_SHOP" Application type categories. The application type is used to tailor use cases for different applications.
|
attendantSupported | boolean Flag indicating if the client supports monitoring and interactions from a remote POS attendant. A client that has set this flag must handle attendable prompts and attendant response events. |
cashierLocale | string The cashier session locale as an RFC 5646 language tag |
evaluatePromotion | boolean Flag to control if promotions are evaluated |
extendedInfo | boolean Flag indicating if the client wants to receive extended receipt information (for example tax and discount information for items) |
itemValidationBehavior | string (ItemValidationBehavior) Default: "IMMEDIATE" Enum: "IMMEDIATE" "POSTPONED" "INHIBITED" Enumeration for item validation behavior during item registration.
|
object (LayoutConfig) Receipt layout configuration. This configuration determines how
the receipt layout should be formatted for a client.
The width and font settings only applies if layout type is | |
logoutBehavior | string (LogoutBehavior) Enum: "AUTHORIZED" "DISCARD_TRANSACTION_FIRST" Enumeration of the possible logout behaviors. This setting is used for logout requests to make the behavior flexible for the different type of API clients.
|
systemLocale | string The system locale as an RFC 5646 language tag. This locale can be used at the client for i10n when formatting must be consistent with receipt formatting performed by the service. This value can never be controlled by the connecting client and is only available once the session has been created. |
useReceiptDelta | boolean Flag to control if receipt deltas should be used. If set, modifications to the receipt are returned as deltas instead of full receipts. |
country required | string The ISO 3166-1 2-alpha country code |
retailStoreId required | string The retail store ID for the session |
workstationId required | string Workstation ID for the session |
{- "applicationType": "DEFAULT",
- "country": "SE",
- "retailStoreId": "004217",
- "workstationId": "001"
}
{- "properties": [
- {
- "name": "LOCAL_CURRENCY",
- "value": "USD"
}
], - "sessionId": "4A62362A-00CA-43B2-B242-46FCE9335EDE",
- "settings": {
- "applicationType": "DEFAULT",
- "attendantSupported": false,
- "cashierLocale": "en-US",
- "evaluatePromotion": true,
- "extendedInfo": false,
- "itemValidationBehavior": "IMMEDIATE",
- "layout": {
- "deviceName": "string",
- "font": {
- "family": "DIALOG",
- "size": 16,
- "style": "BOLD"
}, - "receiptWidth": 234,
- "type": "DSL"
}, - "logoutBehavior": "DISCARD_TRANSACTION_FIRST",
- "systemLocale": "en-US",
- "useReceiptDelta": false,
- "country": "SE",
- "retailStoreId": "004217",
- "workstationId": "001"
}
}
Get information about an existing session.
sessionId required | string The session ID |
{- "properties": [
- {
- "name": "LOCAL_CURRENCY",
- "value": "USD"
}
], - "sessionId": "4A62362A-00CA-43B2-B242-46FCE9335EDE",
- "settings": {
- "applicationType": "DEFAULT",
- "attendantSupported": false,
- "cashierLocale": "en-US",
- "evaluatePromotion": true,
- "extendedInfo": false,
- "itemValidationBehavior": "IMMEDIATE",
- "layout": {
- "deviceName": "string",
- "font": {
- "family": "DIALOG",
- "size": 16,
- "style": "BOLD"
}, - "receiptWidth": 234,
- "type": "DSL"
}, - "logoutBehavior": "DISCARD_TRANSACTION_FIRST",
- "systemLocale": "en-US",
- "useReceiptDelta": false,
- "country": "SE",
- "retailStoreId": "004217",
- "workstationId": "001"
}
}
Change the settings in the client's active session. Note that workstation and retail store can't be changed. To change these properties a new session should be created.
sessionId required | string The session ID |
The new settings
applicationType required | string (ApplicationType) Enum: "DEFAULT" "MOBILE_POS" "QUEUE_BUSTER" "SELFSCAN" "SELFSCAN_PAYMENT" "SELF_CHECKOUT" "UNATTENDED" "WEB_POS" "WEB_SHOP" Application type categories. The application type is used to tailor use cases for different applications.
|
attendantSupported | boolean Flag indicating if the client supports monitoring and interactions from a remote POS attendant. A client that has set this flag must handle attendable prompts and attendant response events. |
cashierLocale | string The cashier session locale as an RFC 5646 language tag |
evaluatePromotion | boolean Flag to control if promotions are evaluated |
extendedInfo | boolean Flag indicating if the client wants to receive extended receipt information (for example tax and discount information for items) |
itemValidationBehavior | string (ItemValidationBehavior) Default: "IMMEDIATE" Enum: "IMMEDIATE" "POSTPONED" "INHIBITED" Enumeration for item validation behavior during item registration.
|
object (LayoutConfig) Receipt layout configuration. This configuration determines how
the receipt layout should be formatted for a client.
The width and font settings only applies if layout type is | |
logoutBehavior | string (LogoutBehavior) Enum: "AUTHORIZED" "DISCARD_TRANSACTION_FIRST" Enumeration of the possible logout behaviors. This setting is used for logout requests to make the behavior flexible for the different type of API clients.
|
systemLocale | string The system locale as an RFC 5646 language tag. This locale can be used at the client for i10n when formatting must be consistent with receipt formatting performed by the service. This value can never be controlled by the connecting client and is only available once the session has been created. |
useReceiptDelta | boolean Flag to control if receipt deltas should be used. If set, modifications to the receipt are returned as deltas instead of full receipts. |
{- "applicationType": "DEFAULT"
}
{- "properties": [
- {
- "name": "LOCAL_CURRENCY",
- "value": "USD"
}
], - "sessionId": "4A62362A-00CA-43B2-B242-46FCE9335EDE",
- "settings": {
- "applicationType": "DEFAULT",
- "attendantSupported": false,
- "cashierLocale": "en-US",
- "evaluatePromotion": true,
- "extendedInfo": false,
- "itemValidationBehavior": "IMMEDIATE",
- "layout": {
- "deviceName": "string",
- "font": {
- "family": "DIALOG",
- "size": 16,
- "style": "BOLD"
}, - "receiptWidth": 234,
- "type": "DSL"
}, - "logoutBehavior": "DISCARD_TRANSACTION_FIRST",
- "systemLocale": "en-US",
- "useReceiptDelta": false,
- "country": "SE",
- "retailStoreId": "004217",
- "workstationId": "001"
}
}
Create a transaction and optionally register the first item. If no input body is provided, an empty transaction will be created.
sessionId required | string The session ID |
The entity input. If omitted an empty transaction is created
required | object (Input) Representation of input sent to the system. |
Array of objects (PosParameter) The input parameters |
{- "originalPOSIdentity": {
- "value": "123456789012"
}
}
{- "empty": true,
- "prompt": {
- "attendable": false,
- "cancelAllowed": true,
- "code": "item.control.flag.message",
- "choices": [
- {
- "value": "Ok",
- "label": "Ok"
}
], - "defaultValue": "",
- "inputAllowed": false,
- "message": "Microwave oven (998): Please check inside the owen for hidden items.",
- "severity": "INFO",
- "title": "Control Item",
- "type": "MESSAGE"
}, - "receipt": {
- "delta": false,
- "endTime": "2019-08-24T14:15:22Z",
- "entities": [
- {
- "coupon": {
- "couponId": "string",
- "description": "string",
- "electronic": false,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "quantity": {
- "unitOfMeasure": "EA",
- "value": 1
}
}, - "createdTime": "2019-08-24T14:15:22Z",
- "extension": {
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "id": 11,
- "input": true,
- "insertAfter": 11,
- "invalidated": false,
- "layout": {
- "type": "DSL",
- "rows": [
- {
- "cells": [
- {
- "align": "LEFT",
- "color": "0x000000",
- "text": "string",
- "truncate": "SUFFIX",
- "type": "TEXT",
- "width": 70
}
], - "fontSize": "SMALL",
- "fontStyle": "BOLD"
}
]
}, - "loyalty": {
- "accountNumber": "string",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "modifiedTime": "2019-08-24T14:15:22Z",
- "promotion": {
- "accountableDiscount": 0.98,
- "discount": 0.98,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "id": "string",
- "name": "string",
- "percentageValue": 20,
- "rewardType": "string"
}, - "rescan": {
- "bookingId": "string",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "success": true
}, - "saleItem": {
- "actualUnitPrice": 50,
- "depositInfo": {
- "depositAmount": 2,
- "depositExtendedAmount": 2,
- "depositQuantity": {
- "unitOfMeasure": "EA",
- "value": 1
}, - "depositRuleId": "string",
- "depositTaxGroupId": "string"
}, - "extendedAmount": 50,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "linkedItems": [
- {
- "actualUnitPrice": 18.9,
- "name": "string",
- "originalPOSIdentity": "123456789012"
}
], - "name": "Denim Jacket",
- "originalPOSIdentity": "123456789012",
- "postponedValidations": [
- {
- "level": 18,
- "validationType": "AGE"
}
], - "quantity": {
- "unitOfMeasure": "EA",
- "value": 1
}, - "saleItemPromotions": [
- {
- "accountableDiscount": 0.98,
- "discount": 0.98,
- "id": "string",
- "name": "string",
- "percentageValue": 20,
- "rewardType": "string"
}
], - "taxGroups": [
- {
- "amount": 10.98,
- "id": "string"
}
], - "weightValidationRule": "NORMAL"
}, - "tender": {
- "accountNumber": "string",
- "amount": 22.5,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "name": "Cash",
- "referenceNumber": "string"
}, - "type": "SALE_ITEM"
}
], - "exitGate": {
- "barcode": "44001020001880129206",
- "codeType": "QR_CODE",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "id": 100,
- "itemCount": 3,
- "rescanData": {
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "fullRescanPerformed": false,
- "partialRescan": true,
- "rescanCount": 0,
- "rescanDeclined": false,
- "selfscanAborted": false
}, - "selectedEntity": 11,
- "startTime": "2019-08-24T14:15:22Z",
- "status": "ACTIVE",
- "totals": {
- "amountDue": 20.52,
- "changeDue": 0,
- "discountAmount": 1.5,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "extraBonusAmount": 0,
- "orderAmount": 20.52,
- "roundedAmountDue": 21,
- "taxGroups": [
- {
- "amount": 10.98,
- "id": "string"
}
], - "taxableAmount": 16.42
}, - "transactionId": "string"
}
}
Get a specific transaction from the session. The returned receipt will be the format and content used by the client as the receipt model is allowed to be cached for performance. To obtain a receipt formatted for another external party, generate a receipt image instead.
To view the receipt from an external client it is recommended to request a ReceiptImage instead.
receiptId required | integer <int64> Example: 1 The receipt ID |
sessionId required | string The session ID |
Cache-Control | string Set to |
{- "delta": false,
- "endTime": "2019-08-24T14:15:22Z",
- "entities": [
- {
- "coupon": {
- "couponId": "string",
- "description": "string",
- "electronic": false,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "quantity": {
- "unitOfMeasure": "EA",
- "value": 1
}
}, - "createdTime": "2019-08-24T14:15:22Z",
- "extension": {
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "id": 11,
- "input": true,
- "insertAfter": 11,
- "invalidated": false,
- "layout": {
- "type": "DSL",
- "rows": [
- {
- "cells": [
- {
- "align": "LEFT",
- "color": "0x000000",
- "text": "string",
- "truncate": "SUFFIX",
- "type": "TEXT",
- "width": 70
}
], - "fontSize": "SMALL",
- "fontStyle": "BOLD"
}
]
}, - "loyalty": {
- "accountNumber": "string",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "modifiedTime": "2019-08-24T14:15:22Z",
- "promotion": {
- "accountableDiscount": 0.98,
- "discount": 0.98,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "id": "string",
- "name": "string",
- "percentageValue": 20,
- "rewardType": "string"
}, - "rescan": {
- "bookingId": "string",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "success": true
}, - "saleItem": {
- "actualUnitPrice": 50,
- "depositInfo": {
- "depositAmount": 2,
- "depositExtendedAmount": 2,
- "depositQuantity": {
- "unitOfMeasure": "EA",
- "value": 1
}, - "depositRuleId": "string",
- "depositTaxGroupId": "string"
}, - "extendedAmount": 50,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "linkedItems": [
- {
- "actualUnitPrice": 18.9,
- "name": "string",
- "originalPOSIdentity": "123456789012"
}
], - "name": "Denim Jacket",
- "originalPOSIdentity": "123456789012",
- "postponedValidations": [
- {
- "level": 18,
- "validationType": "AGE"
}
], - "quantity": {
- "unitOfMeasure": "EA",
- "value": 1
}, - "saleItemPromotions": [
- {
- "accountableDiscount": 0.98,
- "discount": 0.98,
- "id": "string",
- "name": "string",
- "percentageValue": 20,
- "rewardType": "string"
}
], - "taxGroups": [
- {
- "amount": 10.98,
- "id": "string"
}
], - "weightValidationRule": "NORMAL"
}, - "tender": {
- "accountNumber": "string",
- "amount": 22.5,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "name": "Cash",
- "referenceNumber": "string"
}, - "type": "SALE_ITEM"
}
], - "exitGate": {
- "barcode": "44001020001880129206",
- "codeType": "QR_CODE",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "id": 100,
- "itemCount": 3,
- "rescanData": {
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "fullRescanPerformed": false,
- "partialRescan": true,
- "rescanCount": 0,
- "rescanDeclined": false,
- "selfscanAborted": false
}, - "selectedEntity": 11,
- "startTime": "2019-08-24T14:15:22Z",
- "status": "ACTIVE",
- "totals": {
- "amountDue": 20.52,
- "changeDue": 0,
- "discountAmount": 1.5,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "extraBonusAmount": 0,
- "orderAmount": 20.52,
- "roundedAmountDue": 21,
- "taxGroups": [
- {
- "amount": 10.98,
- "id": "string"
}
], - "taxableAmount": 16.42
}, - "transactionId": "string"
}
Cancel or discard the transcation. Use the discard parameter to control whether to cancel or discard the transaction. A cancelled transaction may require each entity to be voided before the transaction is cancelled. A request to cancel the transaction MAY be rejected due to the state of the transaction or due to items sold.
When a transaction is discarded, no validations are performed and the transaction is always, unconditionally cancelled.
receiptId required | integer <int64> Example: 1 The receipt ID |
sessionId required | string The session ID |
discard | boolean Default: false Flag to discard receipt |
{- "empty": true,
- "prompt": {
- "attendable": false,
- "cancelAllowed": true,
- "code": "item.control.flag.message",
- "choices": [
- {
- "value": "Ok",
- "label": "Ok"
}
], - "defaultValue": "",
- "inputAllowed": false,
- "message": "Microwave oven (998): Please check inside the owen for hidden items.",
- "severity": "INFO",
- "title": "Control Item",
- "type": "MESSAGE"
}, - "receipt": {
- "delta": false,
- "endTime": "2019-08-24T14:15:22Z",
- "entities": [
- {
- "coupon": {
- "couponId": "string",
- "description": "string",
- "electronic": false,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "quantity": {
- "unitOfMeasure": "EA",
- "value": 1
}
}, - "createdTime": "2019-08-24T14:15:22Z",
- "extension": {
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "id": 11,
- "input": true,
- "insertAfter": 11,
- "invalidated": false,
- "layout": {
- "type": "DSL",
- "rows": [
- {
- "cells": [
- {
- "align": "LEFT",
- "color": "0x000000",
- "text": "string",
- "truncate": "SUFFIX",
- "type": "TEXT",
- "width": 70
}
], - "fontSize": "SMALL",
- "fontStyle": "BOLD"
}
]
}, - "loyalty": {
- "accountNumber": "string",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "modifiedTime": "2019-08-24T14:15:22Z",
- "promotion": {
- "accountableDiscount": 0.98,
- "discount": 0.98,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "id": "string",
- "name": "string",
- "percentageValue": 20,
- "rewardType": "string"
}, - "rescan": {
- "bookingId": "string",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "success": true
}, - "saleItem": {
- "actualUnitPrice": 50,
- "depositInfo": {
- "depositAmount": 2,
- "depositExtendedAmount": 2,
- "depositQuantity": {
- "unitOfMeasure": "EA",
- "value": 1
}, - "depositRuleId": "string",
- "depositTaxGroupId": "string"
}, - "extendedAmount": 50,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "linkedItems": [
- {
- "actualUnitPrice": 18.9,
- "name": "string",
- "originalPOSIdentity": "123456789012"
}
], - "name": "Denim Jacket",
- "originalPOSIdentity": "123456789012",
- "postponedValidations": [
- {
- "level": 18,
- "validationType": "AGE"
}
], - "quantity": {
- "unitOfMeasure": "EA",
- "value": 1
}, - "saleItemPromotions": [
- {
- "accountableDiscount": 0.98,
- "discount": 0.98,
- "id": "string",
- "name": "string",
- "percentageValue": 20,
- "rewardType": "string"
}
], - "taxGroups": [
- {
- "amount": 10.98,
- "id": "string"
}
], - "weightValidationRule": "NORMAL"
}, - "tender": {
- "accountNumber": "string",
- "amount": 22.5,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "name": "Cash",
- "referenceNumber": "string"
}, - "type": "SALE_ITEM"
}
], - "exitGate": {
- "barcode": "44001020001880129206",
- "codeType": "QR_CODE",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "id": 100,
- "itemCount": 3,
- "rescanData": {
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "fullRescanPerformed": false,
- "partialRescan": true,
- "rescanCount": 0,
- "rescanDeclined": false,
- "selfscanAborted": false
}, - "selectedEntity": 11,
- "startTime": "2019-08-24T14:15:22Z",
- "status": "ACTIVE",
- "totals": {
- "amountDue": 20.52,
- "changeDue": 0,
- "discountAmount": 1.5,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "extraBonusAmount": 0,
- "orderAmount": 20.52,
- "roundedAmountDue": 21,
- "taxGroups": [
- {
- "amount": 10.98,
- "id": "string"
}
], - "taxableAmount": 16.42
}, - "transactionId": "string"
}
}
Generate a receipt image representation. The returned receipt image will be formatted according to the format query parameter. If the transaction is finalized, the receipt image contains all receipt slips that would have been printed on a physical printer. If the transaction is still active, the receipt image contains the cashier's active receipt.
The receipt image is suitable to use when a receipt representation should be obtain to print a finalized transaction or to obtain a representation suitable for other devices, e.g. a monitoring attendant.
receiptId required | integer <int64> Example: 1 The receipt ID |
sessionId required | string The session ID |
format | string Default: "TEXT" Enum: "HTML" "HTML5" "JAVAPOS" "TEXT" The receipt image format |
widthBudget | integer <int32> Default: -1 Example: widthBudget=48 The printer width budget |
{- "format": "TEXT",
- "id": 123,
- "personalData": {
- "subjectIds": [
- "string"
]
}, - "receipts": [
- "string"
], - "status": "ACTIVE"
}
receiptId required | integer <int64> Example: 1 The receipt ID |
sessionId required | string The session ID |
Empty request body
{- "empty": true,
- "prompt": {
- "attendable": false,
- "cancelAllowed": true,
- "code": "item.control.flag.message",
- "choices": [
- {
- "value": "Ok",
- "label": "Ok"
}
], - "defaultValue": "",
- "inputAllowed": false,
- "message": "Microwave oven (998): Please check inside the owen for hidden items.",
- "severity": "INFO",
- "title": "Control Item",
- "type": "MESSAGE"
}, - "receipt": {
- "delta": false,
- "endTime": "2019-08-24T14:15:22Z",
- "entities": [
- {
- "coupon": {
- "couponId": "string",
- "description": "string",
- "electronic": false,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "quantity": {
- "unitOfMeasure": "EA",
- "value": 1
}
}, - "createdTime": "2019-08-24T14:15:22Z",
- "extension": {
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "id": 11,
- "input": true,
- "insertAfter": 11,
- "invalidated": false,
- "layout": {
- "type": "DSL",
- "rows": [
- {
- "cells": [
- {
- "align": "LEFT",
- "color": "0x000000",
- "text": "string",
- "truncate": "SUFFIX",
- "type": "TEXT",
- "width": 70
}
], - "fontSize": "SMALL",
- "fontStyle": "BOLD"
}
]
}, - "loyalty": {
- "accountNumber": "string",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "modifiedTime": "2019-08-24T14:15:22Z",
- "promotion": {
- "accountableDiscount": 0.98,
- "discount": 0.98,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "id": "string",
- "name": "string",
- "percentageValue": 20,
- "rewardType": "string"
}, - "rescan": {
- "bookingId": "string",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "success": true
}, - "saleItem": {
- "actualUnitPrice": 50,
- "depositInfo": {
- "depositAmount": 2,
- "depositExtendedAmount": 2,
- "depositQuantity": {
- "unitOfMeasure": "EA",
- "value": 1
}, - "depositRuleId": "string",
- "depositTaxGroupId": "string"
}, - "extendedAmount": 50,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "linkedItems": [
- {
- "actualUnitPrice": 18.9,
- "name": "string",
- "originalPOSIdentity": "123456789012"
}
], - "name": "Denim Jacket",
- "originalPOSIdentity": "123456789012",
- "postponedValidations": [
- {
- "level": 18,
- "validationType": "AGE"
}
], - "quantity": {
- "unitOfMeasure": "EA",
- "value": 1
}, - "saleItemPromotions": [
- {
- "accountableDiscount": 0.98,
- "discount": 0.98,
- "id": "string",
- "name": "string",
- "percentageValue": 20,
- "rewardType": "string"
}
], - "taxGroups": [
- {
- "amount": 10.98,
- "id": "string"
}
], - "weightValidationRule": "NORMAL"
}, - "tender": {
- "accountNumber": "string",
- "amount": 22.5,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "name": "Cash",
- "referenceNumber": "string"
}, - "type": "SALE_ITEM"
}
], - "exitGate": {
- "barcode": "44001020001880129206",
- "codeType": "QR_CODE",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "id": 100,
- "itemCount": 3,
- "rescanData": {
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "fullRescanPerformed": false,
- "partialRescan": true,
- "rescanCount": 0,
- "rescanDeclined": false,
- "selfscanAborted": false
}, - "selectedEntity": 11,
- "startTime": "2019-08-24T14:15:22Z",
- "status": "ACTIVE",
- "totals": {
- "amountDue": 20.52,
- "changeDue": 0,
- "discountAmount": 1.5,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "extraBonusAmount": 0,
- "orderAmount": 20.52,
- "roundedAmountDue": 21,
- "taxGroups": [
- {
- "amount": 10.98,
- "id": "string"
}
], - "taxableAmount": 16.42
}, - "transactionId": "string"
}
}
This operation validates all postponed item validations in the transaction.
receiptId required | integer <int64> Example: 1 The receipt ID |
sessionId required | string The session ID |
Optional input parameters
Array of objects (PosParameter) The input parameters list |
{ }
{- "empty": true,
- "prompt": {
- "attendable": false,
- "cancelAllowed": true,
- "code": "item.control.flag.message",
- "choices": [
- {
- "value": "Ok",
- "label": "Ok"
}
], - "defaultValue": "",
- "inputAllowed": false,
- "message": "Microwave oven (998): Please check inside the owen for hidden items.",
- "severity": "INFO",
- "title": "Control Item",
- "type": "MESSAGE"
}, - "receipt": {
- "delta": false,
- "endTime": "2019-08-24T14:15:22Z",
- "entities": [
- {
- "coupon": {
- "couponId": "string",
- "description": "string",
- "electronic": false,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "quantity": {
- "unitOfMeasure": "EA",
- "value": 1
}
}, - "createdTime": "2019-08-24T14:15:22Z",
- "extension": {
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "id": 11,
- "input": true,
- "insertAfter": 11,
- "invalidated": false,
- "layout": {
- "type": "DSL",
- "rows": [
- {
- "cells": [
- {
- "align": "LEFT",
- "color": "0x000000",
- "text": "string",
- "truncate": "SUFFIX",
- "type": "TEXT",
- "width": 70
}
], - "fontSize": "SMALL",
- "fontStyle": "BOLD"
}
]
}, - "loyalty": {
- "accountNumber": "string",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "modifiedTime": "2019-08-24T14:15:22Z",
- "promotion": {
- "accountableDiscount": 0.98,
- "discount": 0.98,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "id": "string",
- "name": "string",
- "percentageValue": 20,
- "rewardType": "string"
}, - "rescan": {
- "bookingId": "string",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "success": true
}, - "saleItem": {
- "actualUnitPrice": 50,
- "depositInfo": {
- "depositAmount": 2,
- "depositExtendedAmount": 2,
- "depositQuantity": {
- "unitOfMeasure": "EA",
- "value": 1
}, - "depositRuleId": "string",
- "depositTaxGroupId": "string"
}, - "extendedAmount": 50,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "linkedItems": [
- {
- "actualUnitPrice": 18.9,
- "name": "string",
- "originalPOSIdentity": "123456789012"
}
], - "name": "Denim Jacket",
- "originalPOSIdentity": "123456789012",
- "postponedValidations": [
- {
- "level": 18,
- "validationType": "AGE"
}
], - "quantity": {
- "unitOfMeasure": "EA",
- "value": 1
}, - "saleItemPromotions": [
- {
- "accountableDiscount": 0.98,
- "discount": 0.98,
- "id": "string",
- "name": "string",
- "percentageValue": 20,
- "rewardType": "string"
}
], - "taxGroups": [
- {
- "amount": 10.98,
- "id": "string"
}
], - "weightValidationRule": "NORMAL"
}, - "tender": {
- "accountNumber": "string",
- "amount": 22.5,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "name": "Cash",
- "referenceNumber": "string"
}, - "type": "SALE_ITEM"
}
], - "exitGate": {
- "barcode": "44001020001880129206",
- "codeType": "QR_CODE",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "id": 100,
- "itemCount": 3,
- "rescanData": {
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "fullRescanPerformed": false,
- "partialRescan": true,
- "rescanCount": 0,
- "rescanDeclined": false,
- "selfscanAborted": false
}, - "selectedEntity": 11,
- "startTime": "2019-08-24T14:15:22Z",
- "status": "ACTIVE",
- "totals": {
- "amountDue": 20.52,
- "changeDue": 0,
- "discountAmount": 1.5,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "extraBonusAmount": 0,
- "orderAmount": 20.52,
- "roundedAmountDue": 21,
- "taxGroups": [
- {
- "amount": 10.98,
- "id": "string"
}
], - "taxableAmount": 16.42
}, - "transactionId": "string"
}
}
Register an entity in the transaction.
receiptId required | integer <int64> Example: 1 The receipt ID |
sessionId required | string The session ID |
The entity input.
required | object (Input) Representation of input sent to the system. |
Array of objects (PosParameter) The input parameters |
{- "originalPOSIdentity": {
- "value": "123456789012"
}
}
{- "empty": true,
- "prompt": {
- "attendable": false,
- "cancelAllowed": true,
- "code": "item.control.flag.message",
- "choices": [
- {
- "value": "Ok",
- "label": "Ok"
}
], - "defaultValue": "",
- "inputAllowed": false,
- "message": "Microwave oven (998): Please check inside the owen for hidden items.",
- "severity": "INFO",
- "title": "Control Item",
- "type": "MESSAGE"
}, - "receipt": {
- "delta": false,
- "endTime": "2019-08-24T14:15:22Z",
- "entities": [
- {
- "coupon": {
- "couponId": "string",
- "description": "string",
- "electronic": false,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "quantity": {
- "unitOfMeasure": "EA",
- "value": 1
}
}, - "createdTime": "2019-08-24T14:15:22Z",
- "extension": {
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "id": 11,
- "input": true,
- "insertAfter": 11,
- "invalidated": false,
- "layout": {
- "type": "DSL",
- "rows": [
- {
- "cells": [
- {
- "align": "LEFT",
- "color": "0x000000",
- "text": "string",
- "truncate": "SUFFIX",
- "type": "TEXT",
- "width": 70
}
], - "fontSize": "SMALL",
- "fontStyle": "BOLD"
}
]
}, - "loyalty": {
- "accountNumber": "string",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "modifiedTime": "2019-08-24T14:15:22Z",
- "promotion": {
- "accountableDiscount": 0.98,
- "discount": 0.98,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "id": "string",
- "name": "string",
- "percentageValue": 20,
- "rewardType": "string"
}, - "rescan": {
- "bookingId": "string",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "success": true
}, - "saleItem": {
- "actualUnitPrice": 50,
- "depositInfo": {
- "depositAmount": 2,
- "depositExtendedAmount": 2,
- "depositQuantity": {
- "unitOfMeasure": "EA",
- "value": 1
}, - "depositRuleId": "string",
- "depositTaxGroupId": "string"
}, - "extendedAmount": 50,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "linkedItems": [
- {
- "actualUnitPrice": 18.9,
- "name": "string",
- "originalPOSIdentity": "123456789012"
}
], - "name": "Denim Jacket",
- "originalPOSIdentity": "123456789012",
- "postponedValidations": [
- {
- "level": 18,
- "validationType": "AGE"
}
], - "quantity": {
- "unitOfMeasure": "EA",
- "value": 1
}, - "saleItemPromotions": [
- {
- "accountableDiscount": 0.98,
- "discount": 0.98,
- "id": "string",
- "name": "string",
- "percentageValue": 20,
- "rewardType": "string"
}
], - "taxGroups": [
- {
- "amount": 10.98,
- "id": "string"
}
], - "weightValidationRule": "NORMAL"
}, - "tender": {
- "accountNumber": "string",
- "amount": 22.5,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "name": "Cash",
- "referenceNumber": "string"
}, - "type": "SALE_ITEM"
}
], - "exitGate": {
- "barcode": "44001020001880129206",
- "codeType": "QR_CODE",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "id": 100,
- "itemCount": 3,
- "rescanData": {
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "fullRescanPerformed": false,
- "partialRescan": true,
- "rescanCount": 0,
- "rescanDeclined": false,
- "selfscanAborted": false
}, - "selectedEntity": 11,
- "startTime": "2019-08-24T14:15:22Z",
- "status": "ACTIVE",
- "totals": {
- "amountDue": 20.52,
- "changeDue": 0,
- "discountAmount": 1.5,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "extraBonusAmount": 0,
- "orderAmount": 20.52,
- "roundedAmountDue": 21,
- "taxGroups": [
- {
- "amount": 10.98,
- "id": "string"
}
], - "taxableAmount": 16.42
}, - "transactionId": "string"
}
}
Modify an existing entity.
entityId required | integer <int64> Example: 11 The ID of the entity to void |
receiptId required | integer <int64> Example: 1 The receipt ID |
sessionId required | string The session ID |
The modifier to apply
boolean | boolean A boolean property value |
date | string <date-time> A date property value |
decimal | number A decimal parameter value |
integer | integer <int32> An integer property value |
long | integer <int64> A numeric long property value |
name | string A custom parameter name. |
source | string (InputSource) Default: "AUTO" Enum: "AUTO" "MANUAL" "PROVIDED" "SELECTED" Enumeration of potential input sources.
|
text | string A text property value |
type | string Enum: "QUANTITY" "WEIGHT" "VOLUME" "AREA" "LENGTH" "PRICE" "AMOUNT" "CUSTOMER_AGE" "KNOWN_CUSTOMER_AGE" "TARE_ID" "ENTITY_ID" "INPUT" A pre-defined parameter type.
|
{ }
{- "empty": true,
- "prompt": {
- "attendable": false,
- "cancelAllowed": true,
- "code": "item.control.flag.message",
- "choices": [
- {
- "value": "Ok",
- "label": "Ok"
}
], - "defaultValue": "",
- "inputAllowed": false,
- "message": "Microwave oven (998): Please check inside the owen for hidden items.",
- "severity": "INFO",
- "title": "Control Item",
- "type": "MESSAGE"
}, - "receipt": {
- "delta": false,
- "endTime": "2019-08-24T14:15:22Z",
- "entities": [
- {
- "coupon": {
- "couponId": "string",
- "description": "string",
- "electronic": false,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "quantity": {
- "unitOfMeasure": "EA",
- "value": 1
}
}, - "createdTime": "2019-08-24T14:15:22Z",
- "extension": {
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "id": 11,
- "input": true,
- "insertAfter": 11,
- "invalidated": false,
- "layout": {
- "type": "DSL",
- "rows": [
- {
- "cells": [
- {
- "align": "LEFT",
- "color": "0x000000",
- "text": "string",
- "truncate": "SUFFIX",
- "type": "TEXT",
- "width": 70
}
], - "fontSize": "SMALL",
- "fontStyle": "BOLD"
}
]
}, - "loyalty": {
- "accountNumber": "string",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "modifiedTime": "2019-08-24T14:15:22Z",
- "promotion": {
- "accountableDiscount": 0.98,
- "discount": 0.98,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "id": "string",
- "name": "string",
- "percentageValue": 20,
- "rewardType": "string"
}, - "rescan": {
- "bookingId": "string",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "success": true
}, - "saleItem": {
- "actualUnitPrice": 50,
- "depositInfo": {
- "depositAmount": 2,
- "depositExtendedAmount": 2,
- "depositQuantity": {
- "unitOfMeasure": "EA",
- "value": 1
}, - "depositRuleId": "string",
- "depositTaxGroupId": "string"
}, - "extendedAmount": 50,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "linkedItems": [
- {
- "actualUnitPrice": 18.9,
- "name": "string",
- "originalPOSIdentity": "123456789012"
}
], - "name": "Denim Jacket",
- "originalPOSIdentity": "123456789012",
- "postponedValidations": [
- {
- "level": 18,
- "validationType": "AGE"
}
], - "quantity": {
- "unitOfMeasure": "EA",
- "value": 1
}, - "saleItemPromotions": [
- {
- "accountableDiscount": 0.98,
- "discount": 0.98,
- "id": "string",
- "name": "string",
- "percentageValue": 20,
- "rewardType": "string"
}
], - "taxGroups": [
- {
- "amount": 10.98,
- "id": "string"
}
], - "weightValidationRule": "NORMAL"
}, - "tender": {
- "accountNumber": "string",
- "amount": 22.5,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "name": "Cash",
- "referenceNumber": "string"
}, - "type": "SALE_ITEM"
}
], - "exitGate": {
- "barcode": "44001020001880129206",
- "codeType": "QR_CODE",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "id": 100,
- "itemCount": 3,
- "rescanData": {
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "fullRescanPerformed": false,
- "partialRescan": true,
- "rescanCount": 0,
- "rescanDeclined": false,
- "selfscanAborted": false
}, - "selectedEntity": 11,
- "startTime": "2019-08-24T14:15:22Z",
- "status": "ACTIVE",
- "totals": {
- "amountDue": 20.52,
- "changeDue": 0,
- "discountAmount": 1.5,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "extraBonusAmount": 0,
- "orderAmount": 20.52,
- "roundedAmountDue": 21,
- "taxGroups": [
- {
- "amount": 10.98,
- "id": "string"
}
], - "taxableAmount": 16.42
}, - "transactionId": "string"
}
}
Void an existing entity. If quantity
isn't specified and the entity
has a quantity different from one unit, the Transaction Engine will most
likely prompt for the quantity to void.
entityId required | integer <int64> Example: 11 The ID of the entity to void |
receiptId required | integer <int64> Example: 1 The receipt ID |
sessionId required | string The session ID |
quantity | number Example: quantity=1 The optional quantity |
{- "empty": true,
- "prompt": {
- "attendable": false,
- "cancelAllowed": true,
- "code": "item.control.flag.message",
- "choices": [
- {
- "value": "Ok",
- "label": "Ok"
}
], - "defaultValue": "",
- "inputAllowed": false,
- "message": "Microwave oven (998): Please check inside the owen for hidden items.",
- "severity": "INFO",
- "title": "Control Item",
- "type": "MESSAGE"
}, - "receipt": {
- "delta": false,
- "endTime": "2019-08-24T14:15:22Z",
- "entities": [
- {
- "coupon": {
- "couponId": "string",
- "description": "string",
- "electronic": false,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "quantity": {
- "unitOfMeasure": "EA",
- "value": 1
}
}, - "createdTime": "2019-08-24T14:15:22Z",
- "extension": {
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "id": 11,
- "input": true,
- "insertAfter": 11,
- "invalidated": false,
- "layout": {
- "type": "DSL",
- "rows": [
- {
- "cells": [
- {
- "align": "LEFT",
- "color": "0x000000",
- "text": "string",
- "truncate": "SUFFIX",
- "type": "TEXT",
- "width": 70
}
], - "fontSize": "SMALL",
- "fontStyle": "BOLD"
}
]
}, - "loyalty": {
- "accountNumber": "string",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "modifiedTime": "2019-08-24T14:15:22Z",
- "promotion": {
- "accountableDiscount": 0.98,
- "discount": 0.98,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "id": "string",
- "name": "string",
- "percentageValue": 20,
- "rewardType": "string"
}, - "rescan": {
- "bookingId": "string",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "success": true
}, - "saleItem": {
- "actualUnitPrice": 50,
- "depositInfo": {
- "depositAmount": 2,
- "depositExtendedAmount": 2,
- "depositQuantity": {
- "unitOfMeasure": "EA",
- "value": 1
}, - "depositRuleId": "string",
- "depositTaxGroupId": "string"
}, - "extendedAmount": 50,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "linkedItems": [
- {
- "actualUnitPrice": 18.9,
- "name": "string",
- "originalPOSIdentity": "123456789012"
}
], - "name": "Denim Jacket",
- "originalPOSIdentity": "123456789012",
- "postponedValidations": [
- {
- "level": 18,
- "validationType": "AGE"
}
], - "quantity": {
- "unitOfMeasure": "EA",
- "value": 1
}, - "saleItemPromotions": [
- {
- "accountableDiscount": 0.98,
- "discount": 0.98,
- "id": "string",
- "name": "string",
- "percentageValue": 20,
- "rewardType": "string"
}
], - "taxGroups": [
- {
- "amount": 10.98,
- "id": "string"
}
], - "weightValidationRule": "NORMAL"
}, - "tender": {
- "accountNumber": "string",
- "amount": 22.5,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "name": "Cash",
- "referenceNumber": "string"
}, - "type": "SALE_ITEM"
}
], - "exitGate": {
- "barcode": "44001020001880129206",
- "codeType": "QR_CODE",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "id": 100,
- "itemCount": 3,
- "rescanData": {
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "fullRescanPerformed": false,
- "partialRescan": true,
- "rescanCount": 0,
- "rescanDeclined": false,
- "selfscanAborted": false
}, - "selectedEntity": 11,
- "startTime": "2019-08-24T14:15:22Z",
- "status": "ACTIVE",
- "totals": {
- "amountDue": 20.52,
- "changeDue": 0,
- "discountAmount": 1.5,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "extraBonusAmount": 0,
- "orderAmount": 20.52,
- "roundedAmountDue": 21,
- "taxGroups": [
- {
- "amount": 10.98,
- "id": "string"
}
], - "taxableAmount": 16.42
}, - "transactionId": "string"
}
}
Execute a named command with optional input parameters. The recommended way to determine the command name to execute is to select a command from the MenuTree.
commandName required | string The name of the command to execute |
sessionId required | string The session ID |
Optional command parameters
Array of objects (PosParameter) The input parameters list |
{ }
{- "empty": true,
- "prompt": {
- "attendable": false,
- "cancelAllowed": true,
- "code": "item.control.flag.message",
- "choices": [
- {
- "value": "Ok",
- "label": "Ok"
}
], - "defaultValue": "",
- "inputAllowed": false,
- "message": "Microwave oven (998): Please check inside the owen for hidden items.",
- "severity": "INFO",
- "title": "Control Item",
- "type": "MESSAGE"
}, - "receipt": {
- "delta": false,
- "endTime": "2019-08-24T14:15:22Z",
- "entities": [
- {
- "coupon": {
- "couponId": "string",
- "description": "string",
- "electronic": false,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "quantity": {
- "unitOfMeasure": "EA",
- "value": 1
}
}, - "createdTime": "2019-08-24T14:15:22Z",
- "extension": {
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "id": 11,
- "input": true,
- "insertAfter": 11,
- "invalidated": false,
- "layout": {
- "type": "DSL",
- "rows": [
- {
- "cells": [
- {
- "align": "LEFT",
- "color": "0x000000",
- "text": "string",
- "truncate": "SUFFIX",
- "type": "TEXT",
- "width": 70
}
], - "fontSize": "SMALL",
- "fontStyle": "BOLD"
}
]
}, - "loyalty": {
- "accountNumber": "string",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "modifiedTime": "2019-08-24T14:15:22Z",
- "promotion": {
- "accountableDiscount": 0.98,
- "discount": 0.98,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "id": "string",
- "name": "string",
- "percentageValue": 20,
- "rewardType": "string"
}, - "rescan": {
- "bookingId": "string",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "success": true
}, - "saleItem": {
- "actualUnitPrice": 50,
- "depositInfo": {
- "depositAmount": 2,
- "depositExtendedAmount": 2,
- "depositQuantity": {
- "unitOfMeasure": "EA",
- "value": 1
}, - "depositRuleId": "string",
- "depositTaxGroupId": "string"
}, - "extendedAmount": 50,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "linkedItems": [
- {
- "actualUnitPrice": 18.9,
- "name": "string",
- "originalPOSIdentity": "123456789012"
}
], - "name": "Denim Jacket",
- "originalPOSIdentity": "123456789012",
- "postponedValidations": [
- {
- "level": 18,
- "validationType": "AGE"
}
], - "quantity": {
- "unitOfMeasure": "EA",
- "value": 1
}, - "saleItemPromotions": [
- {
- "accountableDiscount": 0.98,
- "discount": 0.98,
- "id": "string",
- "name": "string",
- "percentageValue": 20,
- "rewardType": "string"
}
], - "taxGroups": [
- {
- "amount": 10.98,
- "id": "string"
}
], - "weightValidationRule": "NORMAL"
}, - "tender": {
- "accountNumber": "string",
- "amount": 22.5,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "name": "Cash",
- "referenceNumber": "string"
}, - "type": "SALE_ITEM"
}
], - "exitGate": {
- "barcode": "44001020001880129206",
- "codeType": "QR_CODE",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "id": 100,
- "itemCount": 3,
- "rescanData": {
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "fullRescanPerformed": false,
- "partialRescan": true,
- "rescanCount": 0,
- "rescanDeclined": false,
- "selfscanAborted": false
}, - "selectedEntity": 11,
- "startTime": "2019-08-24T14:15:22Z",
- "status": "ACTIVE",
- "totals": {
- "amountDue": 20.52,
- "changeDue": 0,
- "discountAmount": 1.5,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "extraBonusAmount": 0,
- "orderAmount": 20.52,
- "roundedAmountDue": 21,
- "taxGroups": [
- {
- "amount": 10.98,
- "id": "string"
}
], - "taxableAmount": 16.42
}, - "transactionId": "string"
}
}
Execute a named command on an existing transaction with optional input parameters. The recommended way to determine the command name to execute is to select a command from the MenuTree.
commandName required | string The name of the command to execute |
receiptId required | integer <int64> Example: 1 The receipt ID |
sessionId required | string The session ID |
Optional Command parameters
Array of objects (PosParameter) The input parameters list |
{ }
{- "empty": true,
- "prompt": {
- "attendable": false,
- "cancelAllowed": true,
- "code": "item.control.flag.message",
- "choices": [
- {
- "value": "Ok",
- "label": "Ok"
}
], - "defaultValue": "",
- "inputAllowed": false,
- "message": "Microwave oven (998): Please check inside the owen for hidden items.",
- "severity": "INFO",
- "title": "Control Item",
- "type": "MESSAGE"
}, - "receipt": {
- "delta": false,
- "endTime": "2019-08-24T14:15:22Z",
- "entities": [
- {
- "coupon": {
- "couponId": "string",
- "description": "string",
- "electronic": false,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "quantity": {
- "unitOfMeasure": "EA",
- "value": 1
}
}, - "createdTime": "2019-08-24T14:15:22Z",
- "extension": {
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "id": 11,
- "input": true,
- "insertAfter": 11,
- "invalidated": false,
- "layout": {
- "type": "DSL",
- "rows": [
- {
- "cells": [
- {
- "align": "LEFT",
- "color": "0x000000",
- "text": "string",
- "truncate": "SUFFIX",
- "type": "TEXT",
- "width": 70
}
], - "fontSize": "SMALL",
- "fontStyle": "BOLD"
}
]
}, - "loyalty": {
- "accountNumber": "string",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "modifiedTime": "2019-08-24T14:15:22Z",
- "promotion": {
- "accountableDiscount": 0.98,
- "discount": 0.98,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "id": "string",
- "name": "string",
- "percentageValue": 20,
- "rewardType": "string"
}, - "rescan": {
- "bookingId": "string",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "success": true
}, - "saleItem": {
- "actualUnitPrice": 50,
- "depositInfo": {
- "depositAmount": 2,
- "depositExtendedAmount": 2,
- "depositQuantity": {
- "unitOfMeasure": "EA",
- "value": 1
}, - "depositRuleId": "string",
- "depositTaxGroupId": "string"
}, - "extendedAmount": 50,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "linkedItems": [
- {
- "actualUnitPrice": 18.9,
- "name": "string",
- "originalPOSIdentity": "123456789012"
}
], - "name": "Denim Jacket",
- "originalPOSIdentity": "123456789012",
- "postponedValidations": [
- {
- "level": 18,
- "validationType": "AGE"
}
], - "quantity": {
- "unitOfMeasure": "EA",
- "value": 1
}, - "saleItemPromotions": [
- {
- "accountableDiscount": 0.98,
- "discount": 0.98,
- "id": "string",
- "name": "string",
- "percentageValue": 20,
- "rewardType": "string"
}
], - "taxGroups": [
- {
- "amount": 10.98,
- "id": "string"
}
], - "weightValidationRule": "NORMAL"
}, - "tender": {
- "accountNumber": "string",
- "amount": 22.5,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "name": "Cash",
- "referenceNumber": "string"
}, - "type": "SALE_ITEM"
}
], - "exitGate": {
- "barcode": "44001020001880129206",
- "codeType": "QR_CODE",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "id": 100,
- "itemCount": 3,
- "rescanData": {
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "fullRescanPerformed": false,
- "partialRescan": true,
- "rescanCount": 0,
- "rescanDeclined": false,
- "selfscanAborted": false
}, - "selectedEntity": 11,
- "startTime": "2019-08-24T14:15:22Z",
- "status": "ACTIVE",
- "totals": {
- "amountDue": 20.52,
- "changeDue": 0,
- "discountAmount": 1.5,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "extraBonusAmount": 0,
- "orderAmount": 20.52,
- "roundedAmountDue": 21,
- "taxGroups": [
- {
- "amount": 10.98,
- "id": "string"
}
], - "taxableAmount": 16.42
}, - "transactionId": "string"
}
}
Use to poll for any changes that has occured in the background.
If the client subscribes to its session event stream it should invoke this
operation when a pollRequest
event is received
sessionId required | string The session ID |
Empty request body
{- "empty": true,
- "prompt": {
- "attendable": false,
- "cancelAllowed": true,
- "code": "item.control.flag.message",
- "choices": [
- {
- "value": "Ok",
- "label": "Ok"
}
], - "defaultValue": "",
- "inputAllowed": false,
- "message": "Microwave oven (998): Please check inside the owen for hidden items.",
- "severity": "INFO",
- "title": "Control Item",
- "type": "MESSAGE"
}, - "receipt": {
- "delta": false,
- "endTime": "2019-08-24T14:15:22Z",
- "entities": [
- {
- "coupon": {
- "couponId": "string",
- "description": "string",
- "electronic": false,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "quantity": {
- "unitOfMeasure": "EA",
- "value": 1
}
}, - "createdTime": "2019-08-24T14:15:22Z",
- "extension": {
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "id": 11,
- "input": true,
- "insertAfter": 11,
- "invalidated": false,
- "layout": {
- "type": "DSL",
- "rows": [
- {
- "cells": [
- {
- "align": "LEFT",
- "color": "0x000000",
- "text": "string",
- "truncate": "SUFFIX",
- "type": "TEXT",
- "width": 70
}
], - "fontSize": "SMALL",
- "fontStyle": "BOLD"
}
]
}, - "loyalty": {
- "accountNumber": "string",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "modifiedTime": "2019-08-24T14:15:22Z",
- "promotion": {
- "accountableDiscount": 0.98,
- "discount": 0.98,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "id": "string",
- "name": "string",
- "percentageValue": 20,
- "rewardType": "string"
}, - "rescan": {
- "bookingId": "string",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "success": true
}, - "saleItem": {
- "actualUnitPrice": 50,
- "depositInfo": {
- "depositAmount": 2,
- "depositExtendedAmount": 2,
- "depositQuantity": {
- "unitOfMeasure": "EA",
- "value": 1
}, - "depositRuleId": "string",
- "depositTaxGroupId": "string"
}, - "extendedAmount": 50,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "linkedItems": [
- {
- "actualUnitPrice": 18.9,
- "name": "string",
- "originalPOSIdentity": "123456789012"
}
], - "name": "Denim Jacket",
- "originalPOSIdentity": "123456789012",
- "postponedValidations": [
- {
- "level": 18,
- "validationType": "AGE"
}
], - "quantity": {
- "unitOfMeasure": "EA",
- "value": 1
}, - "saleItemPromotions": [
- {
- "accountableDiscount": 0.98,
- "discount": 0.98,
- "id": "string",
- "name": "string",
- "percentageValue": 20,
- "rewardType": "string"
}
], - "taxGroups": [
- {
- "amount": 10.98,
- "id": "string"
}
], - "weightValidationRule": "NORMAL"
}, - "tender": {
- "accountNumber": "string",
- "amount": 22.5,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "name": "Cash",
- "referenceNumber": "string"
}, - "type": "SALE_ITEM"
}
], - "exitGate": {
- "barcode": "44001020001880129206",
- "codeType": "QR_CODE",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "id": 100,
- "itemCount": 3,
- "rescanData": {
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "fullRescanPerformed": false,
- "partialRescan": true,
- "rescanCount": 0,
- "rescanDeclined": false,
- "selfscanAborted": false
}, - "selectedEntity": 11,
- "startTime": "2019-08-24T14:15:22Z",
- "status": "ACTIVE",
- "totals": {
- "amountDue": 20.52,
- "changeDue": 0,
- "discountAmount": 1.5,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "extraBonusAmount": 0,
- "orderAmount": 20.52,
- "roundedAmountDue": 21,
- "taxGroups": [
- {
- "amount": 10.98,
- "id": "string"
}
], - "taxableAmount": 16.42
}, - "transactionId": "string"
}
}
Print a receipt text on a printer connected to the Transaction Engine. If no printer exists, this method may still have modified the session state, for example by creating a control transaction or by adding elements to the ongoing transaction.
sessionId required | string The session ID |
The text to print
source required | string Enum: "EFT" "UNKNOWN" The print text source |
text | string The text to print, use new line separators to produce multi-line output |
{- "source": "EFT"
}
{- "empty": true,
- "prompt": {
- "attendable": false,
- "cancelAllowed": true,
- "code": "item.control.flag.message",
- "choices": [
- {
- "value": "Ok",
- "label": "Ok"
}
], - "defaultValue": "",
- "inputAllowed": false,
- "message": "Microwave oven (998): Please check inside the owen for hidden items.",
- "severity": "INFO",
- "title": "Control Item",
- "type": "MESSAGE"
}, - "receipt": {
- "delta": false,
- "endTime": "2019-08-24T14:15:22Z",
- "entities": [
- {
- "coupon": {
- "couponId": "string",
- "description": "string",
- "electronic": false,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "quantity": {
- "unitOfMeasure": "EA",
- "value": 1
}
}, - "createdTime": "2019-08-24T14:15:22Z",
- "extension": {
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "id": 11,
- "input": true,
- "insertAfter": 11,
- "invalidated": false,
- "layout": {
- "type": "DSL",
- "rows": [
- {
- "cells": [
- {
- "align": "LEFT",
- "color": "0x000000",
- "text": "string",
- "truncate": "SUFFIX",
- "type": "TEXT",
- "width": 70
}
], - "fontSize": "SMALL",
- "fontStyle": "BOLD"
}
]
}, - "loyalty": {
- "accountNumber": "string",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "modifiedTime": "2019-08-24T14:15:22Z",
- "promotion": {
- "accountableDiscount": 0.98,
- "discount": 0.98,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "id": "string",
- "name": "string",
- "percentageValue": 20,
- "rewardType": "string"
}, - "rescan": {
- "bookingId": "string",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "success": true
}, - "saleItem": {
- "actualUnitPrice": 50,
- "depositInfo": {
- "depositAmount": 2,
- "depositExtendedAmount": 2,
- "depositQuantity": {
- "unitOfMeasure": "EA",
- "value": 1
}, - "depositRuleId": "string",
- "depositTaxGroupId": "string"
}, - "extendedAmount": 50,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "linkedItems": [
- {
- "actualUnitPrice": 18.9,
- "name": "string",
- "originalPOSIdentity": "123456789012"
}
], - "name": "Denim Jacket",
- "originalPOSIdentity": "123456789012",
- "postponedValidations": [
- {
- "level": 18,
- "validationType": "AGE"
}
], - "quantity": {
- "unitOfMeasure": "EA",
- "value": 1
}, - "saleItemPromotions": [
- {
- "accountableDiscount": 0.98,
- "discount": 0.98,
- "id": "string",
- "name": "string",
- "percentageValue": 20,
- "rewardType": "string"
}
], - "taxGroups": [
- {
- "amount": 10.98,
- "id": "string"
}
], - "weightValidationRule": "NORMAL"
}, - "tender": {
- "accountNumber": "string",
- "amount": 22.5,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "name": "Cash",
- "referenceNumber": "string"
}, - "type": "SALE_ITEM"
}
], - "exitGate": {
- "barcode": "44001020001880129206",
- "codeType": "QR_CODE",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "id": 100,
- "itemCount": 3,
- "rescanData": {
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "fullRescanPerformed": false,
- "partialRescan": true,
- "rescanCount": 0,
- "rescanDeclined": false,
- "selfscanAborted": false
}, - "selectedEntity": 11,
- "startTime": "2019-08-24T14:15:22Z",
- "status": "ACTIVE",
- "totals": {
- "amountDue": 20.52,
- "changeDue": 0,
- "discountAmount": 1.5,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "extraBonusAmount": 0,
- "orderAmount": 20.52,
- "roundedAmountDue": 21,
- "taxGroups": [
- {
- "amount": 10.98,
- "id": "string"
}
], - "taxableAmount": 16.42
}, - "transactionId": "string"
}
}
This is the recommended method to produce a printable receipt when the client controls the printer.
sessionId required | string The session ID |
format | string Default: "TEXT" Enum: "HTML" "HTML5" "JAVAPOS" "TEXT" The receipt image format |
widthBudget | integer <int32> Default: -1 Example: widthBudget=-1 The printer width budget |
The text to print
source required | string Enum: "EFT" "UNKNOWN" The print text source |
text | string The text to print, use new line separators to produce multi-line output |
{- "source": "EFT"
}
{- "format": "TEXT",
- "id": 123,
- "personalData": {
- "subjectIds": [
- "string"
]
}, - "receipts": [
- "string"
], - "status": "ACTIVE"
}
sessionId required | string The session ID |
The rescan entity input
partialRescan required | boolean Flag denoting if this is a partial rescan |
Array of objects (RescanItem) List of rescanned items (scanned by the cashier) | |
Array of objects (RescanItem) List of self-scanned items (scanned by the customer) |
{- "partialRescan": false
}
{- "differences": [
- {
- "difference": 0,
- "name": "string",
- "originalPOSIdentity": "123456789012",
- "unitPrice": 0
}
], - "success": true
}
sessionId required | string The session ID |
The resume request
transactionId | string The ID of the transaction to resume |
{ }
{- "empty": true,
- "prompt": {
- "attendable": false,
- "cancelAllowed": true,
- "code": "item.control.flag.message",
- "choices": [
- {
- "value": "Ok",
- "label": "Ok"
}
], - "defaultValue": "",
- "inputAllowed": false,
- "message": "Microwave oven (998): Please check inside the owen for hidden items.",
- "severity": "INFO",
- "title": "Control Item",
- "type": "MESSAGE"
}, - "receipt": {
- "delta": false,
- "endTime": "2019-08-24T14:15:22Z",
- "entities": [
- {
- "coupon": {
- "couponId": "string",
- "description": "string",
- "electronic": false,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "quantity": {
- "unitOfMeasure": "EA",
- "value": 1
}
}, - "createdTime": "2019-08-24T14:15:22Z",
- "extension": {
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "id": 11,
- "input": true,
- "insertAfter": 11,
- "invalidated": false,
- "layout": {
- "type": "DSL",
- "rows": [
- {
- "cells": [
- {
- "align": "LEFT",
- "color": "0x000000",
- "text": "string",
- "truncate": "SUFFIX",
- "type": "TEXT",
- "width": 70
}
], - "fontSize": "SMALL",
- "fontStyle": "BOLD"
}
]
}, - "loyalty": {
- "accountNumber": "string",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "modifiedTime": "2019-08-24T14:15:22Z",
- "promotion": {
- "accountableDiscount": 0.98,
- "discount": 0.98,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "id": "string",
- "name": "string",
- "percentageValue": 20,
- "rewardType": "string"
}, - "rescan": {
- "bookingId": "string",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "success": true
}, - "saleItem": {
- "actualUnitPrice": 50,
- "depositInfo": {
- "depositAmount": 2,
- "depositExtendedAmount": 2,
- "depositQuantity": {
- "unitOfMeasure": "EA",
- "value": 1
}, - "depositRuleId": "string",
- "depositTaxGroupId": "string"
}, - "extendedAmount": 50,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "linkedItems": [
- {
- "actualUnitPrice": 18.9,
- "name": "string",
- "originalPOSIdentity": "123456789012"
}
], - "name": "Denim Jacket",
- "originalPOSIdentity": "123456789012",
- "postponedValidations": [
- {
- "level": 18,
- "validationType": "AGE"
}
], - "quantity": {
- "unitOfMeasure": "EA",
- "value": 1
}, - "saleItemPromotions": [
- {
- "accountableDiscount": 0.98,
- "discount": 0.98,
- "id": "string",
- "name": "string",
- "percentageValue": 20,
- "rewardType": "string"
}
], - "taxGroups": [
- {
- "amount": 10.98,
- "id": "string"
}
], - "weightValidationRule": "NORMAL"
}, - "tender": {
- "accountNumber": "string",
- "amount": 22.5,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "name": "Cash",
- "referenceNumber": "string"
}, - "type": "SALE_ITEM"
}
], - "exitGate": {
- "barcode": "44001020001880129206",
- "codeType": "QR_CODE",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "id": 100,
- "itemCount": 3,
- "rescanData": {
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "fullRescanPerformed": false,
- "partialRescan": true,
- "rescanCount": 0,
- "rescanDeclined": false,
- "selfscanAborted": false
}, - "selectedEntity": 11,
- "startTime": "2019-08-24T14:15:22Z",
- "status": "ACTIVE",
- "totals": {
- "amountDue": 20.52,
- "changeDue": 0,
- "discountAmount": 1.5,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "extraBonusAmount": 0,
- "orderAmount": 20.52,
- "roundedAmountDue": 21,
- "taxGroups": [
- {
- "amount": 10.98,
- "id": "string"
}
], - "taxableAmount": 16.42
}, - "transactionId": "string"
}
}
sessionId required | string The session ID |
{- "attendable": false,
- "cancelAllowed": true,
- "code": "item.control.flag.message",
- "choices": [
- {
- "value": "Ok",
- "label": "Ok"
}
], - "defaultValue": "",
- "inputAllowed": false,
- "message": "Microwave oven (998): Please check inside the owen for hidden items.",
- "severity": "INFO",
- "title": "Control Item",
- "type": "MESSAGE"
}
Submit a prompt response to a pending prompt request. The response must match the prompt code of the pending prompt.
sessionId required | string The session ID |
The prompt response
object (AttendantResponseEvent) | |
cancelled | boolean Flag to cancel the prompt. If set, the prompt should be cancelled. This means that the operator backed out of the use case. |
closedFromServer | boolean Flag to be used when the prompt was closed from a |
code required | string The code of the prompt request |
object (Input) Representation of input sent to the system. |
{- "code": "string"
}
{- "empty": true,
- "prompt": {
- "attendable": false,
- "cancelAllowed": true,
- "code": "item.control.flag.message",
- "choices": [
- {
- "value": "Ok",
- "label": "Ok"
}
], - "defaultValue": "",
- "inputAllowed": false,
- "message": "Microwave oven (998): Please check inside the owen for hidden items.",
- "severity": "INFO",
- "title": "Control Item",
- "type": "MESSAGE"
}, - "receipt": {
- "delta": false,
- "endTime": "2019-08-24T14:15:22Z",
- "entities": [
- {
- "coupon": {
- "couponId": "string",
- "description": "string",
- "electronic": false,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "quantity": {
- "unitOfMeasure": "EA",
- "value": 1
}
}, - "createdTime": "2019-08-24T14:15:22Z",
- "extension": {
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "id": 11,
- "input": true,
- "insertAfter": 11,
- "invalidated": false,
- "layout": {
- "type": "DSL",
- "rows": [
- {
- "cells": [
- {
- "align": "LEFT",
- "color": "0x000000",
- "text": "string",
- "truncate": "SUFFIX",
- "type": "TEXT",
- "width": 70
}
], - "fontSize": "SMALL",
- "fontStyle": "BOLD"
}
]
}, - "loyalty": {
- "accountNumber": "string",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "modifiedTime": "2019-08-24T14:15:22Z",
- "promotion": {
- "accountableDiscount": 0.98,
- "discount": 0.98,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "id": "string",
- "name": "string",
- "percentageValue": 20,
- "rewardType": "string"
}, - "rescan": {
- "bookingId": "string",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "success": true
}, - "saleItem": {
- "actualUnitPrice": 50,
- "depositInfo": {
- "depositAmount": 2,
- "depositExtendedAmount": 2,
- "depositQuantity": {
- "unitOfMeasure": "EA",
- "value": 1
}, - "depositRuleId": "string",
- "depositTaxGroupId": "string"
}, - "extendedAmount": 50,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "linkedItems": [
- {
- "actualUnitPrice": 18.9,
- "name": "string",
- "originalPOSIdentity": "123456789012"
}
], - "name": "Denim Jacket",
- "originalPOSIdentity": "123456789012",
- "postponedValidations": [
- {
- "level": 18,
- "validationType": "AGE"
}
], - "quantity": {
- "unitOfMeasure": "EA",
- "value": 1
}, - "saleItemPromotions": [
- {
- "accountableDiscount": 0.98,
- "discount": 0.98,
- "id": "string",
- "name": "string",
- "percentageValue": 20,
- "rewardType": "string"
}
], - "taxGroups": [
- {
- "amount": 10.98,
- "id": "string"
}
], - "weightValidationRule": "NORMAL"
}, - "tender": {
- "accountNumber": "string",
- "amount": 22.5,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "name": "Cash",
- "referenceNumber": "string"
}, - "type": "SALE_ITEM"
}
], - "exitGate": {
- "barcode": "44001020001880129206",
- "codeType": "QR_CODE",
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "id": 100,
- "itemCount": 3,
- "rescanData": {
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "fullRescanPerformed": false,
- "partialRescan": true,
- "rescanCount": 0,
- "rescanDeclined": false,
- "selfscanAborted": false
}, - "selectedEntity": 11,
- "startTime": "2019-08-24T14:15:22Z",
- "status": "ACTIVE",
- "totals": {
- "amountDue": 20.52,
- "changeDue": 0,
- "discountAmount": 1.5,
- "extensions": {
- "prop1": "value1",
- "prop2": "value2"
}, - "extraBonusAmount": 0,
- "orderAmount": 20.52,
- "roundedAmountDue": 21,
- "taxGroups": [
- {
- "amount": 10.98,
- "id": "string"
}
], - "taxableAmount": 16.42
}, - "transactionId": "string"
}
}
Open a SSE stream to receive status events. The event stream
can be consumed using an EventSource
. For bearer token support, consider
using a Polyfill such as event-source-polyfill.
sessionId required | string The session ID |
Last-Event-ID | integer <int32> Default: -1 Example: 3 The last event ID received by the client |
Long-poll for status events. The long-polling API can be used instead of SSE for clients that can't support SSE for some reason.
sessionId required | string The session ID |
timeout | integer <int32> Default: 30 Example: timeout=30 The poll timeout in seconds |
Last-Event-ID | integer <int32> Default: -1 Example: 3 The last event ID received by the client |
{- "events": [
- {
- "attendantResponse": {
- "attendantId": "string",
- "response": "string",
- "uuid": "3E6D0E62-A192-41BF-BB49-1E832B906AC3"
}, - "connection": {
- "online": true
}, - "digitalReceipt": {
- "digitalReceiptRequested": true,
- "digitalReceiptSent": true
}, - "extension": {
- "data": {
- "prop1": "value1",
- "prop2": "value2"
}
}, - "logout": {
- "reason": "End of day performed"
}, - "loyaltyCard": {
- "accountNumber": "string",
- "type": "ADD"
}, - "name": "connection",
- "paymentCard": {
- "type": "ADD"
}, - "pendingActions": {
- "numberOfPending": 1
}, - "pollRequest": { },
- "promptChange": {
- "prompt": {
- "attendable": false,
- "cancelAllowed": true,
- "code": "item.control.flag.message",
- "choices": [
- {
- "value": "Ok",
- "label": "Ok"
}
], - "defaultValue": "",
- "inputAllowed": false,
- "message": "Microwave oven (998): Please check inside the owen for hidden items.",
- "severity": "INFO",
- "title": "Control Item",
- "type": "MESSAGE"
}, - "promptCode": "string"
}, - "promptClose": {
- "promptCode": "string"
}, - "suspendedTransaction": {
- "numberOfSuspended": 4
}
}
], - "lastEventId": 21
}
Get input information for any arbitrary input. Use to to determine if a barcode represents
an item and to extract the weight or price embedded in the barcode. If the barcode doesn't
represent an item, isn't a proper barcode or a barcode with illegal contents,
it will be returned as an UNDEFINED
input type.
sessionId required | string The session ID |
input | string Input possibly representing an item, typically a scanned barcode |
If-None-Match | string Allows a 304 Not Modified to be returned if content is unchanged, see ETag |
{- "card": {
- "accountNumber": "string",
- "types": [
- {
- "productName": "string",
- "typeCode": "string",
- "virtual": false
}
]
}, - "data": {
- "embeddedPrice": 22.5,
- "embeddedQuantity": {
- "unitOfMeasure": "EA",
- "value": 1
}, - "orginalPOSIdentity": "123456789012"
}, - "item": {
- "authorizedToStockFlag": true,
- "controlFlag": false,
- "discountFlag": true,
- "extraAttributes": {
- "prop1": "value1",
- "prop2": "value2"
}, - "itemID": "123",
- "markdownFlag": true,
- "maximumSaleUnitCount": 1,
- "minimumSaleUnitCount": 0,
- "name": "Denim Jacket",
- "priceEntryRequiredFlag": false,
- "promotionFlag": true,
- "promotions": [
- {
- "name": "string",
- "promotionId": "string"
}
], - "quantityEntryRequiredFlag": false,
- "quantityKeyProhibitFlag": true,
- "registrationMaximumSaleUnitCount": 0,
- "registrationMinimumSaleUnitCount": 0,
- "saleUnitPrice": 2.25,
- "salesRestrictions": {
- "ageRestriction": {
- "description": "string",
- "minimumCustomerAge": 18,
- "minimumEmployeeAge": 18
}, - "licenseRestriction": {
- "description": "string",
- "level": 0,
- "license": "ALCOHOL"
}, - "salesProhibitions": [
- {
- "endDayOfWeek": 0,
- "endTime": "2019-08-24T14:15:22Z",
- "startDayOfWeek": 0,
- "startTime": "2019-08-24T14:15:22Z"
}
]
}, - "sellingStatus": "ACTIVE",
- "tareEntryRequiredFlag": false,
- "unitOfMeasure": "EA",
- "virtualDCFlag": false,
- "visualVerifyPriceFlag": false,
- "voidAllowedFlag": true,
- "warrantyFlag": false,
- "weightValidationRule": "NORMAL"
}, - "type": "ITEM"
}
sessionId required | string The session ID |
If-None-Match | string Allows a 304 Not Modified to be returned if content is unchanged, see ETag |
{- "types": [
- {
- "class": "CASH",
- "currencyCode": "string",
- "name": "string",
- "type": "CA"
}
]
}
Get the price lookup (PLU) tree for the client. The returned root node contains a tree hierarchy with categories of items. The leaf nodes are items that which can be registered in transaction. Clients should reload the PLU tree between each receipt to find updates. Use cache headers to avoid loading the tree when nothing has changed.
sessionId required | string The session ID |
useFirstBestMatch | boolean Default: false Example: useFirstBestMatch=false If multiple identities exists, only use the first one |
If-None-Match | string Allows a 304 Not Modified to be returned if content is unchanged, see ETag |
{- "choices": [
- {
- "icon": "string",
- "id": 1,
- "name": "string",
- "parentId": 0,
- "posIdentity": "123456789012",
- "saleUnitPrice": 2.25,
- "unitOfMeasure": "EA"
}
]
}
Load a PLU icon. Use the If-Modified-Since
request header to avoid fetching images
already cached at the client.
imageId required | string The PLU icon name, excluding file ending |
If-Modified-Since | string Allows a 304 Not Modified to be returned if content is unchanged |