| Requires the role: | Admin | Requires the permission: | ReadData |
| POST | /Support/Customer360 |
|---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using TicketUserServices.ServiceModel;
using TicketUserServices.ServiceModel.Types;
namespace TicketUserServices.ServiceModel
{
public partial class SupportCustomer360Request
{
public virtual string Phone { get; set; }
public virtual string Email { get; set; }
}
public partial class SupportCustomer360Result
{
public SupportCustomer360Result()
{
Tickets = new List<SupportTicketRow>{};
OwnerCards = new List<SupportOwnerCardRow>{};
WebshopOrders = new List<SupportWebshopOrderRow>{};
GiftCards = new List<SupportGiftCardRow>{};
SharedTicketLinks = new List<SupportSharedLinkRow>{};
Warnings = new List<string>{};
}
public virtual string Phone { get; set; }
public virtual string Email { get; set; }
public virtual List<SupportTicketRow> Tickets { get; set; }
public virtual List<SupportOwnerCardRow> OwnerCards { get; set; }
public virtual List<SupportWebshopOrderRow> WebshopOrders { get; set; }
public virtual List<SupportGiftCardRow> GiftCards { get; set; }
public virtual List<SupportSharedLinkRow> SharedTicketLinks { get; set; }
public virtual SupportCustomerTotals Totals { get; set; }
public virtual List<string> Warnings { get; set; }
public virtual int StatusCode { get; set; }
public virtual string Message { get; set; }
}
public partial class SupportCustomerTotals
{
public virtual decimal TicketSpend { get; set; }
public virtual decimal TicketSpendLive { get; set; }
public virtual long WebshopSpendMinor { get; set; }
public virtual long GiftCardSpendMinor { get; set; }
}
public partial class SupportGiftCardRow
{
public virtual int ID { get; set; }
public virtual string CodeLast4 { get; set; }
public virtual string CodeMasked { get; set; }
public virtual string Status { get; set; }
public virtual string Scope { get; set; }
public virtual int? ScopeOwnerId { get; set; }
public virtual string ScopeOwnerName { get; set; }
public virtual int? PurchaseOwnerId { get; set; }
public virtual string PurchaseOwnerName { get; set; }
public virtual string Currency { get; set; }
public virtual int InitialValueMinor { get; set; }
public virtual int CurrentBalanceMinor { get; set; }
public virtual DateTime? CreatedAt { get; set; }
public virtual DateTime? ActivatedAt { get; set; }
public virtual DateTime? ExpiresAt { get; set; }
public virtual string PurchasePaymentReference { get; set; }
public virtual string PaymentId { get; set; }
public virtual string PaymentMethodId { get; set; }
public virtual string BuyerName { get; set; }
public virtual string BuyerEmail { get; set; }
public virtual string BuyerPhone { get; set; }
}
public partial class SupportOwnerCardRow
{
public virtual int ID { get; set; }
public virtual int OwnerId { get; set; }
public virtual string OwnerName { get; set; }
public virtual int? OwnerCardTypeId { get; set; }
public virtual string OwnerCardTypeName { get; set; }
public virtual string HolderName { get; set; }
public virtual string HolderEmail { get; set; }
public virtual string PhoneVerificationNumber { get; set; }
public virtual string PaymentPhoneNumber { get; set; }
public virtual string PaymentStatus { get; set; }
public virtual string PaymentMethodId { get; set; }
public virtual string PaymentId { get; set; }
public virtual string PaymentReference { get; set; }
public virtual DateTime? TimeStampBoughtUTC { get; set; }
public virtual DateTime? CardValidFromUTC { get; set; }
public virtual DateTime? CardValidToUTC { get; set; }
public virtual int? InitialMaxTickets { get; set; }
public virtual int? CurrentAvailableTickets { get; set; }
public virtual decimal? CardPrice { get; set; }
public virtual decimal? PricePaid { get; set; }
public virtual decimal? CurrentStoreCredit { get; set; }
}
public partial class SupportSharedLinkRow
{
public virtual int ID { get; set; }
public virtual int EventId { get; set; }
public virtual string EventName { get; set; }
public virtual int EventOwnerId { get; set; }
public virtual string EventOwnerName { get; set; }
public virtual string Status { get; set; }
public virtual string RecipientPhone { get; set; }
public virtual string RecipientEmail { get; set; }
public virtual int TicketCount { get; set; }
public virtual DateTime? CreatedAt { get; set; }
public virtual DateTime? ValidTo { get; set; }
public virtual DateTime? SoldAt { get; set; }
public virtual int? SoldTicketOrderId { get; set; }
}
public partial class SupportTicketRow
{
public virtual int? TicketId { get; set; }
public virtual string TicketTokenId { get; set; }
public virtual int? EventId { get; set; }
public virtual string Event { get; set; }
public virtual DateTime? TimeOfEventUTC { get; set; }
public virtual int? EventOwnerId { get; set; }
public virtual string EventOwnerName { get; set; }
public virtual string TicketStatus { get; set; }
public virtual string TicketName { get; set; }
public virtual string PaymentMethodId { get; set; }
public virtual string PaymentId { get; set; }
public virtual string PaymentReference { get; set; }
public virtual DateTime? TimestampBought { get; set; }
public virtual DateTime? TimestampActivated { get; set; }
public virtual string HolderName { get; set; }
public virtual string PhoneVerificationNumber { get; set; }
public virtual string PaymentPhoneNumber { get; set; }
public virtual string SeatDisplayString { get; set; }
public virtual string SectionName { get; set; }
public virtual string RowName { get; set; }
public virtual string SeatName { get; set; }
public virtual decimal? TotalPrice { get; set; }
public virtual int? Count { get; set; }
public virtual int? TicketTransferredFrom { get; set; }
public virtual string OriginalPhoneVerificationNumber { get; set; }
public virtual string DeviceId { get; set; }
public virtual bool NeverOpened { get; set; }
}
public partial class SupportWebshopOrderRow
{
public SupportWebshopOrderRow()
{
Lines = new List<WebshopOrderLine>{};
}
public virtual int ID { get; set; }
public virtual string OrderReference { get; set; }
public virtual int OwnerId { get; set; }
public virtual string OwnerName { get; set; }
public virtual string Status { get; set; }
public virtual int TotalMinor { get; set; }
public virtual int DeliveryFeeMinor { get; set; }
public virtual int TotalDiscountMinor { get; set; }
public virtual int GiftPaidMinor { get; set; }
public virtual string Currency { get; set; }
public virtual string DeliveryType { get; set; }
public virtual string PaymentMethodId { get; set; }
public virtual string PaymentId { get; set; }
public virtual string PaymentReference { get; set; }
public virtual DateTime? CreatedAt { get; set; }
public virtual DateTime? UpdatedAt { get; set; }
public virtual string BuyerName { get; set; }
public virtual string BuyerEmail { get; set; }
public virtual string BuyerPhone { get; set; }
public virtual List<WebshopOrderLine> Lines { get; set; }
}
}
namespace TicketUserServices.ServiceModel.Types
{
public partial class WebshopOrderLine
{
public virtual int ID { get; set; }
public virtual int OrderId { get; set; }
public virtual int ProductId { get; set; }
public virtual int VariantId { get; set; }
[StringLength(200)]
public virtual string ProductName { get; set; }
[StringLength(50)]
public virtual string Size { get; set; }
[StringLength(50)]
public virtual string Color { get; set; }
public virtual int UnitPriceMinor { get; set; }
public virtual int Quantity { get; set; }
public virtual int LineTotalMinor { get; set; }
[StringLength(20)]
public virtual string Status { get; set; }
public virtual int? LegacyDetailId { get; set; }
public virtual DateTime CreatedAt { get; set; }
}
}
C# 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
}