POST | /paydown |
---|
import 'package:servicestack/servicestack.dart';
class PaydownResponse implements IConvertible
{
ResponseStatus? responseStatus;
PaydownResponse({this.responseStatus});
PaydownResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
};
getTypeName() => "PaydownResponse";
TypeContext? context = _ctx;
}
class PaydownPayment implements IConvertible
{
String? paymentType;
double? paymentAmount;
PaydownPayment({this.paymentType,this.paymentAmount});
PaydownPayment.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
paymentType = json['paymentType'];
paymentAmount = JsonConverters.toDouble(json['paymentAmount']);
return this;
}
Map<String, dynamic> toJson() => {
'paymentType': paymentType,
'paymentAmount': paymentAmount
};
getTypeName() => "PaydownPayment";
TypeContext? context = _ctx;
}
class PaydownPaymentFee implements IConvertible
{
String? feeSystemKeyword;
double? feeAmount;
PaydownPaymentFee({this.feeSystemKeyword,this.feeAmount});
PaydownPaymentFee.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
feeSystemKeyword = json['feeSystemKeyword'];
feeAmount = JsonConverters.toDouble(json['feeAmount']);
return this;
}
Map<String, dynamic> toJson() => {
'feeSystemKeyword': feeSystemKeyword,
'feeAmount': feeAmount
};
getTypeName() => "PaydownPaymentFee";
TypeContext? context = _ctx;
}
class Paydown implements IPost, IConvertible
{
double? beeNumber;
DateTime? transactionDate;
List<PaydownPayment>? payments;
List<PaydownPaymentFee>? fees;
Paydown({this.beeNumber,this.transactionDate,this.payments,this.fees});
Paydown.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
beeNumber = JsonConverters.toDouble(json['beeNumber']);
transactionDate = JsonConverters.fromJson(json['transactionDate'],'DateTime',context!);
payments = JsonConverters.fromJson(json['payments'],'List<PaydownPayment>',context!);
fees = JsonConverters.fromJson(json['fees'],'List<PaydownPaymentFee>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'beeNumber': beeNumber,
'transactionDate': JsonConverters.toJson(transactionDate,'DateTime',context!),
'payments': JsonConverters.toJson(payments,'List<PaydownPayment>',context!),
'fees': JsonConverters.toJson(fees,'List<PaydownPaymentFee>',context!)
};
getTypeName() => "Paydown";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'extensions.avon.ca', types: <String, TypeInfo> {
'PaydownResponse': TypeInfo(TypeOf.Class, create:() => PaydownResponse()),
'PaydownPayment': TypeInfo(TypeOf.Class, create:() => PaydownPayment()),
'PaydownPaymentFee': TypeInfo(TypeOf.Class, create:() => PaydownPaymentFee()),
'Paydown': TypeInfo(TypeOf.Class, create:() => Paydown()),
'List<PaydownPayment>': TypeInfo(TypeOf.Class, create:() => <PaydownPayment>[]),
'List<PaydownPaymentFee>': TypeInfo(TypeOf.Class, create:() => <PaydownPaymentFee>[]),
});
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 /paydown HTTP/1.1
Host: extensions.avon.ca
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"beeNumber":0,"transactionDate":"0001-01-01T00:00:00.0000000","payments":[{"paymentType":"String","paymentAmount":0}],"fees":[{"feeSystemKeyword":"String","feeAmount":0}]}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}