| Requires the role: | Admin | Requires the permission: | ReadData |
| POST | /Support/Customer360 |
|---|
export class SupportTicketRow
{
public ticketId?: number;
public ticketTokenId?: string;
public eventId?: number;
public event?: string;
public timeOfEventUTC?: string;
public eventOwnerId?: number;
public eventOwnerName?: string;
public ticketStatus?: string;
public ticketName?: string;
public paymentMethodId?: string;
public paymentId?: string;
public paymentReference?: string;
public timestampBought?: string;
public timestampActivated?: string;
public holderName?: string;
public phoneVerificationNumber?: string;
public paymentPhoneNumber?: string;
public seatDisplayString?: string;
public sectionName?: string;
public rowName?: string;
public seatName?: string;
public totalPrice?: number;
public count?: number;
public ticketTransferredFrom?: number;
public originalPhoneVerificationNumber?: string;
public deviceId?: string;
public neverOpened?: boolean;
public constructor(init?: Partial<SupportTicketRow>) { (Object as any).assign(this, init); }
}
export class SupportOwnerCardRow
{
public id?: number;
public ownerId?: number;
public ownerName?: string;
public ownerCardTypeId?: number;
public ownerCardTypeName?: string;
public holderName?: string;
public holderEmail?: string;
public phoneVerificationNumber?: string;
public paymentPhoneNumber?: string;
public paymentStatus?: string;
public paymentMethodId?: string;
public paymentId?: string;
public paymentReference?: string;
public timeStampBoughtUTC?: string;
public cardValidFromUTC?: string;
public cardValidToUTC?: string;
public initialMaxTickets?: number;
public currentAvailableTickets?: number;
public cardPrice?: number;
public pricePaid?: number;
public currentStoreCredit?: number;
public constructor(init?: Partial<SupportOwnerCardRow>) { (Object as any).assign(this, init); }
}
export class WebshopOrderLine
{
public id?: number;
public orderId?: number;
public productId?: number;
public variantId?: number;
// @StringLength(200)
public productName?: string;
// @StringLength(50)
public size?: string;
// @StringLength(50)
public color?: string;
public unitPriceMinor?: number;
public quantity?: number;
public lineTotalMinor?: number;
// @StringLength(20)
public status?: string;
public legacyDetailId?: number;
public createdAt?: string;
public constructor(init?: Partial<WebshopOrderLine>) { (Object as any).assign(this, init); }
}
export class SupportWebshopOrderRow
{
public id?: number;
public orderReference?: string;
public ownerId?: number;
public ownerName?: string;
public status?: string;
public totalMinor?: number;
public deliveryFeeMinor?: number;
public totalDiscountMinor?: number;
public giftPaidMinor?: number;
public currency?: string;
public deliveryType?: string;
public paymentMethodId?: string;
public paymentId?: string;
public paymentReference?: string;
public createdAt?: string;
public updatedAt?: string;
public buyerName?: string;
public buyerEmail?: string;
public buyerPhone?: string;
public lines?: WebshopOrderLine[];
public constructor(init?: Partial<SupportWebshopOrderRow>) { (Object as any).assign(this, init); }
}
export class SupportGiftCardRow
{
public id?: number;
public codeLast4?: string;
public codeMasked?: string;
public status?: string;
public scope?: string;
public scopeOwnerId?: number;
public scopeOwnerName?: string;
public purchaseOwnerId?: number;
public purchaseOwnerName?: string;
public currency?: string;
public initialValueMinor?: number;
public currentBalanceMinor?: number;
public createdAt?: string;
public activatedAt?: string;
public expiresAt?: string;
public purchasePaymentReference?: string;
public paymentId?: string;
public paymentMethodId?: string;
public buyerName?: string;
public buyerEmail?: string;
public buyerPhone?: string;
public constructor(init?: Partial<SupportGiftCardRow>) { (Object as any).assign(this, init); }
}
export class SupportSharedLinkRow
{
public id?: number;
public eventId?: number;
public eventName?: string;
public eventOwnerId?: number;
public eventOwnerName?: string;
public status?: string;
public recipientPhone?: string;
public recipientEmail?: string;
public ticketCount?: number;
public createdAt?: string;
public validTo?: string;
public soldAt?: string;
public soldTicketOrderId?: number;
public constructor(init?: Partial<SupportSharedLinkRow>) { (Object as any).assign(this, init); }
}
export class SupportCustomerTotals
{
public ticketSpend?: number;
public ticketSpendLive?: number;
public webshopSpendMinor?: number;
public giftCardSpendMinor?: number;
public constructor(init?: Partial<SupportCustomerTotals>) { (Object as any).assign(this, init); }
}
export class SupportCustomer360Result
{
public phone?: string;
public email?: string;
public tickets?: SupportTicketRow[];
public ownerCards?: SupportOwnerCardRow[];
public webshopOrders?: SupportWebshopOrderRow[];
public giftCards?: SupportGiftCardRow[];
public sharedTicketLinks?: SupportSharedLinkRow[];
public totals?: SupportCustomerTotals;
public warnings?: string[];
public statusCode?: number;
public message?: string;
public constructor(init?: Partial<SupportCustomer360Result>) { (Object as any).assign(this, init); }
}
export class SupportCustomer360Request
{
public phone?: string;
public email?: string;
public constructor(init?: Partial<SupportCustomer360Request>) { (Object as any).assign(this, init); }
}
TypeScript SupportCustomer360Request DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /Support/Customer360 HTTP/1.1
Host: stubbur-app.azurewebsites.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
phone: String,
email: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
phone: String,
email: String,
tickets:
[
{
ticketId: 0,
ticketTokenId: String,
eventId: 0,
event: String,
timeOfEventUTC: 0001-01-01,
eventOwnerId: 0,
eventOwnerName: String,
ticketStatus: String,
ticketName: String,
paymentMethodId: String,
paymentId: String,
paymentReference: String,
timestampBought: 0001-01-01,
timestampActivated: 0001-01-01,
holderName: String,
phoneVerificationNumber: String,
paymentPhoneNumber: String,
seatDisplayString: String,
sectionName: String,
rowName: String,
seatName: String,
totalPrice: 0,
count: 0,
ticketTransferredFrom: 0,
originalPhoneVerificationNumber: String,
deviceId: String,
neverOpened: False
}
],
ownerCards:
[
{
id: 0,
ownerId: 0,
ownerName: String,
ownerCardTypeId: 0,
ownerCardTypeName: String,
holderName: String,
holderEmail: String,
phoneVerificationNumber: String,
paymentPhoneNumber: String,
paymentStatus: String,
paymentMethodId: String,
paymentId: String,
paymentReference: String,
timeStampBoughtUTC: 0001-01-01,
cardValidFromUTC: 0001-01-01,
cardValidToUTC: 0001-01-01,
initialMaxTickets: 0,
currentAvailableTickets: 0,
cardPrice: 0,
pricePaid: 0,
currentStoreCredit: 0
}
],
webshopOrders:
[
{
id: 0,
orderReference: String,
ownerId: 0,
ownerName: String,
status: String,
totalMinor: 0,
deliveryFeeMinor: 0,
totalDiscountMinor: 0,
giftPaidMinor: 0,
currency: String,
deliveryType: String,
paymentMethodId: String,
paymentId: String,
paymentReference: String,
createdAt: 0001-01-01,
updatedAt: 0001-01-01,
buyerName: String,
buyerEmail: String,
buyerPhone: String,
lines:
[
{
id: 0,
orderId: 0,
productId: 0,
variantId: 0,
productName: String,
size: String,
color: String,
unitPriceMinor: 0,
quantity: 0,
lineTotalMinor: 0,
status: String,
legacyDetailId: 0,
createdAt: 0001-01-01
}
]
}
],
giftCards:
[
{
id: 0,
codeLast4: String,
codeMasked: String,
status: String,
scope: String,
scopeOwnerId: 0,
scopeOwnerName: String,
purchaseOwnerId: 0,
purchaseOwnerName: String,
currency: String,
initialValueMinor: 0,
currentBalanceMinor: 0,
createdAt: 0001-01-01,
activatedAt: 0001-01-01,
expiresAt: 0001-01-01,
purchasePaymentReference: String,
paymentId: String,
paymentMethodId: String,
buyerName: String,
buyerEmail: String,
buyerPhone: String
}
],
sharedTicketLinks:
[
{
id: 0,
eventId: 0,
eventName: String,
eventOwnerId: 0,
eventOwnerName: String,
status: String,
recipientPhone: String,
recipientEmail: String,
ticketCount: 0,
createdAt: 0001-01-01,
validTo: 0001-01-01,
soldAt: 0001-01-01,
soldTicketOrderId: 0
}
],
totals:
{
ticketSpend: 0,
ticketSpendLive: 0,
webshopSpendMinor: 0,
giftCardSpendMinor: 0
},
warnings:
[
String
],
statusCode: 0,
message: String
}