ServiceStack Home (Live)

<back to all web services

Buy

The following routes are available for this service:
All Verbs/buy/{Id}
GET/Buy/{Id}
All Verbs/buy/{Id}/{Quantity}
GET/Buy
import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;

public class dtos
{

    public static class Buy implements IGet
    {
        public String id = null;
        public String coupon = null;
        public Integer quantity = null;
        public String renewalRef = null;
        public String upgradeRef = null;
        
        public String getId() { return id; }
        public Buy setId(String value) { this.id = value; return this; }
        public String getCoupon() { return coupon; }
        public Buy setCoupon(String value) { this.coupon = value; return this; }
        public Integer getQuantity() { return quantity; }
        public Buy setQuantity(Integer value) { this.quantity = value; return this; }
        public String getRenewalRef() { return renewalRef; }
        public Buy setRenewalRef(String value) { this.renewalRef = value; return this; }
        public String getUpgradeRef() { return upgradeRef; }
        public Buy setUpgradeRef(String value) { this.upgradeRef = value; return this; }
    }

    public static class BuyResponse
    {
        public String coupon = null;
        public String renewalRef = null;
        public String upgradeRef = null;
        public Sku sku = null;
        public QuoteResponse quote = null;
        public ResponseStatus responseStatus = null;
        
        public String getCoupon() { return coupon; }
        public BuyResponse setCoupon(String value) { this.coupon = value; return this; }
        public String getRenewalRef() { return renewalRef; }
        public BuyResponse setRenewalRef(String value) { this.renewalRef = value; return this; }
        public String getUpgradeRef() { return upgradeRef; }
        public BuyResponse setUpgradeRef(String value) { this.upgradeRef = value; return this; }
        public Sku getSku() { return sku; }
        public BuyResponse setSku(Sku value) { this.sku = value; return this; }
        public QuoteResponse getQuote() { return quote; }
        public BuyResponse setQuote(QuoteResponse value) { this.quote = value; return this; }
        public ResponseStatus getResponseStatus() { return responseStatus; }
        public BuyResponse setResponseStatus(ResponseStatus value) { this.responseStatus = value; return this; }
    }

    public static class Sku
    {
        public Integer id = null;
        public Integer productId = null;
        public SkuType type = null;
        public LicenseFeature feature = null;
        public String code = null;
        public String name = null;
        public String notes = null;
        @Ignore()
        public Integer minQty = null;

        public Integer maxQty = null;
        public Integer price = null;
        public String plan = null;
        public Integer discountOff = null;
        public String discountLabelOff = null;
        public Integer actualPrice = null;
        public Boolean isPlan = null;
        public Boolean isRenewal = null;
        public Integer subscriptionDurationDays = null;
        public Integer expiryDurationDays = null;
        public Integer trialPeriodDays = null;
        public Integer supportQty = null;
        public Integer coresQty = null;
        public Date createdDate = null;
        public Date modifiedDate = null;
        public LicenseType licenseType = null;
        public Boolean active = null;
        
        public Integer getId() { return id; }
        public Sku setId(Integer value) { this.id = value; return this; }
        public Integer getProductId() { return productId; }
        public Sku setProductId(Integer value) { this.productId = value; return this; }
        public SkuType getType() { return type; }
        public Sku setType(SkuType value) { this.type = value; return this; }
        public LicenseFeature getFeature() { return feature; }
        public Sku setFeature(LicenseFeature value) { this.feature = value; return this; }
        public String getCode() { return code; }
        public Sku setCode(String value) { this.code = value; return this; }
        public String getName() { return name; }
        public Sku setName(String value) { this.name = value; return this; }
        public String getNotes() { return notes; }
        public Sku setNotes(String value) { this.notes = value; return this; }
        public Integer getMinQty() { return minQty; }
        public Sku setMinQty(Integer value) { this.minQty = value; return this; }
        public Integer getMaxQty() { return maxQty; }
        public Sku setMaxQty(Integer value) { this.maxQty = value; return this; }
        public Integer getPrice() { return price; }
        public Sku setPrice(Integer value) { this.price = value; return this; }
        public String getPlan() { return plan; }
        public Sku setPlan(String value) { this.plan = value; return this; }
        public Integer getDiscountOff() { return discountOff; }
        public Sku setDiscountOff(Integer value) { this.discountOff = value; return this; }
        public String getDiscountLabelOff() { return discountLabelOff; }
        public Sku setDiscountLabelOff(String value) { this.discountLabelOff = value; return this; }
        public Integer getActualPrice() { return actualPrice; }
        public Sku setActualPrice(Integer value) { this.actualPrice = value; return this; }
        public Boolean getIsPlan() { return isPlan; }
        public Sku setIsPlan(Boolean value) { this.isPlan = value; return this; }
        public Boolean getIsRenewal() { return isRenewal; }
        public Sku setIsRenewal(Boolean value) { this.isRenewal = value; return this; }
        public Integer getSubscriptionDurationDays() { return subscriptionDurationDays; }
        public Sku setSubscriptionDurationDays(Integer value) { this.subscriptionDurationDays = value; return this; }
        public Integer getExpiryDurationDays() { return expiryDurationDays; }
        public Sku setExpiryDurationDays(Integer value) { this.expiryDurationDays = value; return this; }
        public Integer getTrialPeriodDays() { return trialPeriodDays; }
        public Sku setTrialPeriodDays(Integer value) { this.trialPeriodDays = value; return this; }
        public Integer getSupportQty() { return supportQty; }
        public Sku setSupportQty(Integer value) { this.supportQty = value; return this; }
        public Integer getCoresQty() { return coresQty; }
        public Sku setCoresQty(Integer value) { this.coresQty = value; return this; }
        public Date getCreatedDate() { return createdDate; }
        public Sku setCreatedDate(Date value) { this.createdDate = value; return this; }
        public Date getModifiedDate() { return modifiedDate; }
        public Sku setModifiedDate(Date value) { this.modifiedDate = value; return this; }
        public LicenseType getLicenseType() { return licenseType; }
        public Sku setLicenseType(LicenseType value) { this.licenseType = value; return this; }
        public Boolean isActive() { return active; }
        public Sku setActive(Boolean value) { this.active = value; return this; }
    }

    public static enum SkuType
    {
        Product,
        PerDev,
        PerCore,
        Site,
        Support,
        Training,
        Register,
        Payment;
    }

    @Flags()
    public static enum LicenseFeature
    {
        @SerializedName("0") None(0),
        @SerializedName("0") Free(0),
        @SerializedName("1") Premium(1),
        @SerializedName("2") Text(2),
        @SerializedName("4") Client(4),
        @SerializedName("8") Common(8),
        @SerializedName("16") Redis(16),
        @SerializedName("18") RedisSku(18),
        @SerializedName("32") OrmLite(32),
        @SerializedName("34") OrmLiteSku(34),
        @SerializedName("64") ServiceStack(64),
        @SerializedName("128") Server(128),
        @SerializedName("256") Razor(256),
        @SerializedName("512") Admin(512),
        @SerializedName("1024") Aws(1024),
        @SerializedName("1026") AwsSku(1026),
        @SerializedName("2047") All(2047);

        private final int value;
        LicenseFeature(final int intValue) { value = intValue; }
        public int getValue() { return value; }
    }

    public static enum LicenseType
    {
        Free,
        FreeIndividual,
        FreeOpenSource,
        Indie,
        Business,
        Enterprise,
        TextIndie,
        TextBusiness,
        OrmLiteIndie,
        OrmLiteBusiness,
        RedisIndie,
        RedisBusiness,
        AwsIndie,
        AwsBusiness,
        Trial,
        Site,
        TextSite,
        RedisSite,
        OrmLiteSite;
    }

    public static class QuoteResponse
    {
        public Integer skuId = null;
        public String code = null;
        public Integer customerId = null;
        public Boolean modifyingExistingSubscription = null;
        public Boolean changingSubscriptions = null;
        public Boolean switchingLicensingModels = null;
        public Boolean replacesExistingQuantity = null;
        public Integer existingSubscriptionQuantity = null;
        public Integer newSubscriptionQuantity = null;
        public String unusedAmount = null;
        public Boolean manualProrating = null;
        public Integer unusedDays = null;
        public Integer quantity = null;
        public Integer minQuantity = null;
        public Integer maxQuantity = null;
        public String subtotal = null;
        public String discountDescription = null;
        public String discountReceived = null;
        public String discount = null;
        public String total = null;
        public String expiryDate = null;
        public String renewalDate = null;
        public Boolean isReferrer = null;
        public ResponseStatus responseStatus = null;
        
        public Integer getSkuId() { return skuId; }
        public QuoteResponse setSkuId(Integer value) { this.skuId = value; return this; }
        public String getCode() { return code; }
        public QuoteResponse setCode(String value) { this.code = value; return this; }
        public Integer getCustomerId() { return customerId; }
        public QuoteResponse setCustomerId(Integer value) { this.customerId = value; return this; }
        public Boolean isModifyingExistingSubscription() { return modifyingExistingSubscription; }
        public QuoteResponse setModifyingExistingSubscription(Boolean value) { this.modifyingExistingSubscription = value; return this; }
        public Boolean isChangingSubscriptions() { return changingSubscriptions; }
        public QuoteResponse setChangingSubscriptions(Boolean value) { this.changingSubscriptions = value; return this; }
        public Boolean isSwitchingLicensingModels() { return switchingLicensingModels; }
        public QuoteResponse setSwitchingLicensingModels(Boolean value) { this.switchingLicensingModels = value; return this; }
        public Boolean isReplacesExistingQuantity() { return replacesExistingQuantity; }
        public QuoteResponse setReplacesExistingQuantity(Boolean value) { this.replacesExistingQuantity = value; return this; }
        public Integer getExistingSubscriptionQuantity() { return existingSubscriptionQuantity; }
        public QuoteResponse setExistingSubscriptionQuantity(Integer value) { this.existingSubscriptionQuantity = value; return this; }
        public Integer getNewSubscriptionQuantity() { return newSubscriptionQuantity; }
        public QuoteResponse setNewSubscriptionQuantity(Integer value) { this.newSubscriptionQuantity = value; return this; }
        public String getUnusedAmount() { return unusedAmount; }
        public QuoteResponse setUnusedAmount(String value) { this.unusedAmount = value; return this; }
        public Boolean isManualProrating() { return manualProrating; }
        public QuoteResponse setManualProrating(Boolean value) { this.manualProrating = value; return this; }
        public Integer getUnusedDays() { return unusedDays; }
        public QuoteResponse setUnusedDays(Integer value) { this.unusedDays = value; return this; }
        public Integer getQuantity() { return quantity; }
        public QuoteResponse setQuantity(Integer value) { this.quantity = value; return this; }
        public Integer getMinQuantity() { return minQuantity; }
        public QuoteResponse setMinQuantity(Integer value) { this.minQuantity = value; return this; }
        public Integer getMaxQuantity() { return maxQuantity; }
        public QuoteResponse setMaxQuantity(Integer value) { this.maxQuantity = value; return this; }
        public String getSubtotal() { return subtotal; }
        public QuoteResponse setSubtotal(String value) { this.subtotal = value; return this; }
        public String getDiscountDescription() { return discountDescription; }
        public QuoteResponse setDiscountDescription(String value) { this.discountDescription = value; return this; }
        public String getDiscountReceived() { return discountReceived; }
        public QuoteResponse setDiscountReceived(String value) { this.discountReceived = value; return this; }
        public String getDiscount() { return discount; }
        public QuoteResponse setDiscount(String value) { this.discount = value; return this; }
        public String getTotal() { return total; }
        public QuoteResponse setTotal(String value) { this.total = value; return this; }
        public String getExpiryDate() { return expiryDate; }
        public QuoteResponse setExpiryDate(String value) { this.expiryDate = value; return this; }
        public String getRenewalDate() { return renewalDate; }
        public QuoteResponse setRenewalDate(String value) { this.renewalDate = value; return this; }
        public Boolean getIsReferrer() { return isReferrer; }
        public QuoteResponse setIsReferrer(Boolean value) { this.isReferrer = value; return this; }
        public ResponseStatus getResponseStatus() { return responseStatus; }
        public QuoteResponse setResponseStatus(ResponseStatus value) { this.responseStatus = value; return this; }
    }

}

Java Buy DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

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: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	id: String,
	coupon: String,
	quantity: 0,
	renewalRef: String,
	upgradeRef: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	coupon: String,
	renewalRef: String,
	upgradeRef: String,
	sku: 
	{
		id: 0,
		productId: 0,
		type: Product,
		feature: 0,
		code: String,
		name: String,
		notes: String,
		maxQty: 0,
		price: 0,
		plan: String,
		discountOff: 0,
		discountLabelOff: String,
		actualPrice: 0,
		isPlan: False,
		isRenewal: False,
		subscriptionDurationDays: 0,
		expiryDurationDays: 0,
		trialPeriodDays: 0,
		supportQty: 0,
		coresQty: 0,
		createdDate: 0001-01-01,
		modifiedDate: 0001-01-01,
		licenseType: Free,
		active: False
	},
	quote: 
	{
		skuId: 0,
		code: String,
		customerId: 0,
		modifyingExistingSubscription: False,
		changingSubscriptions: False,
		switchingLicensingModels: False,
		replacesExistingQuantity: False,
		existingSubscriptionQuantity: 0,
		newSubscriptionQuantity: 0,
		unusedAmount: String,
		manualProrating: False,
		unusedDays: 0,
		quantity: 0,
		minQuantity: 0,
		maxQuantity: 0,
		subtotal: String,
		discountDescription: String,
		discountReceived: String,
		discount: String,
		total: String,
		expiryDate: String,
		renewalDate: String,
		isReferrer: False,
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	}
}