| Requires the role: | Admin | Requires the permission: | ReadData |
| POST | /Support/Customer360 |
|---|
import Foundation
import ServiceStack
public class SupportCustomer360Request : Codable
{
public var phone:String?
public var email:String?
required public init(){}
}
public class SupportCustomer360Result : Codable
{
public var phone:String?
public var email:String?
public var tickets:[SupportTicketRow] = []
public var ownerCards:[SupportOwnerCardRow] = []
public var webshopOrders:[SupportWebshopOrderRow] = []
public var giftCards:[SupportGiftCardRow] = []
public var sharedTicketLinks:[SupportSharedLinkRow] = []
public var totals:SupportCustomerTotals?
public var warnings:[String] = []
public var statusCode:Int?
public var message:String?
required public init(){}
}
public class SupportTicketRow : Codable
{
public var ticketId:Int?
public var ticketTokenId:String?
public var eventId:Int?
public var event:String?
public var timeOfEventUTC:Date?
public var eventOwnerId:Int?
public var eventOwnerName:String?
public var ticketStatus:String?
public var ticketName:String?
public var paymentMethodId:String?
public var paymentId:String?
public var paymentReference:String?
public var timestampBought:Date?
public var timestampActivated:Date?
public var holderName:String?
public var phoneVerificationNumber:String?
public var paymentPhoneNumber:String?
public var seatDisplayString:String?
public var sectionName:String?
public var rowName:String?
public var seatName:String?
public var totalPrice:Double?
public var count:Int?
public var ticketTransferredFrom:Int?
public var originalPhoneVerificationNumber:String?
public var deviceId:String?
public var neverOpened:Bool?
required public init(){}
}
public class SupportOwnerCardRow : Codable
{
public var id:Int?
public var ownerId:Int?
public var ownerName:String?
public var ownerCardTypeId:Int?
public var ownerCardTypeName:String?
public var holderName:String?
public var holderEmail:String?
public var phoneVerificationNumber:String?
public var paymentPhoneNumber:String?
public var paymentStatus:String?
public var paymentMethodId:String?
public var paymentId:String?
public var paymentReference:String?
public var timeStampBoughtUTC:Date?
public var cardValidFromUTC:Date?
public var cardValidToUTC:Date?
public var initialMaxTickets:Int?
public var currentAvailableTickets:Int?
public var cardPrice:Double?
public var pricePaid:Double?
public var currentStoreCredit:Double?
required public init(){}
}
public class SupportWebshopOrderRow : Codable
{
public var id:Int?
public var orderReference:String?
public var ownerId:Int?
public var ownerName:String?
public var status:String?
public var totalMinor:Int?
public var deliveryFeeMinor:Int?
public var totalDiscountMinor:Int?
public var giftPaidMinor:Int?
public var currency:String?
public var deliveryType:String?
public var paymentMethodId:String?
public var paymentId:String?
public var paymentReference:String?
public var createdAt:Date?
public var updatedAt:Date?
public var buyerName:String?
public var buyerEmail:String?
public var buyerPhone:String?
public var lines:[WebshopOrderLine] = []
required public init(){}
}
public class WebshopOrderLine : Codable
{
public var id:Int?
public var orderId:Int?
public var productId:Int?
public var variantId:Int?
// @StringLength(200)
public var productName:String?
// @StringLength(50)
public var size:String?
// @StringLength(50)
public var color:String?
public var unitPriceMinor:Int?
public var quantity:Int?
public var lineTotalMinor:Int?
// @StringLength(20)
public var status:String?
public var legacyDetailId:Int?
public var createdAt:Date?
required public init(){}
}
public class SupportGiftCardRow : Codable
{
public var id:Int?
public var codeLast4:String?
public var codeMasked:String?
public var status:String?
public var scope:String?
public var scopeOwnerId:Int?
public var scopeOwnerName:String?
public var purchaseOwnerId:Int?
public var purchaseOwnerName:String?
public var currency:String?
public var initialValueMinor:Int?
public var currentBalanceMinor:Int?
public var createdAt:Date?
public var activatedAt:Date?
public var expiresAt:Date?
public var purchasePaymentReference:String?
public var paymentId:String?
public var paymentMethodId:String?
public var buyerName:String?
public var buyerEmail:String?
public var buyerPhone:String?
required public init(){}
}
public class SupportSharedLinkRow : Codable
{
public var id:Int?
public var eventId:Int?
public var eventName:String?
public var eventOwnerId:Int?
public var eventOwnerName:String?
public var status:String?
public var recipientPhone:String?
public var recipientEmail:String?
public var ticketCount:Int?
public var createdAt:Date?
public var validTo:Date?
public var soldAt:Date?
public var soldTicketOrderId:Int?
required public init(){}
}
public class SupportCustomerTotals : Codable
{
public var ticketSpend:Double?
public var ticketSpendLive:Double?
public var webshopSpendMinor:Int?
public var giftCardSpendMinor:Int?
required public init(){}
}
Swift SupportCustomer360Request DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
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: application/json
Content-Type: application/json
Content-Length: length
{"phone":"String","email":"String"}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"phone":"String","email":"String","tickets":[{"ticketId":0,"ticketTokenId":"String","eventId":0,"event":"String","timeOfEventUTC":"0001-01-01T00:00:00.0000000","eventOwnerId":0,"eventOwnerName":"String","ticketStatus":"String","ticketName":"String","paymentMethodId":"String","paymentId":"String","paymentReference":"String","timestampBought":"0001-01-01T00:00:00.0000000","timestampActivated":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","cardValidFromUTC":"0001-01-01T00:00:00.0000000","cardValidToUTC":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","updatedAt":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000"}]}],"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-01T00:00:00.0000000","activatedAt":"0001-01-01T00:00:00.0000000","expiresAt":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","validTo":"0001-01-01T00:00:00.0000000","soldAt":"0001-01-01T00:00:00.0000000","soldTicketOrderId":0}],"totals":{"ticketSpend":0,"ticketSpendLive":0,"webshopSpendMinor":0,"giftCardSpendMinor":0},"warnings":["String"],"statusCode":0,"message":"String"}