GET | /subscriptions/activate/{ExternalRef} | ||
---|---|---|---|
POST | /subscriptions/activate | ||
GET POST | /ActivateSubscription |
import 'package:servicestack/servicestack.dart';
class ActivateSubscription implements IPost, IConvertible
{
String? externalRef;
String? userAuthId;
bool? agreeTerms;
String? firstName;
String? lastName;
String? email;
String? password;
String? company;
String? phoneNumber;
String? addressLine1;
String? addressLine2;
String? addressCity;
String? addressZip;
String? addressState;
String? addressCountry;
ActivateSubscription({this.externalRef,this.userAuthId,this.agreeTerms,this.firstName,this.lastName,this.email,this.password,this.company,this.phoneNumber,this.addressLine1,this.addressLine2,this.addressCity,this.addressZip,this.addressState,this.addressCountry});
ActivateSubscription.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
externalRef = json['externalRef'];
userAuthId = json['userAuthId'];
agreeTerms = json['agreeTerms'];
firstName = json['firstName'];
lastName = json['lastName'];
email = json['email'];
password = json['password'];
company = json['company'];
phoneNumber = json['phoneNumber'];
addressLine1 = json['addressLine1'];
addressLine2 = json['addressLine2'];
addressCity = json['addressCity'];
addressZip = json['addressZip'];
addressState = json['addressState'];
addressCountry = json['addressCountry'];
return this;
}
Map<String, dynamic> toJson() => {
'externalRef': externalRef,
'userAuthId': userAuthId,
'agreeTerms': agreeTerms,
'firstName': firstName,
'lastName': lastName,
'email': email,
'password': password,
'company': company,
'phoneNumber': phoneNumber,
'addressLine1': addressLine1,
'addressLine2': addressLine2,
'addressCity': addressCity,
'addressZip': addressZip,
'addressState': addressState,
'addressCountry': addressCountry
};
getTypeName() => "ActivateSubscription";
TypeContext? context = _ctx;
}
enum SkuType
{
Product,
PerDev,
PerCore,
Site,
Support,
Training,
Register,
Payment,
}
enum LicenseType
{
Free,
FreeIndividual,
FreeOpenSource,
Indie,
Business,
Enterprise,
TextIndie,
TextBusiness,
OrmLiteIndie,
OrmLiteBusiness,
RedisIndie,
RedisBusiness,
AwsIndie,
AwsBusiness,
Trial,
Site,
TextSite,
RedisSite,
OrmLiteSite,
}
class LicenseKey implements IConvertible
{
String? ref;
String? name;
LicenseType? type;
int? meta;
String? hash;
String? halg;
DateTime? expiry;
LicenseKey({this.ref,this.name,this.type,this.meta,this.hash,this.halg,this.expiry});
LicenseKey.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ref = json['ref'];
name = json['name'];
type = JsonConverters.fromJson(json['type'],'LicenseType',context!);
meta = json['meta'];
hash = json['hash'];
halg = json['halg'];
expiry = JsonConverters.fromJson(json['expiry'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ref': ref,
'name': name,
'type': JsonConverters.toJson(type,'LicenseType',context!),
'meta': meta,
'hash': hash,
'halg': halg,
'expiry': JsonConverters.toJson(expiry,'DateTime',context!)
};
getTypeName() => "LicenseKey";
TypeContext? context = _ctx;
}
class Subscription implements IConvertible
{
int? id;
int? customerId;
String? email;
int? skuId;
String? skuName;
SkuType? skuType;
String? code;
int? quantity;
int? supportQuantity;
int? total;
bool? isPlan;
bool? isRenewal;
int? subscriptionDurationDays;
DateTime? renewalDate;
String? licenseRef;
String? licenseName;
String? licenseAddress;
LicenseType? licenseType;
DateTime? expiryDate;
LicenseKey? licenseKey;
String? licenseKeyText;
DateTime? createdDate;
DateTime? modifiedDate;
DateTime? cancelledDate;
String? stripeSubscriptionId;
int? emailId;
int? emailRenewalId;
int? emailExpiredId;
int? renewalSubscriptionId;
String? externalRef;
String? notes;
String? error;
Subscription({this.id,this.customerId,this.email,this.skuId,this.skuName,this.skuType,this.code,this.quantity,this.supportQuantity,this.total,this.isPlan,this.isRenewal,this.subscriptionDurationDays,this.renewalDate,this.licenseRef,this.licenseName,this.licenseAddress,this.licenseType,this.expiryDate,this.licenseKey,this.licenseKeyText,this.createdDate,this.modifiedDate,this.cancelledDate,this.stripeSubscriptionId,this.emailId,this.emailRenewalId,this.emailExpiredId,this.renewalSubscriptionId,this.externalRef,this.notes,this.error});
Subscription.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
customerId = json['customerId'];
email = json['email'];
skuId = json['skuId'];
skuName = json['skuName'];
skuType = JsonConverters.fromJson(json['skuType'],'SkuType',context!);
code = json['code'];
quantity = json['quantity'];
supportQuantity = json['supportQuantity'];
total = json['total'];
isPlan = json['isPlan'];
isRenewal = json['isRenewal'];
subscriptionDurationDays = json['subscriptionDurationDays'];
renewalDate = JsonConverters.fromJson(json['renewalDate'],'DateTime',context!);
licenseRef = json['licenseRef'];
licenseName = json['licenseName'];
licenseAddress = json['licenseAddress'];
licenseType = JsonConverters.fromJson(json['licenseType'],'LicenseType',context!);
expiryDate = JsonConverters.fromJson(json['expiryDate'],'DateTime',context!);
licenseKey = JsonConverters.fromJson(json['licenseKey'],'LicenseKey',context!);
licenseKeyText = json['licenseKeyText'];
createdDate = JsonConverters.fromJson(json['createdDate'],'DateTime',context!);
modifiedDate = JsonConverters.fromJson(json['modifiedDate'],'DateTime',context!);
cancelledDate = JsonConverters.fromJson(json['cancelledDate'],'DateTime',context!);
stripeSubscriptionId = json['stripeSubscriptionId'];
emailId = json['emailId'];
emailRenewalId = json['emailRenewalId'];
emailExpiredId = json['emailExpiredId'];
renewalSubscriptionId = json['renewalSubscriptionId'];
externalRef = json['externalRef'];
notes = json['notes'];
error = json['error'];
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'customerId': customerId,
'email': email,
'skuId': skuId,
'skuName': skuName,
'skuType': JsonConverters.toJson(skuType,'SkuType',context!),
'code': code,
'quantity': quantity,
'supportQuantity': supportQuantity,
'total': total,
'isPlan': isPlan,
'isRenewal': isRenewal,
'subscriptionDurationDays': subscriptionDurationDays,
'renewalDate': JsonConverters.toJson(renewalDate,'DateTime',context!),
'licenseRef': licenseRef,
'licenseName': licenseName,
'licenseAddress': licenseAddress,
'licenseType': JsonConverters.toJson(licenseType,'LicenseType',context!),
'expiryDate': JsonConverters.toJson(expiryDate,'DateTime',context!),
'licenseKey': JsonConverters.toJson(licenseKey,'LicenseKey',context!),
'licenseKeyText': licenseKeyText,
'createdDate': JsonConverters.toJson(createdDate,'DateTime',context!),
'modifiedDate': JsonConverters.toJson(modifiedDate,'DateTime',context!),
'cancelledDate': JsonConverters.toJson(cancelledDate,'DateTime',context!),
'stripeSubscriptionId': stripeSubscriptionId,
'emailId': emailId,
'emailRenewalId': emailRenewalId,
'emailExpiredId': emailExpiredId,
'renewalSubscriptionId': renewalSubscriptionId,
'externalRef': externalRef,
'notes': notes,
'error': error
};
getTypeName() => "Subscription";
TypeContext? context = _ctx;
}
class ActivateSubscriptionResponse implements IConvertible
{
Subscription? subscription;
ResponseStatus? responseStatus;
ActivateSubscriptionResponse({this.subscription,this.responseStatus});
ActivateSubscriptionResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
subscription = JsonConverters.fromJson(json['subscription'],'Subscription',context!);
responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'subscription': JsonConverters.toJson(subscription,'Subscription',context!),
'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
};
getTypeName() => "ActivateSubscriptionResponse";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'account.servicestack.net', types: <String, TypeInfo> {
'ActivateSubscription': TypeInfo(TypeOf.Class, create:() => ActivateSubscription()),
'SkuType': TypeInfo(TypeOf.Enum, enumValues:SkuType.values),
'LicenseType': TypeInfo(TypeOf.Enum, enumValues:LicenseType.values),
'LicenseKey': TypeInfo(TypeOf.Class, create:() => LicenseKey()),
'Subscription': TypeInfo(TypeOf.Class, create:() => Subscription()),
'ActivateSubscriptionResponse': TypeInfo(TypeOf.Class, create:() => ActivateSubscriptionResponse()),
});
Dart ActivateSubscription DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
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/csv
Content-Type: text/csv
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/csv 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"}}}