| 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 .csv suffix or ?format=csv
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/csv
Content-Type: text/csv
Content-Length: length
{"buyerPhone":"String","sourceOwnerCardId":0}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"enabled":false,"cards":[{"sourceOwnerCardId":0,"ownerId":0,"ownerCardTypeId":0,"typeName":"String","pricePaid":0,"cardPrice":0,"cardValidFromUTC":"0001-01-01T00:00:00.0000000","cardValidToUTC":"0001-01-01T00:00:00.0000000","paymentStatus":"String","eligible":false,"reasonCode":0,"reason":"String","candidates":[{"ownerCardTypeId":0,"name":"String","description":"String","imageUrl":"String","price":0,"delta":0,"validFromUTC":"0001-01-01T00:00:00.0000000","validToUTC":"0001-01-01T00:00:00.0000000"}]}],"statusCode":0,"message":"String","reason":"String"}