ServiceStack Home (Live)

<back to all web services

Subscriptions

Requires Authentication
The following routes are available for this service:
All Verbs/account/subscription
GET/Subscriptions
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*


open class Subscriptions
{
    open var section:String? = null
    open var success:Boolean? = null
    open var activated:Boolean? = null
    open var purchasedOrderId:Int? = null
}

open class SubscriptionsResponse
{
    open var section:String? = null
    open var supportQuantity:Int? = null
    open var activeSku:Sku? = null
    open var activeSubscription:Subscription? = null
    open var inActiveSubscriptions:ArrayList<Subscription>? = null
    open var purchasedOrder:OrderAnalyticData? = null
    open var responseStatus:ResponseStatus? = null
}

open class Sku
{
    open var id:Int? = null
    open var productId:Int? = null
    @SerializedName("type") open var Type:SkuType? = null
    open var feature:LicenseFeature? = null
    open var code:String? = null
    open var name:String? = null
    open var notes:String? = null
    @Ignore()
    open var minQty:Int? = null

    open var maxQty:Int? = null
    open var price:Int? = null
    open var plan:String? = null
    open var discountOff:Int? = null
    open var discountLabelOff:String? = null
    open var actualPrice:Int? = null
    open var isPlan:Boolean? = null
    open var isRenewal:Boolean? = null
    open var subscriptionDurationDays:Int? = null
    open var expiryDurationDays:Int? = null
    open var trialPeriodDays:Int? = null
    open var supportQty:Int? = null
    open var coresQty:Int? = null
    open var createdDate:Date? = null
    open var modifiedDate:Date? = null
    open var licenseType:LicenseType? = null
    open var active:Boolean? = null
}

enum class SkuType
{
    Product,
    PerDev,
    PerCore,
    Site,
    Support,
    Training,
    Register,
    Payment,
}

@Flags()
enum class LicenseFeature(val value:Int)
{
    @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),
}

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

open class Subscription
{
    open var id:Int? = null
    open var customerId:Int? = null
    open var email:String? = null
    open var skuId:Int? = null
    open var skuName:String? = null
    open var skuType:SkuType? = null
    open var code:String? = null
    open var quantity:Int? = null
    open var supportQuantity:Int? = null
    open var total:Int? = null
    open var isPlan:Boolean? = null
    open var isRenewal:Boolean? = null
    open var subscriptionDurationDays:Int? = null
    open var renewalDate:Date? = null
    open var licenseRef:String? = null
    open var licenseName:String? = null
    open var licenseAddress:String? = null
    open var licenseType:LicenseType? = null
    open var expiryDate:Date? = null
    open var licenseKey:LicenseKey? = null
    open var licenseKeyText:String? = null
    open var createdDate:Date? = null
    open var modifiedDate:Date? = null
    open var cancelledDate:Date? = null
    open var stripeSubscriptionId:String? = null
    open var emailId:Int? = null
    open var emailRenewalId:Int? = null
    open var emailExpiredId:Int? = null
    open var renewalSubscriptionId:Int? = null
    open var externalRef:String? = null
    open var notes:String? = null
    open var error:String? = null
}

open class LicenseKey
{
    open var ref:String? = null
    open var name:String? = null
    @SerializedName("type") open var Type:LicenseType? = null
    open var meta:Long? = null
    open var hash:String? = null
    open var halg:String? = null
    open var expiry:Date? = null
}

open class OrderAnalyticData
{
    open var productName:String? = null
    open var subTotal:Int? = null
    open var couponId:String? = null
    open var discount:Int? = null
    open var tax:Int? = null
    open var total:Int? = null
    open var paid:Boolean? = null
    open var createdDate:Date? = null
    open var modifiedDate:Date? = null
    open var modifiedBy:String? = null
    open var cancelledDate:Date? = null
    open var cancelledReason:String? = null
    open var orderDetails:ArrayList<OrderDetail>? = null
}

open class OrderDetail
{
    open var id:Int? = null
    open var orderId:Int? = null
    open var skuId:Int? = null
    open var skuType:SkuType? = null
    open var price:Int? = null
    open var description:String? = null
    open var quantity:Int? = null
    open var total:Int? = null
}

Kotlin Subscriptions 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

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /account/subscription HTTP/1.1 
Host: account.servicestack.net 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"section":"String","success":false,"activated":false,"purchasedOrderId":0}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"section":"String","supportQuantity":0,"activeSku":{"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":"\/Date(-62135596800000-0000)\/","modifiedDate":"\/Date(-62135596800000-0000)\/","licenseType":"Free","active":false},"activeSubscription":{"id":0,"customerId":0,"email":"String","skuId":0,"skuName":"String","skuType":"Product","code":"String","quantity":0,"supportQuantity":0,"total":0,"isPlan":false,"isRenewal":false,"subscriptionDurationDays":0,"renewalDate":"\/Date(-62135596800000-0000)\/","licenseRef":"String","licenseName":"String","licenseAddress":"String","licenseType":"Free","expiryDate":"\/Date(-62135596800000-0000)\/","licenseKey":{"ref":"String","name":"String","type":"Free","meta":0,"hash":"String","halg":"String","expiry":"\/Date(-62135596800000-0000)\/"},"licenseKeyText":"String","createdDate":"\/Date(-62135596800000-0000)\/","modifiedDate":"\/Date(-62135596800000-0000)\/","cancelledDate":"\/Date(-62135596800000-0000)\/","stripeSubscriptionId":"String","emailId":0,"emailRenewalId":0,"emailExpiredId":0,"renewalSubscriptionId":0,"externalRef":"String","notes":"String","error":"String"},"inActiveSubscriptions":[{"id":0,"customerId":0,"email":"String","skuId":0,"skuName":"String","skuType":"Product","code":"String","quantity":0,"supportQuantity":0,"total":0,"isPlan":false,"isRenewal":false,"subscriptionDurationDays":0,"renewalDate":"\/Date(-62135596800000-0000)\/","licenseRef":"String","licenseName":"String","licenseAddress":"String","licenseType":"Free","expiryDate":"\/Date(-62135596800000-0000)\/","licenseKey":{"ref":"String","name":"String","type":"Free","meta":0,"hash":"String","halg":"String","expiry":"\/Date(-62135596800000-0000)\/"},"licenseKeyText":"String","createdDate":"\/Date(-62135596800000-0000)\/","modifiedDate":"\/Date(-62135596800000-0000)\/","cancelledDate":"\/Date(-62135596800000-0000)\/","stripeSubscriptionId":"String","emailId":0,"emailRenewalId":0,"emailExpiredId":0,"renewalSubscriptionId":0,"externalRef":"String","notes":"String","error":"String"}],"purchasedOrder":{"productName":"String","subTotal":0,"couponId":"String","discount":0,"tax":0,"total":0,"paid":false,"createdDate":"\/Date(-62135596800000-0000)\/","modifiedDate":"\/Date(-62135596800000-0000)\/","modifiedBy":"String","cancelledDate":"\/Date(-62135596800000-0000)\/","cancelledReason":"String","orderDetails":[{"id":0,"orderId":0,"skuId":0,"skuType":"Product","price":0,"description":"String","quantity":0,"total":0}]},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}