All Verbs | /quote/{Id}/{Quantity} | ||
---|---|---|---|
All Verbs | /quote/{Id}/{Quantity}/{Coupon} | ||
GET | /GetQuote | ||
GET | /GetQuote/{Id} |
import 'package:servicestack/servicestack.dart';
class QuoteResponse implements IConvertible
{
int? skuId;
String? code;
int? customerId;
bool? modifyingExistingSubscription;
bool? changingSubscriptions;
bool? switchingLicensingModels;
bool? replacesExistingQuantity;
int? existingSubscriptionQuantity;
int? newSubscriptionQuantity;
String? unusedAmount;
bool? manualProrating;
int? unusedDays;
int? quantity;
int? minQuantity;
int? maxQuantity;
String? subtotal;
String? discountDescription;
String? discountReceived;
String? discount;
String? total;
String? expiryDate;
String? renewalDate;
bool? isReferrer;
ResponseStatus? responseStatus;
QuoteResponse({this.skuId,this.code,this.customerId,this.modifyingExistingSubscription,this.changingSubscriptions,this.switchingLicensingModels,this.replacesExistingQuantity,this.existingSubscriptionQuantity,this.newSubscriptionQuantity,this.unusedAmount,this.manualProrating,this.unusedDays,this.quantity,this.minQuantity,this.maxQuantity,this.subtotal,this.discountDescription,this.discountReceived,this.discount,this.total,this.expiryDate,this.renewalDate,this.isReferrer,this.responseStatus});
QuoteResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
skuId = json['skuId'];
code = json['code'];
customerId = json['customerId'];
modifyingExistingSubscription = json['modifyingExistingSubscription'];
changingSubscriptions = json['changingSubscriptions'];
switchingLicensingModels = json['switchingLicensingModels'];
replacesExistingQuantity = json['replacesExistingQuantity'];
existingSubscriptionQuantity = json['existingSubscriptionQuantity'];
newSubscriptionQuantity = json['newSubscriptionQuantity'];
unusedAmount = json['unusedAmount'];
manualProrating = json['manualProrating'];
unusedDays = json['unusedDays'];
quantity = json['quantity'];
minQuantity = json['minQuantity'];
maxQuantity = json['maxQuantity'];
subtotal = json['subtotal'];
discountDescription = json['discountDescription'];
discountReceived = json['discountReceived'];
discount = json['discount'];
total = json['total'];
expiryDate = json['expiryDate'];
renewalDate = json['renewalDate'];
isReferrer = json['isReferrer'];
responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'skuId': skuId,
'code': code,
'customerId': customerId,
'modifyingExistingSubscription': modifyingExistingSubscription,
'changingSubscriptions': changingSubscriptions,
'switchingLicensingModels': switchingLicensingModels,
'replacesExistingQuantity': replacesExistingQuantity,
'existingSubscriptionQuantity': existingSubscriptionQuantity,
'newSubscriptionQuantity': newSubscriptionQuantity,
'unusedAmount': unusedAmount,
'manualProrating': manualProrating,
'unusedDays': unusedDays,
'quantity': quantity,
'minQuantity': minQuantity,
'maxQuantity': maxQuantity,
'subtotal': subtotal,
'discountDescription': discountDescription,
'discountReceived': discountReceived,
'discount': discount,
'total': total,
'expiryDate': expiryDate,
'renewalDate': renewalDate,
'isReferrer': isReferrer,
'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
};
getTypeName() => "QuoteResponse";
TypeContext? context = _ctx;
}
class GetQuote implements IGet, IConvertible
{
int? id;
int? quantity;
String? coupon;
String? renewalRef;
String? upgradeRef;
GetQuote({this.id,this.quantity,this.coupon,this.renewalRef,this.upgradeRef});
GetQuote.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
quantity = json['quantity'];
coupon = json['coupon'];
renewalRef = json['renewalRef'];
upgradeRef = json['upgradeRef'];
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'quantity': quantity,
'coupon': coupon,
'renewalRef': renewalRef,
'upgradeRef': upgradeRef
};
getTypeName() => "GetQuote";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'account.servicestack.net', types: <String, TypeInfo> {
'QuoteResponse': TypeInfo(TypeOf.Class, create:() => QuoteResponse()),
'GetQuote': TypeInfo(TypeOf.Class, create:() => GetQuote()),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /quote/{Id}/{Quantity} HTTP/1.1
Host: account.servicestack.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
id: 0,
quantity: 0,
coupon: String,
renewalRef: String,
upgradeRef: String
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { 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 } } }