ticketengine-checkout-sdk

JavaScript SDK checkout web client for TicketEngine


Keywords
ticketengine, cart, checkout, client, api
License
ISC
Install
npm install ticketengine-checkout-sdk@1.12.3

Documentation

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[])