All Verbs | /buy/{Id} | ||
---|---|---|---|
GET | /Buy/{Id} | ||
All Verbs | /buy/{Id}/{Quantity} | ||
GET | /Buy |
namespace MyApp.ServiceModel
open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
type SkuType =
| Product = 0
| PerDev = 1
| PerCore = 2
| Site = 3
| Support = 4
| Training = 5
| Register = 6
| Payment = 7
[<Flags>]
type LicenseFeature =
| None = 0
| Free = 0
| Premium = 1
| Text = 2
| Client = 4
| Common = 8
| Redis = 16
| RedisSku = 18
| OrmLite = 32
| OrmLiteSku = 34
| ServiceStack = 64
| Server = 128
| Razor = 256
| Admin = 512
| Aws = 1024
| AwsSku = 1026
| All = 2047
type LicenseType =
| Free = 0
| FreeIndividual = 1
| FreeOpenSource = 2
| Indie = 3
| Business = 4
| Enterprise = 5
| TextIndie = 6
| TextBusiness = 7
| OrmLiteIndie = 8
| OrmLiteBusiness = 9
| RedisIndie = 10
| RedisBusiness = 11
| AwsIndie = 12
| AwsBusiness = 13
| Trial = 14
| Site = 15
| TextSite = 16
| RedisSite = 17
| OrmLiteSite = 18
[<AllowNullLiteral>]
type Sku() =
member val Id:Int32 = new Int32() with get,set
member val ProductId:Int32 = new Int32() with get,set
member val Type:SkuType = new SkuType() with get,set
member val Feature:LicenseFeature = new LicenseFeature() with get,set
member val Code:String = null with get,set
member val Name:String = null with get,set
member val Notes:String = null with get,set
[<Ignore>]
member val MinQty:Nullable<Int32> = new Nullable<Int32>() with get,set
member val MaxQty:Nullable<Int32> = new Nullable<Int32>() with get,set
member val Price:Int32 = new Int32() with get,set
member val Plan:String = null with get,set
member val DiscountOff:Int32 = new Int32() with get,set
member val DiscountLabelOff:String = null with get,set
member val ActualPrice:Int32 = new Int32() with get,set
member val IsPlan:Boolean = new Boolean() with get,set
member val IsRenewal:Boolean = new Boolean() with get,set
member val SubscriptionDurationDays:Nullable<Int32> = new Nullable<Int32>() with get,set
member val ExpiryDurationDays:Nullable<Int32> = new Nullable<Int32>() with get,set
member val TrialPeriodDays:Nullable<Int32> = new Nullable<Int32>() with get,set
member val SupportQty:Int32 = new Int32() with get,set
member val CoresQty:Nullable<Int32> = new Nullable<Int32>() with get,set
member val CreatedDate:DateTime = new DateTime() with get,set
member val ModifiedDate:DateTime = new DateTime() with get,set
member val LicenseType:LicenseType = new LicenseType() with get,set
member val Active:Boolean = new Boolean() with get,set
[<AllowNullLiteral>]
type QuoteResponse() =
member val SkuId:Int32 = new Int32() with get,set
member val Code:String = null with get,set
member val CustomerId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val ModifyingExistingSubscription:Boolean = new Boolean() with get,set
member val ChangingSubscriptions:Boolean = new Boolean() with get,set
member val SwitchingLicensingModels:Boolean = new Boolean() with get,set
member val ReplacesExistingQuantity:Boolean = new Boolean() with get,set
member val ExistingSubscriptionQuantity:Nullable<Int32> = new Nullable<Int32>() with get,set
member val NewSubscriptionQuantity:Nullable<Int32> = new Nullable<Int32>() with get,set
member val UnusedAmount:String = null with get,set
member val ManualProrating:Boolean = new Boolean() with get,set
member val UnusedDays:Int32 = new Int32() with get,set
member val Quantity:Int32 = new Int32() with get,set
member val MinQuantity:Int32 = new Int32() with get,set
member val MaxQuantity:Nullable<Int32> = new Nullable<Int32>() with get,set
member val Subtotal:String = null with get,set
member val DiscountDescription:String = null with get,set
member val DiscountReceived:String = null with get,set
member val Discount:String = null with get,set
member val Total:String = null with get,set
member val ExpiryDate:String = null with get,set
member val RenewalDate:String = null with get,set
member val IsReferrer:Boolean = new Boolean() with get,set
member val ResponseStatus:ResponseStatus = null with get,set
[<AllowNullLiteral>]
type BuyResponse() =
member val Coupon:String = null with get,set
member val RenewalRef:String = null with get,set
member val UpgradeRef:String = null with get,set
member val Sku:Sku = null with get,set
member val Quote:QuoteResponse = null with get,set
member val ResponseStatus:ResponseStatus = null with get,set
[<AllowNullLiteral>]
type Buy() =
interface IGet
member val Id:String = null with get,set
member val Coupon:String = null with get,set
member val Quantity:Nullable<Int32> = new Nullable<Int32>() with get,set
member val RenewalRef:String = null with get,set
member val UpgradeRef:String = null with get,set
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /buy/{Id} HTTP/1.1
Host: account.servicestack.net
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<Buy xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/MyApp.ServiceModel">
<Coupon>String</Coupon>
<Id>String</Id>
<Quantity>0</Quantity>
<RenewalRef>String</RenewalRef>
<UpgradeRef>String</UpgradeRef>
</Buy>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <BuyResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/MyApp.ServiceModel"> <Coupon>String</Coupon> <Quote> <ChangingSubscriptions>false</ChangingSubscriptions> <Code>String</Code> <CustomerId>0</CustomerId> <Discount>String</Discount> <DiscountDescription>String</DiscountDescription> <DiscountReceived>String</DiscountReceived> <ExistingSubscriptionQuantity>0</ExistingSubscriptionQuantity> <ExpiryDate>String</ExpiryDate> <IsReferrer>false</IsReferrer> <ManualProrating>false</ManualProrating> <MaxQuantity>0</MaxQuantity> <MinQuantity>0</MinQuantity> <ModifyingExistingSubscription>false</ModifyingExistingSubscription> <NewSubscriptionQuantity>0</NewSubscriptionQuantity> <Quantity>0</Quantity> <RenewalDate>String</RenewalDate> <ReplacesExistingQuantity>false</ReplacesExistingQuantity> <ResponseStatus xmlns:d3p1="http://schemas.servicestack.net/types"> <d3p1:ErrorCode>String</d3p1:ErrorCode> <d3p1:Message>String</d3p1:Message> <d3p1:StackTrace>String</d3p1:StackTrace> <d3p1:Errors> <d3p1:ResponseError> <d3p1:ErrorCode>String</d3p1:ErrorCode> <d3p1:FieldName>String</d3p1:FieldName> <d3p1:Message>String</d3p1:Message> <d3p1:Meta xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d6p1:KeyValueOfstringstring> <d6p1:Key>String</d6p1:Key> <d6p1:Value>String</d6p1:Value> </d6p1:KeyValueOfstringstring> </d3p1:Meta> </d3p1:ResponseError> </d3p1:Errors> <d3p1:Meta xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d4p1:KeyValueOfstringstring> <d4p1:Key>String</d4p1:Key> <d4p1:Value>String</d4p1:Value> </d4p1:KeyValueOfstringstring> </d3p1:Meta> </ResponseStatus> <SkuId>0</SkuId> <Subtotal>String</Subtotal> <SwitchingLicensingModels>false</SwitchingLicensingModels> <Total>String</Total> <UnusedAmount>String</UnusedAmount> <UnusedDays>0</UnusedDays> </Quote> <RenewalRef>String</RenewalRef> <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types"> <d2p1:ErrorCode>String</d2p1:ErrorCode> <d2p1:Message>String</d2p1:Message> <d2p1:StackTrace>String</d2p1:StackTrace> <d2p1:Errors> <d2p1:ResponseError> <d2p1:ErrorCode>String</d2p1:ErrorCode> <d2p1:FieldName>String</d2p1:FieldName> <d2p1:Message>String</d2p1:Message> <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d5p1:KeyValueOfstringstring> <d5p1:Key>String</d5p1:Key> <d5p1:Value>String</d5p1:Value> </d5p1:KeyValueOfstringstring> </d2p1:Meta> </d2p1:ResponseError> </d2p1:Errors> <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:KeyValueOfstringstring> <d3p1:Key>String</d3p1:Key> <d3p1:Value>String</d3p1:Value> </d3p1:KeyValueOfstringstring> </d2p1:Meta> </ResponseStatus> <Sku> <Active>false</Active> <Code>String</Code> <CoresQty>0</CoresQty> <CreatedDate>0001-01-01T00:00:00</CreatedDate> <DiscountLabelOff>String</DiscountLabelOff> <DiscountOff>0</DiscountOff> <ExpiryDurationDays>0</ExpiryDurationDays> <Feature>None</Feature> <Id>0</Id> <IsPlan>false</IsPlan> <IsRenewal>false</IsRenewal> <LicenseType>Free</LicenseType> <MaxQty>0</MaxQty> <ModifiedDate>0001-01-01T00:00:00</ModifiedDate> <Name>String</Name> <Notes>String</Notes> <Plan>String</Plan> <Price>0</Price> <ProductId>0</ProductId> <SubscriptionDurationDays>0</SubscriptionDurationDays> <SupportQty>0</SupportQty> <TrialPeriodDays>0</TrialPeriodDays> <Type>Product</Type> </Sku> <UpgradeRef>String</UpgradeRef> </BuyResponse>