| Requires any of the roles: | Admin, TeamAdmin | Requires the permission: | ReadData |
| POST | /OrderOwnerCards/upgrade/candidates | Live owner cards of a verified phone and the card types each may be upgraded to (rules U1-U10) |
|---|
import 'package:servicestack/servicestack.dart';
class OwnerCardUpgradeResultBase implements IConvertible
{
int? statusCode;
String? message;
String? reason;
OwnerCardUpgradeResultBase({this.statusCode,this.message,this.reason});
OwnerCardUpgradeResultBase.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
statusCode = json['statusCode'];
message = json['message'];
reason = json['reason'];
return this;
}
Map<String, dynamic> toJson() => {
'statusCode': statusCode,
'message': message,
'reason': reason
};
getTypeName() => "OwnerCardUpgradeResultBase";
TypeContext? context = _ctx;
}
class OwnerCardUpgradeTarget implements IConvertible
{
int? ownerCardTypeId;
String? name;
String? description;
String? imageUrl;
int? price;
int? delta;
DateTime? validFromUTC;
DateTime? validToUTC;
OwnerCardUpgradeTarget({this.ownerCardTypeId,this.name,this.description,this.imageUrl,this.price,this.delta,this.validFromUTC,this.validToUTC});
OwnerCardUpgradeTarget.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ownerCardTypeId = json['ownerCardTypeId'];
name = json['name'];
description = json['description'];
imageUrl = json['imageUrl'];
price = json['price'];
delta = json['delta'];
validFromUTC = JsonConverters.fromJson(json['validFromUTC'],'DateTime',context!);
validToUTC = JsonConverters.fromJson(json['validToUTC'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ownerCardTypeId': ownerCardTypeId,
'name': name,
'description': description,
'imageUrl': imageUrl,
'price': price,
'delta': delta,
'validFromUTC': JsonConverters.toJson(validFromUTC,'DateTime',context!),
'validToUTC': JsonConverters.toJson(validToUTC,'DateTime',context!)
};
getTypeName() => "OwnerCardUpgradeTarget";
TypeContext? context = _ctx;
}
class OwnerCardUpgradeSource implements IConvertible
{
int? sourceOwnerCardId;
int? ownerId;
int? ownerCardTypeId;
String? typeName;
int? pricePaid;
int? cardPrice;
DateTime? cardValidFromUTC;
DateTime? cardValidToUTC;
String? paymentStatus;
bool? eligible;
int? reasonCode;
String? reason;
List<OwnerCardUpgradeTarget>? candidates;
OwnerCardUpgradeSource({this.sourceOwnerCardId,this.ownerId,this.ownerCardTypeId,this.typeName,this.pricePaid,this.cardPrice,this.cardValidFromUTC,this.cardValidToUTC,this.paymentStatus,this.eligible,this.reasonCode,this.reason,this.candidates});
OwnerCardUpgradeSource.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
sourceOwnerCardId = json['sourceOwnerCardId'];
ownerId = json['ownerId'];
ownerCardTypeId = json['ownerCardTypeId'];
typeName = json['typeName'];
pricePaid = json['pricePaid'];
cardPrice = json['cardPrice'];
cardValidFromUTC = JsonConverters.fromJson(json['cardValidFromUTC'],'DateTime',context!);
cardValidToUTC = JsonConverters.fromJson(json['cardValidToUTC'],'DateTime',context!);
paymentStatus = json['paymentStatus'];
eligible = json['eligible'];
reasonCode = json['reasonCode'];
reason = json['reason'];
candidates = JsonConverters.fromJson(json['candidates'],'List<OwnerCardUpgradeTarget>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'sourceOwnerCardId': sourceOwnerCardId,
'ownerId': ownerId,
'ownerCardTypeId': ownerCardTypeId,
'typeName': typeName,
'pricePaid': pricePaid,
'cardPrice': cardPrice,
'cardValidFromUTC': JsonConverters.toJson(cardValidFromUTC,'DateTime',context!),
'cardValidToUTC': JsonConverters.toJson(cardValidToUTC,'DateTime',context!),
'paymentStatus': paymentStatus,
'eligible': eligible,
'reasonCode': reasonCode,
'reason': reason,
'candidates': JsonConverters.toJson(candidates,'List<OwnerCardUpgradeTarget>',context!)
};
getTypeName() => "OwnerCardUpgradeSource";
TypeContext? context = _ctx;
}
class OwnerCardsUpgradeCandidatesResult extends OwnerCardUpgradeResultBase implements IConvertible
{
bool? enabled;
List<OwnerCardUpgradeSource>? cards;
OwnerCardsUpgradeCandidatesResult({this.enabled,this.cards});
OwnerCardsUpgradeCandidatesResult.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
enabled = json['enabled'];
cards = JsonConverters.fromJson(json['cards'],'List<OwnerCardUpgradeSource>',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'enabled': enabled,
'cards': JsonConverters.toJson(cards,'List<OwnerCardUpgradeSource>',context!)
});
getTypeName() => "OwnerCardsUpgradeCandidatesResult";
TypeContext? context = _ctx;
}
class OwnerCardsUpgradeCandidatesRequest implements IConvertible
{
String? buyerPhone;
int? sourceOwnerCardId;
OwnerCardsUpgradeCandidatesRequest({this.buyerPhone,this.sourceOwnerCardId});
OwnerCardsUpgradeCandidatesRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
buyerPhone = json['buyerPhone'];
sourceOwnerCardId = json['sourceOwnerCardId'];
return this;
}
Map<String, dynamic> toJson() => {
'buyerPhone': buyerPhone,
'sourceOwnerCardId': sourceOwnerCardId
};
getTypeName() => "OwnerCardsUpgradeCandidatesRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'stubbur_app.azurewebsites.net', types: <String, TypeInfo> {
'OwnerCardUpgradeResultBase': TypeInfo(TypeOf.Class, create:() => OwnerCardUpgradeResultBase()),
'OwnerCardUpgradeTarget': TypeInfo(TypeOf.Class, create:() => OwnerCardUpgradeTarget()),
'OwnerCardUpgradeSource': TypeInfo(TypeOf.Class, create:() => OwnerCardUpgradeSource()),
'List<OwnerCardUpgradeTarget>': TypeInfo(TypeOf.Class, create:() => <OwnerCardUpgradeTarget>[]),
'OwnerCardsUpgradeCandidatesResult': TypeInfo(TypeOf.Class, create:() => OwnerCardsUpgradeCandidatesResult()),
'List<OwnerCardUpgradeSource>': TypeInfo(TypeOf.Class, create:() => <OwnerCardUpgradeSource>[]),
'OwnerCardsUpgradeCandidatesRequest': TypeInfo(TypeOf.Class, create:() => OwnerCardsUpgradeCandidatesRequest()),
});
Dart OwnerCardsUpgradeCandidatesRequest DTOs
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 /OrderOwnerCards/upgrade/candidates HTTP/1.1
Host: stubbur-app.azurewebsites.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
buyerPhone: String,
sourceOwnerCardId: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
enabled: False,
cards:
[
{
sourceOwnerCardId: 0,
ownerId: 0,
ownerCardTypeId: 0,
typeName: String,
pricePaid: 0,
cardPrice: 0,
cardValidFromUTC: 0001-01-01,
cardValidToUTC: 0001-01-01,
paymentStatus: String,
eligible: False,
reasonCode: 0,
reason: String,
candidates:
[
{
ownerCardTypeId: 0,
name: String,
description: String,
imageUrl: String,
price: 0,
delta: 0,
validFromUTC: 0001-01-01,
validToUTC: 0001-01-01
}
]
}
],
statusCode: 0,
message: String,
reason: String
}