ticketengine-checkout-sdk
v1.12.3
Published
JavaScript SDK checkout web client for TicketEngine
Downloads
172
Maintainers
Readme
Ticket Engine Checkout SDK
JavaScript SDK checkout web client for TicketEngine. Can be used to create your own shopping cart implementation.
Installation
npm install ticketengine-checkout-sdk
Setup
Create an new instance of the cart.
const options = {};
const cart = new Cart(options);
Cart options
Option | Description :--- | :--- salesChannelId* | Uuid of the sales channel registerId* | Uuid of the register customerId | Uuid of the customer preferredLanguageCode | ISO 639-1 language code clientId | Oauth client id clientSecret | Oauth client secret scope | Oauth requested scopes authUrl | Url of the auth api, production url is default adminApiUrl | Url of the admin api, production url is default graphApiUrl | Url of the graph api, production url is default
- Required options
Usage
Methods
login
cart.login(username, password)
isTokenExpired
cart.isTokenExpired()
Returns true if oauth token is expired
getEvent
cart.getEvent(eventId)
Returns
{
"id": "dfe2243c-a2b6-11eb-bac0-0242ac12001c",
"eventManagerId": "de567e74-a2b6-11eb-b2ec-0242ac12001c",
"name": "My event",
"description": "Lorum ipsum",
"location": "Some place",
"start": "2025-08-06T18:00:00+00:00",
"end": "2025-08-06T20:00:00+00:00",
"totalCapacity": 220,
"availableCapacity": 201
}
getEventPrices
cart.getEventPrices(eventId, customerId, salesChannelId, preferredLanguageCode)
Parameters
Parameter | Description :--- | :--- eventId* | Uuid of the event customerId | Uuid of the customer salesChannelId | Uuid of the sales channel preferredLanguageCode | ISO 639-1 language code
Returns
[
{
"conditionId": "e2d4283e-a2b6-11eb-ab10-0242ac12001c",
"price": 10,
"currency": {
"code": "EUR",
"name": "Euro",
"exponent": 2,
"symbol": "€"
},
"tax": 0.57,
"description": "Regular",
"conditionPath": ["e2d87074-a2b6-11eb-a5fc-0242ac12001c", "e2d77282-a2b6-11eb-a91d-0242ac12001c", "e2d4283e-a2b6-11eb-ab10-0242ac12001c"],
"limit": null,
"accessDefinition": {
"id": "e2b2cf68-a2b6-11eb-b369-0242ac12001c",
"name": "Regular access",
"description": null,
"capacityLocations": ["root.regular"]
}
}
]
getProductDefinition
cart.getProductDefinition(productDefinitionId)
Returns
{
"id": "f5088f54-a2b6-11eb-a791-0242ac12001b",
"name": "My product",
"description": "Lorum ipsum"
}
getProductPrices
cart.getProductPrices(productDefinitionId, customerId, salesChannelId, preferredLanguageCode)
Parameters
Parameter | Description :--- | :--- productDefinitionId* | Uuid of the product definition customerId | Uuid of the customer salesChannelId | Uuid of the sales channel preferredLanguageCode | ISO 639-1 language code
Returns
{
"conditionId": "f51bcc04-a2b6-11eb-b9e3-0242ac12001b",
"price": 50.0,
"currency": {
"code": "EUR",
"name": "Euro",
"exponent": 2,
"symbol": "€"
},
"tax": 0.0,
"description": "",
"conditionPath": ["f522991c-a2b6-11eb-a688-0242ac12001b", "f520f580-a2b6-11eb-b358-0242ac12001b", "f51bcc04-a2b6-11eb-b9e3-0242ac12001b"],
"limit": null,
"productDefinition": {
"id": "f5088f54-a2b6-11eb-a791-0242ac12001b",
"name": "My product",
"description": "Lorum ipsum"
}
}
getCustomer
cart.getCustomer(customerId)
Returns
{
"id": "db20cd40-a2b6-11eb-a0f0-0242ac12001a",
"firstName": "John",
"lastName": "Doe",
"fullName": "John Doe",
"sortName": "Doe, John",
"birthDate": null,
"email": null,
"gender": "male",
"tags": null
}
getOrder
cart.getOrder(orderId, validator, retryPolicy, forceReload)
Parameters
Parameter | Description :--- | :--- orderId* | Uuid of the order validator | Instance of class that implements the OrderValidator interface. See order validators. retryPolicy | Array of values in milliseconds to wait until retry. Continue retry until validator returns true. Value is shifted from array and then wait value amount of milliseconds before next try. forceReload | If set to true force to call the api and not get cached order from localstorage.
Returns
{
"id": "0580948e-a2b8-11eb-ba91-0242ac12001d",
"status": "completed",
"number": "2105D12C2433",
"email": null,
"customer": {
"id": "25f74082-a2b8-11eb-b81b-0242ac12001a",
"fullName": null
},
"paymentStatus": "paid",
"paymentUrl": null,
"payments": [],
"totalPrice": 0,
"totalTax": 0,
"createDate": "2021-04-21T15:41:21+00:00",
"expiresOn": null,
"tokens": [],
"requiredPayments": [],
"requiredLoyaltyCardPayments": [],
"lineItems": [
{
"id": "db416b0c-a2b8-11eb-98a2-0242ac12001d",
"type": "access",
"status": "completed",
"price": 0,
"tax": 0,
"currency": {
"code": "EUR",
"name": "Euro",
"exponent": 2,
"symbol": "€"
},
"limit": 1,
"name": "Regular",
"capacityLocationPath": "venue-1.floor",
"requestedConditionPath": ["348b0d32-a2b7-11eb-806b-0242ac12001c", "348b090e-a2b7-11eb-82b3-0242ac12001c", "348b0170-a2b7-11eb-ac8f-0242ac12001c"],
"accessId": "dc703436-a2b8-11eb-aa4a-0242ac12001c",
"event": {
"id": "dfe2243c-a2b6-11eb-bac0-0242ac12001c",
"eventManagerId": "de567e74-a2b6-11eb-b2ec-0242ac12001c",
"name": "My event",
"location": null,
"start": "2025-08-06T18:00:00+00:00",
"end": "2025-08-06T20:00:00+00:00",
"availableCapacity": 201
}
}
]
}
createOrder
cart.createOrder()
Create a new empty order.
getOrderId
cart.getOrderId()
Returns order id from cache order in localstorage.
cancelOrder
cart.cancelOrder(orderId)
Cancel order. If no orderId is supplied cancel order cached in localstorage.
cancelReservation
cart.cancelReservation(orderId)
Cancel reserved order. If no orderId is supplied cancel order cached in localstorage.
addItems
cart.addItems(items)
Parameters
[
{
"eventManagerId": "de567e74-a2b6-11eb-b2ec-0242ac12001c",
"eventId": "dfe2243c-a2b6-11eb-bac0-0242ac12001c",
"accessDefinitionId": "e2b2cf68-a2b6-11eb-b369-0242ac12001c",
"requestedConditionPath": ["348b0d32-a2b7-11eb-806b-0242ac12001c", "348b090e-a2b7-11eb-82b3-0242ac12001c", "348b0170-a2b7-11eb-ac8f-0242ac12001c"]
},
{
"productDefinitionId": "f5088f54-a2b6-11eb-a791-0242ac12001b",
"requestedConditionPath": ["348b0d32-a2b7-11eb-806b-0242ac12001c", "348b090e-a2b7-11eb-82b3-0242ac12001c", "348b0170-a2b7-11eb-ac8f-0242ac12001c"]
}
]
removeItems
cart.removeItems(items)
Parameters
[
{
"orderLineItemId": "ac088f54-a2b6-11eb-a791-0242ac12001b"
}
]
changeItems
cart.changeItems(addItems, removeItems)
Parameters
Parameter | Description :--- | :--- addItems | see cart.addItems removeItems | see cart.removeItems
getItemCount
cart.getItemCount()
Returns the number of items in cart
addToken
cart.addToken(token)
Add a coupon code to cached order in localstorage.
Parameters
Parameter | Description :--- | :--- token | Coupon code
clearOrder
cart.clearOrder()
Removes cached order from localstorage, does not cancel order.
Order validators
Order validators implement the OrderValidator interface. The validate method returns true if the order is valid.
export interface OrderValidator {
validate(order: Order): Boolean;
}
List validators
- IsCompleted
- IsTimeout
- IsCanceled
- IsPending
- IsCheckedOut
- IsReserved
- IsPaid
- IsEmpty
- IsInFinalState
- IsProcessingPayment
- HasCustomer
- HasToken(token: string)
- HasStatus(status: OrderStatus[])
- HasPaymentWithCurrencyCode(currencyCodes: string[])
- HasItemsWithStatus(status: LineItemStatus[])
- ItemsHaveStatus(orderLineIds: string[], status: LineItemStatus)
- NeedsPaymentWithCurrency(currencyCode: string)
- NeedsPaymentWithIsoCurrency
- NeedsPaymentWithCustomCurrency
- NeedsLoyaltyCardPayment
- CanReserve
- CanCheckout
- CanPay
- CanPayOnline
- ValidateItemsStatus(reservedOrderLineIds: string[], removedOrderLineIds: string[], completedOrderLineIds: string[])