GET | /subscriptions/activate/{ExternalRef} | ||
---|---|---|---|
POST | /subscriptions/activate | ||
GET POST | /ActivateSubscription |
import Foundation
import ServiceStack
public class ActivateSubscription : IPost, Codable
{
public var externalRef:String
public var userAuthId:String
public var agreeTerms:Bool
public var firstName:String
public var lastName:String
public var email:String
public var password:String
public var company:String
public var phoneNumber:String
public var addressLine1:String
public var addressLine2:String
public var addressCity:String
public var addressZip:String
public var addressState:String
public var addressCountry:String
required public init(){}
}
public class ActivateSubscriptionResponse : Codable
{
public var subscription:Subscription
public var responseStatus:ResponseStatus
required public init(){}
}
public class Subscription : Codable
{
public var id:Int
public var customerId:Int
public var email:String
public var skuId:Int
public var skuName:String
public var skuType:SkuType
public var code:String
public var quantity:Int
public var supportQuantity:Int
public var total:Int
public var isPlan:Bool
public var isRenewal:Bool
public var subscriptionDurationDays:Int
public var renewalDate:Date?
public var licenseRef:String
public var licenseName:String
public var licenseAddress:String
public var licenseType:LicenseType
public var expiryDate:Date
public var licenseKey:LicenseKey
public var licenseKeyText:String
public var createdDate:Date
public var modifiedDate:Date
public var cancelledDate:Date?
public var stripeSubscriptionId:String
public var emailId:Int?
public var emailRenewalId:Int?
public var emailExpiredId:Int?
public var renewalSubscriptionId:Int?
public var externalRef:String
public var notes:String
public var error:String
required public init(){}
}
public enum SkuType : String, Codable
{
case Product
case PerDev
case PerCore
case Site
case Support
case Training
case Register
case Payment
}
public enum LicenseType : String, Codable
{
case Free
case FreeIndividual
case FreeOpenSource
case Indie
case Business
case Enterprise
case TextIndie
case TextBusiness
case OrmLiteIndie
case OrmLiteBusiness
case RedisIndie
case RedisBusiness
case AwsIndie
case AwsBusiness
case Trial
case Site
case TextSite
case RedisSite
case OrmLiteSite
}
public class LicenseKey : Codable
{
public var ref:String
public var name:String
public var type:LicenseType
public var meta:Int
public var hash:String
public var halg:String
public var expiry:Date
required public init(){}
}
Swift ActivateSubscription DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /subscriptions/activate HTTP/1.1
Host: account.servicestack.net
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length
{"externalRef":"String","userAuthId":"String","agreeTerms":false,"firstName":"String","lastName":"String","email":"String","password":"String","company":"String","phoneNumber":"String","addressLine1":"String","addressLine2":"String","addressCity":"String","addressZip":"String","addressState":"String","addressCountry":"String"}
HTTP/1.1 200 OK Content-Type: text/jsonl Content-Length: length {"subscription":{"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"},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}