| Requires any of the roles: | Admin, TeamAdmin | Requires the permission: | ReadData |
| GET | /Webshop/Order/Ledger/{OrderId} |
|---|
import 'package:servicestack/servicestack.dart';
class WebshopOrderLineSummary implements IConvertible
{
int? id;
int? productId;
int? variantId;
String? productName;
String? size;
String? color;
int? unitPriceMinor;
int? quantity;
int? lineTotalMinor;
String? status;
int? payoutInfoId;
String? payoutTag;
WebshopOrderLineSummary({this.id,this.productId,this.variantId,this.productName,this.size,this.color,this.unitPriceMinor,this.quantity,this.lineTotalMinor,this.status,this.payoutInfoId,this.payoutTag});
WebshopOrderLineSummary.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
productId = json['productId'];
variantId = json['variantId'];
productName = json['productName'];
size = json['size'];
color = json['color'];
unitPriceMinor = json['unitPriceMinor'];
quantity = json['quantity'];
lineTotalMinor = json['lineTotalMinor'];
status = json['status'];
payoutInfoId = json['payoutInfoId'];
payoutTag = json['payoutTag'];
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'productId': productId,
'variantId': variantId,
'productName': productName,
'size': size,
'color': color,
'unitPriceMinor': unitPriceMinor,
'quantity': quantity,
'lineTotalMinor': lineTotalMinor,
'status': status,
'payoutInfoId': payoutInfoId,
'payoutTag': payoutTag
};
getTypeName() => "WebshopOrderLineSummary";
TypeContext? context = _ctx;
}
class WebshopOrderSummary implements IConvertible
{
int? id;
String? orderReference;
int? ownerId;
String? status;
int? totalMinor;
int? deliveryFeeMinor;
int? totalDiscountMinor;
String? currency;
String? buyerName;
String? buyerEmail;
String? buyerPhone;
String? address;
String? city;
String? zipCode;
String? country;
String? deliveryType;
String? droppOrderId;
String? droppLocationId;
bool? needsDeliveryAttention;
String? paymentMethodId;
String? paymentId;
String? paymentReference;
String? discountCode;
int? giftPaidMinor;
DateTime? createdAt;
DateTime? updatedAt;
List<WebshopOrderLineSummary>? lines;
WebshopOrderSummary({this.id,this.orderReference,this.ownerId,this.status,this.totalMinor,this.deliveryFeeMinor,this.totalDiscountMinor,this.currency,this.buyerName,this.buyerEmail,this.buyerPhone,this.address,this.city,this.zipCode,this.country,this.deliveryType,this.droppOrderId,this.droppLocationId,this.needsDeliveryAttention,this.paymentMethodId,this.paymentId,this.paymentReference,this.discountCode,this.giftPaidMinor,this.createdAt,this.updatedAt,this.lines});
WebshopOrderSummary.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
orderReference = json['orderReference'];
ownerId = json['ownerId'];
status = json['status'];
totalMinor = json['totalMinor'];
deliveryFeeMinor = json['deliveryFeeMinor'];
totalDiscountMinor = json['totalDiscountMinor'];
currency = json['currency'];
buyerName = json['buyerName'];
buyerEmail = json['buyerEmail'];
buyerPhone = json['buyerPhone'];
address = json['address'];
city = json['city'];
zipCode = json['zipCode'];
country = json['country'];
deliveryType = json['deliveryType'];
droppOrderId = json['droppOrderId'];
droppLocationId = json['droppLocationId'];
needsDeliveryAttention = json['needsDeliveryAttention'];
paymentMethodId = json['paymentMethodId'];
paymentId = json['paymentId'];
paymentReference = json['paymentReference'];
discountCode = json['discountCode'];
giftPaidMinor = json['giftPaidMinor'];
createdAt = JsonConverters.fromJson(json['createdAt'],'DateTime',context!);
updatedAt = JsonConverters.fromJson(json['updatedAt'],'DateTime',context!);
lines = JsonConverters.fromJson(json['lines'],'List<WebshopOrderLineSummary>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'orderReference': orderReference,
'ownerId': ownerId,
'status': status,
'totalMinor': totalMinor,
'deliveryFeeMinor': deliveryFeeMinor,
'totalDiscountMinor': totalDiscountMinor,
'currency': currency,
'buyerName': buyerName,
'buyerEmail': buyerEmail,
'buyerPhone': buyerPhone,
'address': address,
'city': city,
'zipCode': zipCode,
'country': country,
'deliveryType': deliveryType,
'droppOrderId': droppOrderId,
'droppLocationId': droppLocationId,
'needsDeliveryAttention': needsDeliveryAttention,
'paymentMethodId': paymentMethodId,
'paymentId': paymentId,
'paymentReference': paymentReference,
'discountCode': discountCode,
'giftPaidMinor': giftPaidMinor,
'createdAt': JsonConverters.toJson(createdAt,'DateTime',context!),
'updatedAt': JsonConverters.toJson(updatedAt,'DateTime',context!),
'lines': JsonConverters.toJson(lines,'List<WebshopOrderLineSummary>',context!)
};
getTypeName() => "WebshopOrderSummary";
TypeContext? context = _ctx;
}
class WebshopOrderTransaction implements IConvertible
{
int? id;
int? orderId;
// @StringLength(20)
String? kind;
int? amountMinor;
// @StringLength(50)
String? paymentReference;
// @StringLength(300)
String? note;
// @StringLength(100)
String? idempotencyKey;
DateTime? createdAt;
// @StringLength(100)
String? createdBy;
WebshopOrderTransaction({this.id,this.orderId,this.kind,this.amountMinor,this.paymentReference,this.note,this.idempotencyKey,this.createdAt,this.createdBy});
WebshopOrderTransaction.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
orderId = json['orderId'];
kind = json['kind'];
amountMinor = json['amountMinor'];
paymentReference = json['paymentReference'];
note = json['note'];
idempotencyKey = json['idempotencyKey'];
createdAt = JsonConverters.fromJson(json['createdAt'],'DateTime',context!);
createdBy = json['createdBy'];
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'orderId': orderId,
'kind': kind,
'amountMinor': amountMinor,
'paymentReference': paymentReference,
'note': note,
'idempotencyKey': idempotencyKey,
'createdAt': JsonConverters.toJson(createdAt,'DateTime',context!),
'createdBy': createdBy
};
getTypeName() => "WebshopOrderTransaction";
TypeContext? context = _ctx;
}
class WebshopOrderLedgerResult implements IConvertible
{
WebshopOrderSummary? order;
List<WebshopOrderTransaction>? transactions;
int? statusCode;
String? message;
WebshopOrderLedgerResult({this.order,this.transactions,this.statusCode,this.message});
WebshopOrderLedgerResult.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
order = JsonConverters.fromJson(json['order'],'WebshopOrderSummary',context!);
transactions = JsonConverters.fromJson(json['transactions'],'List<WebshopOrderTransaction>',context!);
statusCode = json['statusCode'];
message = json['message'];
return this;
}
Map<String, dynamic> toJson() => {
'order': JsonConverters.toJson(order,'WebshopOrderSummary',context!),
'transactions': JsonConverters.toJson(transactions,'List<WebshopOrderTransaction>',context!),
'statusCode': statusCode,
'message': message
};
getTypeName() => "WebshopOrderLedgerResult";
TypeContext? context = _ctx;
}
class WebshopOrderLedgerRequest implements IConvertible
{
int? orderId;
int? ownerId;
WebshopOrderLedgerRequest({this.orderId,this.ownerId});
WebshopOrderLedgerRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
orderId = json['orderId'];
ownerId = json['ownerId'];
return this;
}
Map<String, dynamic> toJson() => {
'orderId': orderId,
'ownerId': ownerId
};
getTypeName() => "WebshopOrderLedgerRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'stubbur_app.azurewebsites.net', types: <String, TypeInfo> {
'WebshopOrderLineSummary': TypeInfo(TypeOf.Class, create:() => WebshopOrderLineSummary()),
'WebshopOrderSummary': TypeInfo(TypeOf.Class, create:() => WebshopOrderSummary()),
'List<WebshopOrderLineSummary>': TypeInfo(TypeOf.Class, create:() => <WebshopOrderLineSummary>[]),
'WebshopOrderTransaction': TypeInfo(TypeOf.Class, create:() => WebshopOrderTransaction()),
'WebshopOrderLedgerResult': TypeInfo(TypeOf.Class, create:() => WebshopOrderLedgerResult()),
'List<WebshopOrderTransaction>': TypeInfo(TypeOf.Class, create:() => <WebshopOrderTransaction>[]),
'WebshopOrderLedgerRequest': TypeInfo(TypeOf.Class, create:() => WebshopOrderLedgerRequest()),
});
Dart WebshopOrderLedgerRequest 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.
GET /Webshop/Order/Ledger/{OrderId} HTTP/1.1
Host: stubbur-app.azurewebsites.net
Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"order":{"id":0,"orderReference":"String","ownerId":0,"status":"String","totalMinor":0,"deliveryFeeMinor":0,"totalDiscountMinor":0,"currency":"String","buyerName":"String","buyerEmail":"String","buyerPhone":"String","address":"String","city":"String","zipCode":"String","country":"String","deliveryType":"String","droppOrderId":"String","droppLocationId":"String","needsDeliveryAttention":false,"paymentMethodId":"String","paymentId":"String","paymentReference":"String","discountCode":"String","giftPaidMinor":0,"createdAt":"0001-01-01T00:00:00.0000000","updatedAt":"0001-01-01T00:00:00.0000000","lines":[{"id":0,"productId":0,"variantId":0,"productName":"String","size":"String","color":"String","unitPriceMinor":0,"quantity":0,"lineTotalMinor":0,"status":"String","payoutInfoId":0,"payoutTag":"String"}]},"transactions":[{"id":0,"orderId":0,"kind":"String","amountMinor":0,"paymentReference":"String","note":"String","idempotencyKey":"String","createdAt":"0001-01-01T00:00:00.0000000","createdBy":"String"}],"statusCode":0,"message":"String"}