@ticketlayer/live 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +198 -0
- package/dist/auto.d.ts +31 -0
- package/dist/auto.d.ts.map +1 -0
- package/dist/auto.js +78 -0
- package/dist/auto.js.map +1 -0
- package/dist/client.d.ts +538 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +495 -0
- package/dist/client.js.map +1 -0
- package/dist/clientHeader.d.ts +4 -0
- package/dist/clientHeader.d.ts.map +1 -0
- package/dist/clientHeader.js +25 -0
- package/dist/clientHeader.js.map +1 -0
- package/dist/core/liveClient.d.ts +176 -0
- package/dist/core/liveClient.d.ts.map +1 -0
- package/dist/core/liveClient.js +372 -0
- package/dist/core/liveClient.js.map +1 -0
- package/dist/createLiveClient.d.ts +49 -0
- package/dist/createLiveClient.d.ts.map +1 -0
- package/dist/createLiveClient.js +91 -0
- package/dist/createLiveClient.js.map +1 -0
- package/dist/elements.d.ts +88 -0
- package/dist/elements.d.ts.map +1 -0
- package/dist/elements.js +165 -0
- package/dist/elements.js.map +1 -0
- package/dist/generated/types.d.ts +6110 -0
- package/dist/generated/types.d.ts.map +1 -0
- package/dist/generated/types.js +6 -0
- package/dist/generated/types.js.map +1 -0
- package/dist/index.d.ts +35 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/native/asyncStorageStorage.d.ts +24 -0
- package/dist/native/asyncStorageStorage.d.ts.map +1 -0
- package/dist/native/asyncStorageStorage.js +24 -0
- package/dist/native/asyncStorageStorage.js.map +1 -0
- package/dist/native/checkoutUrl.d.ts +85 -0
- package/dist/native/checkoutUrl.d.ts.map +1 -0
- package/dist/native/checkoutUrl.js +147 -0
- package/dist/native/checkoutUrl.js.map +1 -0
- package/dist/native/index.d.ts +119 -0
- package/dist/native/index.d.ts.map +1 -0
- package/dist/native/index.js +145 -0
- package/dist/native/index.js.map +1 -0
- package/dist/native/secureStoreStorage.d.ts +33 -0
- package/dist/native/secureStoreStorage.d.ts.map +1 -0
- package/dist/native/secureStoreStorage.js +39 -0
- package/dist/native/secureStoreStorage.js.map +1 -0
- package/dist/native/storage.d.ts +29 -0
- package/dist/native/storage.d.ts.map +1 -0
- package/dist/native/storage.js +24 -0
- package/dist/native/storage.js.map +1 -0
- package/dist/server.d.ts +95 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +188 -0
- package/dist/server.js.map +1 -0
- package/dist/state/buyModal.d.ts +24 -0
- package/dist/state/buyModal.d.ts.map +1 -0
- package/dist/state/buyModal.js +56 -0
- package/dist/state/buyModal.js.map +1 -0
- package/dist/state/checkoutModal.d.ts +26 -0
- package/dist/state/checkoutModal.d.ts.map +1 -0
- package/dist/state/checkoutModal.js +126 -0
- package/dist/state/checkoutModal.js.map +1 -0
- package/dist/state/emitter.d.ts +21 -0
- package/dist/state/emitter.d.ts.map +1 -0
- package/dist/state/emitter.js +26 -0
- package/dist/state/emitter.js.map +1 -0
- package/dist/state/loadElements.d.ts +8 -0
- package/dist/state/loadElements.d.ts.map +1 -0
- package/dist/state/loadElements.js +39 -0
- package/dist/state/loadElements.js.map +1 -0
- package/dist/state/registry.d.ts +39 -0
- package/dist/state/registry.d.ts.map +1 -0
- package/dist/state/registry.js +65 -0
- package/dist/state/registry.js.map +1 -0
- package/dist/state/theme.d.ts +20 -0
- package/dist/state/theme.d.ts.map +1 -0
- package/dist/state/theme.js +47 -0
- package/dist/state/theme.js.map +1 -0
- package/dist/ticketlayer.js +5 -0
- package/dist/ticketlayer.js.map +7 -0
- package/dist/version.d.ts +7 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +7 -0
- package/dist/version.js.map +1 -0
- package/package.json +80 -0
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,538 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GENERATED FILE - do not edit by hand.
|
|
3
|
+
* @ticketlayer/live client generated from the backstage sales surface
|
|
4
|
+
* (spec 1.0.0) + live-api (0.1.0)
|
|
5
|
+
* by backstage-sdk-tooling 0.1.0 on 2026-09-15T01:37:36.041Z.
|
|
6
|
+
* Regenerate with `tt sdk live`.
|
|
7
|
+
*/
|
|
8
|
+
import type { components } from './generated/types';
|
|
9
|
+
type AttachOrderAccessBody = components['schemas']['AttachOrderAccessBody'];
|
|
10
|
+
type CreateSessionBody = components['schemas']['CreateSessionBody'];
|
|
11
|
+
/**
|
|
12
|
+
* The dated API version (TL-Version) this SDK speaks. Stamped at generation
|
|
13
|
+
* time; the Live/sales surface keeps serving this version's behaviour even as
|
|
14
|
+
* the API evolves. See https://docs.ticketlayer.com/api/versions
|
|
15
|
+
*/
|
|
16
|
+
export declare const API_DATED_VERSION = "2026-06-13";
|
|
17
|
+
/**
|
|
18
|
+
* Identifies this SDK build to the API, sent as the TL-Client request header:
|
|
19
|
+
* `ticketlayer-live/<package version> (<runtime>)`. SDK_VERSION comes from
|
|
20
|
+
* src/version.ts, which the package's prebuild writes from package.json so the
|
|
21
|
+
* header always names the version npm published.
|
|
22
|
+
*/
|
|
23
|
+
export declare const SDK_CLIENT_HEADER: string;
|
|
24
|
+
/** Pluggable token storage so the SDK runs in browser, React Native, etc. */
|
|
25
|
+
export interface LiveTokenStorage {
|
|
26
|
+
get(): string | null | Promise<string | null>;
|
|
27
|
+
set(token: string): void | Promise<void>;
|
|
28
|
+
clear(): void | Promise<void>;
|
|
29
|
+
}
|
|
30
|
+
/** In-memory storage (default; embeds/SSR). */
|
|
31
|
+
export declare function memoryTokenStorage(): LiveTokenStorage;
|
|
32
|
+
export interface LiveClientConfig {
|
|
33
|
+
/** Base URL of a Live deployment (or the sales surface directly). */
|
|
34
|
+
baseUrl: string;
|
|
35
|
+
/**
|
|
36
|
+
* Session transport:
|
|
37
|
+
* - 'cookie' (hosted web): the live_session httpOnly cookie travels
|
|
38
|
+
* automatically with credentials: 'include'; no token is held client-side.
|
|
39
|
+
* - 'token' (embeds / React Native / native): the session id is held by the
|
|
40
|
+
* SDK and sent as the X-Live-Session header.
|
|
41
|
+
*/
|
|
42
|
+
sessionMode?: 'cookie' | 'token';
|
|
43
|
+
/** For embeds/native: the channel's publishable key (tlpk_…). */
|
|
44
|
+
publishableKey?: string;
|
|
45
|
+
/** Token storage for 'token' session mode (defaults to in-memory). */
|
|
46
|
+
tokenStorage?: LiveTokenStorage;
|
|
47
|
+
/** Override the dated API version sent as TL-Version. */
|
|
48
|
+
apiVersion?: string;
|
|
49
|
+
/** Extra headers sent on every request (merged under per-call headers). */
|
|
50
|
+
headers?: Record<string, string>;
|
|
51
|
+
}
|
|
52
|
+
export declare class LiveAPIError extends Error {
|
|
53
|
+
readonly code: string;
|
|
54
|
+
readonly status: number;
|
|
55
|
+
constructor(message: string, code: string, status: number);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Generated Live client. Mirrors the sales surface (byte-for-byte views) plus
|
|
59
|
+
* the Live-only /session and /queue operations. Auth is the Live session
|
|
60
|
+
* (cookie on hosted web; X-Live-Session header elsewhere) + the channel
|
|
61
|
+
* publishable key for embeds. Browser ergonomics live in createLiveClient.
|
|
62
|
+
*/
|
|
63
|
+
export declare class LiveClient {
|
|
64
|
+
private baseUrl;
|
|
65
|
+
private sessionMode;
|
|
66
|
+
private publishableKey?;
|
|
67
|
+
private tokenStorage;
|
|
68
|
+
private apiVersion;
|
|
69
|
+
private headers;
|
|
70
|
+
constructor(config: LiveClientConfig);
|
|
71
|
+
/** Store the Live session id (token mode). Called after POST /session. */
|
|
72
|
+
setSessionToken(token: string): Promise<void>;
|
|
73
|
+
/** The current session token (token mode), if any - used for embed handoff. */
|
|
74
|
+
getSessionToken(): Promise<string | null>;
|
|
75
|
+
clearSession(): Promise<void>;
|
|
76
|
+
/**
|
|
77
|
+
* Make a request to the Live deployment. Live serves at the root (no /v1
|
|
78
|
+
* prefix). Injects the publishable key + session header + TL-Version, and
|
|
79
|
+
* unwraps the JSend envelope.
|
|
80
|
+
*/
|
|
81
|
+
private request;
|
|
82
|
+
/**
|
|
83
|
+
* Sales Listings methods
|
|
84
|
+
*/
|
|
85
|
+
salesListings: {
|
|
86
|
+
/**
|
|
87
|
+
* List active listings
|
|
88
|
+
* What is on sale through this channel right now. The channel is resolved from the key, never from a parameter.
|
|
89
|
+
* @operationId listSalesListings
|
|
90
|
+
*/
|
|
91
|
+
list: () => Promise<{
|
|
92
|
+
channel: components["schemas"]["SalesChannelSummary"];
|
|
93
|
+
listings: components["schemas"]["SalesListing"][];
|
|
94
|
+
}>;
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* Sales Customer Auth methods
|
|
98
|
+
*/
|
|
99
|
+
salesCustomerAuth: {
|
|
100
|
+
/**
|
|
101
|
+
* Request magic link
|
|
102
|
+
* Start a magic-link sign-in for a customer. Always reports success - account existence is never revealed.
|
|
103
|
+
* @operationId requestSalesMagicLink
|
|
104
|
+
*/
|
|
105
|
+
magicLink: (request: {
|
|
106
|
+
email?: string;
|
|
107
|
+
phone?: string;
|
|
108
|
+
}) => Promise<boolean>;
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* Sales Customer Tokens methods
|
|
112
|
+
*/
|
|
113
|
+
salesCustomerTokens: {
|
|
114
|
+
/**
|
|
115
|
+
* Exchange identity proof for customer token
|
|
116
|
+
* Exchange an identity proof (magic-link code or partner assertion) for a short-lived customer token bound to this channel. Identity is exchanged, never asserted.
|
|
117
|
+
* @operationId createSalesCustomerToken
|
|
118
|
+
*/
|
|
119
|
+
create: (request: {
|
|
120
|
+
proof: any;
|
|
121
|
+
}) => Promise<{
|
|
122
|
+
customerToken: string;
|
|
123
|
+
expiresIn: number;
|
|
124
|
+
customer: components["schemas"]["SalesCustomer"];
|
|
125
|
+
}>;
|
|
126
|
+
/**
|
|
127
|
+
* Refresh a customer token
|
|
128
|
+
* Re-signs a still-valid customer token (presented via X-Customer-Token) for a fresh 30 minutes, carrying the original 24-hour absolute ceiling forward. Once the ceiling passes the customer must re-authenticate.
|
|
129
|
+
* @operationId refreshSalesCustomerToken
|
|
130
|
+
*/
|
|
131
|
+
refresh: () => Promise<{
|
|
132
|
+
customerToken: string;
|
|
133
|
+
expiresIn: number;
|
|
134
|
+
customer: components["schemas"]["SalesCustomer"];
|
|
135
|
+
}>;
|
|
136
|
+
};
|
|
137
|
+
/**
|
|
138
|
+
* Sales Carts methods
|
|
139
|
+
*/
|
|
140
|
+
salesCarts: {
|
|
141
|
+
/**
|
|
142
|
+
* Create cart
|
|
143
|
+
* Create a cart on this channel. Customer identity comes only from a verified customer token, never from the body.
|
|
144
|
+
* @operationId createSalesCart
|
|
145
|
+
*/
|
|
146
|
+
create: (request: {
|
|
147
|
+
metadata?: Record<string, any>;
|
|
148
|
+
}) => Promise<{
|
|
149
|
+
id: string;
|
|
150
|
+
status: string;
|
|
151
|
+
currency: string | null;
|
|
152
|
+
expiresAt: string;
|
|
153
|
+
orderId: string | null;
|
|
154
|
+
items: components["schemas"]["SalesCartItem"][];
|
|
155
|
+
itemsSubtotal: number;
|
|
156
|
+
}>;
|
|
157
|
+
/**
|
|
158
|
+
* Get cart
|
|
159
|
+
* Get a cart with its items
|
|
160
|
+
* @operationId getSalesCart
|
|
161
|
+
*/
|
|
162
|
+
get: (cartId: string) => Promise<{
|
|
163
|
+
id: string;
|
|
164
|
+
status: string;
|
|
165
|
+
currency: string | null;
|
|
166
|
+
expiresAt: string;
|
|
167
|
+
orderId: string | null;
|
|
168
|
+
items: components["schemas"]["SalesCartItem"][];
|
|
169
|
+
itemsSubtotal: number;
|
|
170
|
+
}>;
|
|
171
|
+
/**
|
|
172
|
+
* Add cart item
|
|
173
|
+
* Add an item to the cart, taking a real inventory reservation with the channel's TTL
|
|
174
|
+
* @operationId addSalesCartItem
|
|
175
|
+
*/
|
|
176
|
+
addItem: (cartId: string, request: {
|
|
177
|
+
eventOccurrenceId: string;
|
|
178
|
+
categoryId: string;
|
|
179
|
+
ticketTypeId: string;
|
|
180
|
+
quantity?: number;
|
|
181
|
+
eventLayoutAreaId?: string;
|
|
182
|
+
eventLayoutSeatIds?: string[];
|
|
183
|
+
}) => Promise<{
|
|
184
|
+
id: string;
|
|
185
|
+
status: string;
|
|
186
|
+
currency: string | null;
|
|
187
|
+
expiresAt: string;
|
|
188
|
+
orderId: string | null;
|
|
189
|
+
items: components["schemas"]["SalesCartItem"][];
|
|
190
|
+
itemsSubtotal: number;
|
|
191
|
+
}>;
|
|
192
|
+
/**
|
|
193
|
+
* Remove cart item
|
|
194
|
+
* Remove an item from the cart, releasing its reservation
|
|
195
|
+
* @operationId removeSalesCartItem
|
|
196
|
+
*/
|
|
197
|
+
removeItem: (cartId: string, itemId: string) => Promise<{
|
|
198
|
+
id: string;
|
|
199
|
+
status: string;
|
|
200
|
+
currency: string | null;
|
|
201
|
+
expiresAt: string;
|
|
202
|
+
orderId: string | null;
|
|
203
|
+
items: components["schemas"]["SalesCartItem"][];
|
|
204
|
+
itemsSubtotal: number;
|
|
205
|
+
}>;
|
|
206
|
+
/**
|
|
207
|
+
* Checkout cart
|
|
208
|
+
* Convert the cart into an order. Returns an order access token for possession-based guest access (confirmation page, payment status polling).
|
|
209
|
+
* @operationId checkoutSalesCart
|
|
210
|
+
*/
|
|
211
|
+
checkout: (cartId: string, request: {
|
|
212
|
+
customerNotes?: string;
|
|
213
|
+
metadata?: Record<string, any>;
|
|
214
|
+
customer?: {
|
|
215
|
+
email: string;
|
|
216
|
+
firstName?: string;
|
|
217
|
+
lastName?: string;
|
|
218
|
+
phone?: string;
|
|
219
|
+
marketingConsent?: boolean;
|
|
220
|
+
};
|
|
221
|
+
}) => Promise<{
|
|
222
|
+
cart: components["schemas"]["SalesCart"];
|
|
223
|
+
order: components["schemas"]["SalesOrder"];
|
|
224
|
+
orderAccessToken: string;
|
|
225
|
+
}>;
|
|
226
|
+
};
|
|
227
|
+
/**
|
|
228
|
+
* Sales My Orders methods
|
|
229
|
+
*/
|
|
230
|
+
salesMyOrders: {
|
|
231
|
+
/**
|
|
232
|
+
* List my orders
|
|
233
|
+
* The verified customer's own orders. Requires a customer token - orders cannot be listed with key or possession credentials alone.
|
|
234
|
+
* @operationId listMySalesOrders
|
|
235
|
+
*/
|
|
236
|
+
list: () => Promise<{
|
|
237
|
+
id: string;
|
|
238
|
+
orderNumber: string;
|
|
239
|
+
status: string;
|
|
240
|
+
paymentStatus: string;
|
|
241
|
+
currency: string;
|
|
242
|
+
items: components["schemas"]["SalesOrderItem"][];
|
|
243
|
+
subtotal: number;
|
|
244
|
+
totalFees: number;
|
|
245
|
+
totalTax: number;
|
|
246
|
+
total: number;
|
|
247
|
+
tickets: components["schemas"]["SalesTicket"][];
|
|
248
|
+
expiresAt: string | null;
|
|
249
|
+
createdAt: string;
|
|
250
|
+
}[]>;
|
|
251
|
+
};
|
|
252
|
+
/**
|
|
253
|
+
* Sales Orders methods
|
|
254
|
+
*/
|
|
255
|
+
salesOrders: {
|
|
256
|
+
/**
|
|
257
|
+
* Get order
|
|
258
|
+
* Get an order on this channel. Access requires a secret key (own channel), an X-Order-Access-Token header (guest possession) or a customer token (own orders).
|
|
259
|
+
* @operationId getSalesOrder
|
|
260
|
+
*/
|
|
261
|
+
get: (orderId: string) => Promise<{
|
|
262
|
+
id: string;
|
|
263
|
+
orderNumber: string;
|
|
264
|
+
status: string;
|
|
265
|
+
paymentStatus: string;
|
|
266
|
+
currency: string;
|
|
267
|
+
items: components["schemas"]["SalesOrderItem"][];
|
|
268
|
+
subtotal: number;
|
|
269
|
+
totalFees: number;
|
|
270
|
+
totalTax: number;
|
|
271
|
+
total: number;
|
|
272
|
+
tickets: components["schemas"]["SalesTicket"][];
|
|
273
|
+
expiresAt: string | null;
|
|
274
|
+
createdAt: string;
|
|
275
|
+
}>;
|
|
276
|
+
/**
|
|
277
|
+
* Download a ticket PDF
|
|
278
|
+
* Render and stream a pass as a PDF ticket (application/pdf) for the holder. Order-access gated. Browsers fetch this directly rather than through the typed SDK.
|
|
279
|
+
* @operationId getSalesOrderTicketPdf
|
|
280
|
+
*/
|
|
281
|
+
ticketPdf: (orderId: string, passId: string) => Promise<any>;
|
|
282
|
+
};
|
|
283
|
+
/**
|
|
284
|
+
* Sales Order Payments methods
|
|
285
|
+
*/
|
|
286
|
+
salesOrderPayments: {
|
|
287
|
+
/**
|
|
288
|
+
* Create order payment
|
|
289
|
+
* Initiate payment for the order's outstanding balance through the channel's payment provider
|
|
290
|
+
* @operationId createSalesOrderPayment
|
|
291
|
+
*/
|
|
292
|
+
create: (orderId: string, request: {
|
|
293
|
+
paymentType?: "online_card" | "online_bank_transfer" | "online_wallet";
|
|
294
|
+
returnUrl?: string;
|
|
295
|
+
}) => Promise<{
|
|
296
|
+
id: string;
|
|
297
|
+
orderId: string;
|
|
298
|
+
status: string;
|
|
299
|
+
paymentType: string;
|
|
300
|
+
amount: number;
|
|
301
|
+
currency: string;
|
|
302
|
+
providerClientSecret: string | null;
|
|
303
|
+
externalPaymentUrl: string | null;
|
|
304
|
+
publishableKey: string | null;
|
|
305
|
+
connectedAccountId: string | null;
|
|
306
|
+
providerType: string | null;
|
|
307
|
+
}>;
|
|
308
|
+
};
|
|
309
|
+
/**
|
|
310
|
+
* Sales Refund Requests methods
|
|
311
|
+
*/
|
|
312
|
+
salesRefundRequests: {
|
|
313
|
+
/**
|
|
314
|
+
* Request refund or exchange
|
|
315
|
+
* File a refund or exchange request for the order within the resolved refund policy. Requester identity is derived from the credential, never from the body.
|
|
316
|
+
* @operationId createSalesOrderRefundRequest
|
|
317
|
+
*/
|
|
318
|
+
create: (orderId: string, request: {
|
|
319
|
+
type: "refund" | "exchange";
|
|
320
|
+
reason?: string;
|
|
321
|
+
}) => Promise<{
|
|
322
|
+
id: string;
|
|
323
|
+
orderId: string;
|
|
324
|
+
type: string;
|
|
325
|
+
status: string;
|
|
326
|
+
reason: string | null;
|
|
327
|
+
createdAt: string;
|
|
328
|
+
}>;
|
|
329
|
+
};
|
|
330
|
+
/**
|
|
331
|
+
* Sales Customers methods
|
|
332
|
+
*/
|
|
333
|
+
salesCustomers: {
|
|
334
|
+
/**
|
|
335
|
+
* Create customer
|
|
336
|
+
* Provenance-scoped channel CRM (secret keys only). Reuses the org's existing record for the email and grants the channel access; there is no list or search.
|
|
337
|
+
* @operationId createSalesCustomer
|
|
338
|
+
*/
|
|
339
|
+
create: (request: {
|
|
340
|
+
email: string;
|
|
341
|
+
firstName?: string;
|
|
342
|
+
lastName?: string;
|
|
343
|
+
phone?: string;
|
|
344
|
+
marketingConsent?: boolean;
|
|
345
|
+
}) => Promise<{
|
|
346
|
+
id: string;
|
|
347
|
+
email: string;
|
|
348
|
+
firstName: string | null;
|
|
349
|
+
lastName: string | null;
|
|
350
|
+
}>;
|
|
351
|
+
/**
|
|
352
|
+
* Get customer
|
|
353
|
+
* Get a customer the channel holds an access grant for (created through it, or who bought through it)
|
|
354
|
+
* @operationId getSalesCustomer
|
|
355
|
+
*/
|
|
356
|
+
get: (customerId: string) => Promise<{
|
|
357
|
+
id: string;
|
|
358
|
+
email: string;
|
|
359
|
+
firstName: string | null;
|
|
360
|
+
lastName: string | null;
|
|
361
|
+
}>;
|
|
362
|
+
/**
|
|
363
|
+
* Update customer
|
|
364
|
+
* Update a customer the channel holds an access grant for. The update surface is deliberately small - email changes go through the org's staff.
|
|
365
|
+
* @operationId updateSalesCustomer
|
|
366
|
+
*/
|
|
367
|
+
update: (customerId: string, request: {
|
|
368
|
+
firstName?: string;
|
|
369
|
+
lastName?: string;
|
|
370
|
+
phone?: string;
|
|
371
|
+
}) => Promise<{
|
|
372
|
+
id: string;
|
|
373
|
+
email: string;
|
|
374
|
+
firstName: string | null;
|
|
375
|
+
lastName: string | null;
|
|
376
|
+
}>;
|
|
377
|
+
};
|
|
378
|
+
/**
|
|
379
|
+
* Sales Presale Codes methods
|
|
380
|
+
*/
|
|
381
|
+
salesPresaleCodes: {
|
|
382
|
+
/**
|
|
383
|
+
* Redeem presale code
|
|
384
|
+
* A verified customer redeems a presale code for its benefit; gated pricing unlocks immediately. Requires a customer token.
|
|
385
|
+
* @operationId redeemSalesPresaleCode
|
|
386
|
+
*/
|
|
387
|
+
redeem: (request: {
|
|
388
|
+
code: string;
|
|
389
|
+
}) => Promise<{
|
|
390
|
+
benefit: string;
|
|
391
|
+
alreadyHeld: boolean;
|
|
392
|
+
}>;
|
|
393
|
+
};
|
|
394
|
+
/**
|
|
395
|
+
* Sales methods
|
|
396
|
+
*/
|
|
397
|
+
sales: {
|
|
398
|
+
/**
|
|
399
|
+
* Resolve a channel by domain
|
|
400
|
+
* Public tenant resolution for hosted surfaces: maps a hostname (the channel's configured subdomain or custom domain) to its channel summary and publishable key. No authentication; rate-limited.
|
|
401
|
+
* @operationId resolveSalesChannel
|
|
402
|
+
*/
|
|
403
|
+
resolveChannel: (options?: {
|
|
404
|
+
domain: string;
|
|
405
|
+
}) => Promise<{
|
|
406
|
+
channel: components["schemas"]["SalesChannelSummary"];
|
|
407
|
+
publishableKey: string | null;
|
|
408
|
+
}>;
|
|
409
|
+
/**
|
|
410
|
+
* Get event catalogue detail
|
|
411
|
+
* Catalogue detail for an event listed on this channel: occurrences with their priced ticket-type offers. Benefit-gated types are included only when the request carries a customer token holding the benefit. Returns 404 if the event is not listed on this channel.
|
|
412
|
+
* @operationId getSalesEvent
|
|
413
|
+
*/
|
|
414
|
+
get: (eventId: string) => Promise<{
|
|
415
|
+
id: string;
|
|
416
|
+
name: string;
|
|
417
|
+
subtitle: string | null;
|
|
418
|
+
description: string | null;
|
|
419
|
+
shortDescription: string | null;
|
|
420
|
+
status: string;
|
|
421
|
+
imageUrl: string | null;
|
|
422
|
+
heroImageUrl: string | null;
|
|
423
|
+
presentation: {
|
|
424
|
+
heroLayout?: {
|
|
425
|
+
type: "hero" | "cinema";
|
|
426
|
+
size: "small" | "medium" | "large";
|
|
427
|
+
};
|
|
428
|
+
cinemaGradient?: {
|
|
429
|
+
strength: 20 | 50 | 70;
|
|
430
|
+
position: "bottom" | "center";
|
|
431
|
+
};
|
|
432
|
+
twoColumnSplit?: [number, number];
|
|
433
|
+
navbar?: {
|
|
434
|
+
transparent?: boolean;
|
|
435
|
+
};
|
|
436
|
+
buttonSize?: "small" | "medium" | "large";
|
|
437
|
+
} | null;
|
|
438
|
+
venueId: string | null;
|
|
439
|
+
venueName: string | null;
|
|
440
|
+
venueCity: string | null;
|
|
441
|
+
priceFrom: number | null;
|
|
442
|
+
currency: string | null;
|
|
443
|
+
timezone: string;
|
|
444
|
+
occurrences: {
|
|
445
|
+
id: string;
|
|
446
|
+
startsAt: string | null;
|
|
447
|
+
endsAt: string | null;
|
|
448
|
+
timezone: string;
|
|
449
|
+
startDate: string;
|
|
450
|
+
startTime: string;
|
|
451
|
+
endDate: string;
|
|
452
|
+
endTime: string;
|
|
453
|
+
status: string;
|
|
454
|
+
ticketTypes: {
|
|
455
|
+
ticketTypeId: string;
|
|
456
|
+
ticketTypeName: string;
|
|
457
|
+
description: string | null;
|
|
458
|
+
categoryId: string;
|
|
459
|
+
categoryName: string;
|
|
460
|
+
unitPrice: number;
|
|
461
|
+
currency: string;
|
|
462
|
+
}[];
|
|
463
|
+
}[];
|
|
464
|
+
}>;
|
|
465
|
+
/**
|
|
466
|
+
* Get channel theme
|
|
467
|
+
* The channel's resolved (inheritance-merged) theme for SSR injection. Returns 404 if the channel has neither its own theme nor an organisation base theme.
|
|
468
|
+
* @operationId getSalesTheme
|
|
469
|
+
*/
|
|
470
|
+
getTheme: () => Promise<{
|
|
471
|
+
id: string;
|
|
472
|
+
name: string;
|
|
473
|
+
brand: {
|
|
474
|
+
[key: string]: unknown;
|
|
475
|
+
};
|
|
476
|
+
colors: {
|
|
477
|
+
[key: string]: unknown;
|
|
478
|
+
};
|
|
479
|
+
typography: {
|
|
480
|
+
[key: string]: unknown;
|
|
481
|
+
};
|
|
482
|
+
shape: {
|
|
483
|
+
[key: string]: unknown;
|
|
484
|
+
};
|
|
485
|
+
design?: {
|
|
486
|
+
[key: string]: unknown;
|
|
487
|
+
} | null;
|
|
488
|
+
}>;
|
|
489
|
+
};
|
|
490
|
+
/**
|
|
491
|
+
* Session methods
|
|
492
|
+
*/
|
|
493
|
+
session: {
|
|
494
|
+
/**
|
|
495
|
+
* Bootstrap a Live session
|
|
496
|
+
* Resolves the channel and mints a session that holds the channel’s publishable key server-side. Hosted callers (channel resolved from the Host header or an explicit `domain`) receive an httpOnly cookie; embed callers (providing a `channelKey`) receive the session id in the body.
|
|
497
|
+
* @operationId createLiveSession
|
|
498
|
+
*/
|
|
499
|
+
start: (request: CreateSessionBody) => Promise<any>;
|
|
500
|
+
/**
|
|
501
|
+
* Get the current session
|
|
502
|
+
* Returns the current session’s customer and cart state.
|
|
503
|
+
* @operationId getLiveSession
|
|
504
|
+
*/
|
|
505
|
+
current: () => Promise<any>;
|
|
506
|
+
/**
|
|
507
|
+
* Destroy the current session
|
|
508
|
+
* Signs out and drops the current session.
|
|
509
|
+
* @operationId deleteLiveSession
|
|
510
|
+
*/
|
|
511
|
+
end: () => Promise<any>;
|
|
512
|
+
/**
|
|
513
|
+
* Attach an order access token to the session
|
|
514
|
+
* Proves possession of an order by reading it upstream with the emailed order access token, then holds the token in the session so `GET /sales/orders/{orderId}` (and ticket downloads) work without the browser keeping it. Creates the session on a cold open, exactly like `POST /session`.
|
|
515
|
+
* @operationId attachLiveOrderAccess
|
|
516
|
+
*/
|
|
517
|
+
attachOrderAccess: (request: AttachOrderAccessBody) => Promise<any>;
|
|
518
|
+
};
|
|
519
|
+
/**
|
|
520
|
+
* Queue methods
|
|
521
|
+
*/
|
|
522
|
+
queue: {
|
|
523
|
+
/**
|
|
524
|
+
* Get waiting-room status
|
|
525
|
+
* Returns the waiting-room status for the current session. The waiting room lives only in Live; when disabled the queue is transparent and every session is admitted.
|
|
526
|
+
* @operationId getLiveQueueStatus
|
|
527
|
+
*/
|
|
528
|
+
status: () => Promise<any>;
|
|
529
|
+
/**
|
|
530
|
+
* Join the waiting room
|
|
531
|
+
* Joins the current session to the waiting room. While the queue is disabled this is a no-op that reports immediate admission.
|
|
532
|
+
* @operationId joinLiveQueue
|
|
533
|
+
*/
|
|
534
|
+
join: () => Promise<any>;
|
|
535
|
+
};
|
|
536
|
+
}
|
|
537
|
+
export {};
|
|
538
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,KAAK,qBAAqB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,CAAC;AAG5E,KAAK,iBAAiB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC;AAcpE;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,eAAe,CAAC;AAY9C;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,QAA0F,CAAC;AAEzH,6EAA6E;AAC7E,MAAM,WAAW,gBAAgB;IAC/B,GAAG,IAAI,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC9C,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,KAAK,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AAED,+CAA+C;AAC/C,wBAAgB,kBAAkB,IAAI,gBAAgB,CAWrD;AAED,MAAM,WAAW,gBAAgB;IAC/B,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IACjC,iEAAiE;IACjE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,qBAAa,YAAa,SAAQ,KAAK;aAGnB,IAAI,EAAE,MAAM;aACZ,MAAM,EAAE,MAAM;gBAF9B,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM;CAKjC;AAED;;;;;GAKG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAyB;gBAE5B,MAAM,EAAE,gBAAgB;IASpC,0EAA0E;IACpE,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD,+EAA+E;IACzE,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIzC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC;;;;OAIG;YACW,OAAO;IA8CrB;;OAEG;IACH,aAAa;QACH;;;;GAIL;;qBAya4/iG,qBAAsB;sBAA8C,qBAAsB;;MAjazljG;IAEF;;OAEG;IACH,iBAAiB;QACP;;;;GAIL;6BAC4B;YAAE,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE;MAQjE;IAEF;;OAEG;IACH,mBAAmB;QACT;;;;GAIL;0BACyB;YAAE,KAAK,EAAE,GAAG,CAAA;SAAE;;;sBAmYm0lG,qBAAsB;;QA1X33lG;;;;GAIL;;;;sBAsX02lG,qBAAsB;;MA9Wn4lG;IAEF;;OAEG;IACH,UAAU;QACA;;;;GAIL;0BACyB;YAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;SAAE;;;;;;mBAmWu1mG,qBAAsB;;;QA1Vn6mG;;;;GAIL;sBACqB,MAAM;;;;;;mBAqVu3mG,qBAAsB;;;QA7Un6mG;;;;GAIL;0BACyB,MAAM,WAAW;YAAE,iBAAiB,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;YAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE;;;;;;mBAwUmtmG,qBAAsB;;;QA/Tn6mG;;;;GAIL;6BAC4B,MAAM,UAAU,MAAM;;;;;;mBA0Tg2mG,qBAAsB;;;QAlTn6mG;;;;GAIL;2BAC0B,MAAM,WAAW;YAAE,aAAa,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAAC,QAAQ,CAAC,EAAE;gBAAE,KAAK,EAAE,MAAM,CAAC;gBAAC,SAAS,CAAC,EAAE,MAAM,CAAC;gBAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,CAAC;gBAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;aAAE,CAAA;SAAE;kBA6SwonG,qBAAsB;mBAAiC,qBAAsB;;;MArS96nG;IAEF;;OAEG;IACH,aAAa;QACH;;;;GAIL;;;;;;;mBA2Ri3oG,qBAAsB;;;;;qBAAgK,qBAAsB;;;;MAnRhkpG;IAEF;;OAEG;IACH,WAAW;QACD;;;;GAIL;uBACsB,MAAM;;;;;;mBAwQq1oG,qBAAsB;;;;;qBAAgK,qBAAsB;;;;QAhQxjpG;;;;GAIL;6BAC4B,MAAM,UAAU,MAAM;MAOrD;IAEF;;OAEG;IACH,kBAAkB;QACR;;;;GAIL;0BACyB,MAAM,WAAW;YAAE,WAAW,CAAC,EAAE,aAAa,GAAG,sBAAsB,GAAG,eAAe,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;MAQ3I;IAEF;;OAEG;IACH,mBAAmB;QACT;;;;GAIL;0BACyB,MAAM,WAAW;YAAE,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;MAQ7F;IAEF;;OAEG;IACH,cAAc;QACJ;;;;GAIL;0BACyB;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;SAAE;;;;;;QASxH;;;;GAIL;0BACyB,MAAM;;;;;;QAQ1B;;;;GAIL;6BAC4B,MAAM,WAAW;YAAE,SAAS,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;MAQzG;IAEF;;OAEG;IACH,iBAAiB;QACP;;;;GAIL;0BACyB;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE;;;;MAQ5C;IAEF;;OAEG;IACH,KAAK;QACK;;;;GAIL;mCACkC;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE;qBAkIsztG,qBAAsB;;;QArH33tG;;;;GAIL;uBACsB,MAAM;;;;;;;;;;0BAgHmhvG,CAAC;;;;8BAAsQ,CAAC;;;;8BAAkN,CAAC;sBAAoH,CAAC;+BAAuC,CAAC;;0BAA0G,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAxG7wwG;;;;GAIL;;;;;;;;;;;;;;;;;;;;MAQH;IAEF;;OAEG;IACH,OAAO;QACG;;;;GAIL;yBACwB,iBAAiB;QASpC;;;;GAIL;;QASK;;;;GAIL;;QASK;;;;GAIL;qCACoC,qBAAqB;MAQ5D;IAEF;;OAEG;IACH,KAAK;QACK;;;;GAIL;;QASK;;;;GAIL;;MAQH;CACH"}
|