| GET | /deliveryNote/{brand} | Get a list of Delivery Notes |
|---|
import 'package:servicestack/servicestack.dart';
class Amount2 implements IConvertible
{
/**
* Currency ISO Code e.g. EUR, USD
*/
// @ApiMember(Description="Currency ISO Code e.g. EUR, USD", IsRequired=true)
String? currencyIsoCode;
/**
* Cost
*/
// @ApiMember(Description="Cost", IsRequired=true)
double? value;
Amount2({this.currencyIsoCode,this.value});
Amount2.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
currencyIsoCode = json['currencyIsoCode'];
value = JsonConverters.toDouble(json['value']);
return this;
}
Map<String, dynamic> toJson() => {
'currencyIsoCode': currencyIsoCode,
'value': value
};
getTypeName() => "Amount2";
TypeContext? context = _ctx;
}
class DeliveryNoteItem implements IConvertible
{
/**
* Line number of Delivery note document e.g. 10, 90, 10000
*/
// @ApiMember(Description="Line number of Delivery note document e.g. 10, 90, 10000", IsRequired=true)
int? deliveryNotesLineNumber;
/**
* Status e.g. I, P
*/
// @ApiMember(Description="Status e.g. I, P", IsRequired=true)
String? status;
/**
* Article code of product e.g. CRWGSA0032
*/
// @ApiMember(Description="Article code of product e.g. CRWGSA0032", IsRequired=true)
String? articleCode;
/**
* Article description of product
*/
// @ApiMember(Description="Article description of product")
String? articleDescription;
/**
* Article code of product for straps e.g. CRKD12346879
*/
// @ApiMember(Description="Article code of product for straps e.g. CRKD12346879")
String? speakingArticleCode;
/**
* Serial numbers of products
*/
// @ApiMember(Description="Serial numbers of products")
List<String>? serialNumbers;
/**
* ERP ID of purchase order which delivery note attached to e.g. 200232323
*/
// @ApiMember(Description="ERP ID of purchase order which delivery note attached to e.g. 200232323", IsRequired=true)
int? erpOrderNumber;
/**
* Date of purchase order which delivery note attached to e.g. '2023-01-01'
*/
// @ApiMember(Description="Date of purchase order which delivery note attached to e.g. '2023-01-01'", IsRequired=true)
DateTime? erpOrderDate;
/**
* Line number of purchase order which delivery note attached to e.g. '2023-01-01'
*/
// @ApiMember(Description="Line number of purchase order which delivery note attached to e.g. '2023-01-01'", IsRequired=true)
int? erpOrderLineNumber;
/**
* Customer reference of order
*/
// @ApiMember(Description="Customer reference of order")
String? customerReference;
/**
* Carrier name
*/
// @ApiMember(Description="Carrier name")
String? carrier;
/**
* Tracking number
*/
// @ApiMember(Description="Tracking number")
String? trackingNumber;
/**
* Tracking URL
*/
// @ApiMember(Description="Tracking URL")
String? trackingUrl;
/**
* Flag that shows the order is sellable or not
*/
// @ApiMember(Description="Flag that shows the order is sellable or not", IsRequired=true)
bool? isSellable;
/**
* Flag that shows the order is consignment or not
*/
// @ApiMember(Description="Flag that shows the order is consignment or not", IsRequired=true)
bool? isConsignment;
/**
* Flag that shows the order is Automatic Replenishment or not
*/
// @ApiMember(Description="Flag that shows the order is Automatic Replenishment or not", IsRequired=true)
bool? isAutomaticReplenishment;
/**
* Order reason code
*/
// @ApiMember(Description="Order reason code", IsRequired=true)
String? orderReasonCode;
/**
* Original quantity of item
*/
// @ApiMember(Description="Original quantity of item")
DateTime? consignmentDueDate;
/**
* Quantity of item
*/
// @ApiMember(Description="Quantity of item", IsRequired=true)
int? quantity;
/**
* Price of item
*/
// @ApiMember(Description="Price of item", IsRequired=true)
Amount2? unitAmount;
DeliveryNoteItem({this.deliveryNotesLineNumber,this.status,this.articleCode,this.articleDescription,this.speakingArticleCode,this.serialNumbers,this.erpOrderNumber,this.erpOrderDate,this.erpOrderLineNumber,this.customerReference,this.carrier,this.trackingNumber,this.trackingUrl,this.isSellable,this.isConsignment,this.isAutomaticReplenishment,this.orderReasonCode,this.consignmentDueDate,this.quantity,this.unitAmount});
DeliveryNoteItem.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
deliveryNotesLineNumber = json['deliveryNotesLineNumber'];
status = json['status'];
articleCode = json['articleCode'];
articleDescription = json['articleDescription'];
speakingArticleCode = json['speakingArticleCode'];
serialNumbers = JsonConverters.fromJson(json['serialNumbers'],'List<String>',context!);
erpOrderNumber = json['erpOrderNumber'];
erpOrderDate = JsonConverters.fromJson(json['erpOrderDate'],'DateTime',context!);
erpOrderLineNumber = json['erpOrderLineNumber'];
customerReference = json['customerReference'];
carrier = json['carrier'];
trackingNumber = json['trackingNumber'];
trackingUrl = json['trackingUrl'];
isSellable = json['isSellable'];
isConsignment = json['isConsignment'];
isAutomaticReplenishment = json['isAutomaticReplenishment'];
orderReasonCode = json['orderReasonCode'];
consignmentDueDate = JsonConverters.fromJson(json['consignmentDueDate'],'DateTime',context!);
quantity = json['quantity'];
unitAmount = JsonConverters.fromJson(json['unitAmount'],'Amount2',context!);
return this;
}
Map<String, dynamic> toJson() => {
'deliveryNotesLineNumber': deliveryNotesLineNumber,
'status': status,
'articleCode': articleCode,
'articleDescription': articleDescription,
'speakingArticleCode': speakingArticleCode,
'serialNumbers': JsonConverters.toJson(serialNumbers,'List<String>',context!),
'erpOrderNumber': erpOrderNumber,
'erpOrderDate': JsonConverters.toJson(erpOrderDate,'DateTime',context!),
'erpOrderLineNumber': erpOrderLineNumber,
'customerReference': customerReference,
'carrier': carrier,
'trackingNumber': trackingNumber,
'trackingUrl': trackingUrl,
'isSellable': isSellable,
'isConsignment': isConsignment,
'isAutomaticReplenishment': isAutomaticReplenishment,
'orderReasonCode': orderReasonCode,
'consignmentDueDate': JsonConverters.toJson(consignmentDueDate,'DateTime',context!),
'quantity': quantity,
'unitAmount': JsonConverters.toJson(unitAmount,'Amount2',context!)
};
getTypeName() => "DeliveryNoteItem";
TypeContext? context = _ctx;
}
class DeliveryNote implements IConvertible
{
/**
* ID of ERP system e.g. ES100
*/
// @ApiMember(Description="ID of ERP system e.g. ES100", IsRequired=true)
String? erpSystemId;
/**
* POS Legacy e.g. ES100:102048
*/
// @ApiMember(Description="POS Legacy e.g. ES100:102048", IsRequired=true)
String? posCode;
/**
* ShipTo POS Legacy e.g. ES100:102048
*/
// @ApiMember(Description="ShipTo POS Legacy e.g. ES100:102048", IsRequired=true)
String? shipToPosCode;
/**
* ID of Delivery note document e.g. 7032150324
*/
// @ApiMember(Description="ID of Delivery note document e.g. 7032150324", IsRequired=true)
int? deliveryNotesNumber;
/**
* Date of Delivery note document e.g. '2023-01-01'
*/
// @ApiMember(Description="Date of Delivery note document e.g. '2023-01-01'", IsRequired=true)
DateTime? deliveryNotesDate;
/**
* Delivery note items
*/
// @ApiMember(Description="Delivery note items", IsRequired=true)
List<DeliveryNoteItem>? deliveryNoteItems;
/**
* ID of IC Delivery note document e.g. 7032150324
*/
// @ApiMember(Description="ID of IC Delivery note document e.g. 7032150324", IsRequired=true)
int? icDeliveryNotesNumber;
/**
* Date of IC Delivery note document e.g. '2023-01-01'
*/
// @ApiMember(Description="Date of IC Delivery note document e.g. '2023-01-01'", IsRequired=true)
DateTime? icDeliveryNotesDate;
DeliveryNote({this.erpSystemId,this.posCode,this.shipToPosCode,this.deliveryNotesNumber,this.deliveryNotesDate,this.deliveryNoteItems,this.icDeliveryNotesNumber,this.icDeliveryNotesDate});
DeliveryNote.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
erpSystemId = json['erpSystemId'];
posCode = json['posCode'];
shipToPosCode = json['shipToPosCode'];
deliveryNotesNumber = json['deliveryNotesNumber'];
deliveryNotesDate = JsonConverters.fromJson(json['deliveryNotesDate'],'DateTime',context!);
deliveryNoteItems = JsonConverters.fromJson(json['deliveryNoteItems'],'List<DeliveryNoteItem>',context!);
icDeliveryNotesNumber = json['icDeliveryNotesNumber'];
icDeliveryNotesDate = JsonConverters.fromJson(json['icDeliveryNotesDate'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => {
'erpSystemId': erpSystemId,
'posCode': posCode,
'shipToPosCode': shipToPosCode,
'deliveryNotesNumber': deliveryNotesNumber,
'deliveryNotesDate': JsonConverters.toJson(deliveryNotesDate,'DateTime',context!),
'deliveryNoteItems': JsonConverters.toJson(deliveryNoteItems,'List<DeliveryNoteItem>',context!),
'icDeliveryNotesNumber': icDeliveryNotesNumber,
'icDeliveryNotesDate': JsonConverters.toJson(icDeliveryNotesDate,'DateTime',context!)
};
getTypeName() => "DeliveryNote";
TypeContext? context = _ctx;
}
class GetDeliveryNotePaginatedResponse implements IConvertible
{
/**
* Total Pages
*/
// @ApiMember(Description="Total Pages", IsRequired=true)
int? totalPages;
/**
* Total Results
*/
// @ApiMember(Description="Total Results", IsRequired=true)
int? totalResults;
/**
* Index of the result set returned
*/
// @ApiMember(Description="Index of the result set returned", IsRequired=true)
int? page;
/**
* Size of the result set returned
*/
// @ApiMember(Description="Size of the result set returned", IsRequired=true)
int? items;
/**
* List of delivery notes
*/
// @ApiMember(Description="List of delivery notes", IsRequired=true)
List<DeliveryNote>? elements;
GetDeliveryNotePaginatedResponse({this.totalPages,this.totalResults,this.page,this.items,this.elements});
GetDeliveryNotePaginatedResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
totalPages = json['totalPages'];
totalResults = json['totalResults'];
page = json['page'];
items = json['items'];
elements = JsonConverters.fromJson(json['elements'],'List<DeliveryNote>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'totalPages': totalPages,
'totalResults': totalResults,
'page': page,
'items': items,
'elements': JsonConverters.toJson(elements,'List<DeliveryNote>',context!)
};
getTypeName() => "GetDeliveryNotePaginatedResponse";
TypeContext? context = _ctx;
}
class GetDeliveryNotePaginated implements IPagedRequest, IConvertible
{
/**
* Brand Trigram, e.g. CAR, IWC
*/
// @ApiMember(Description="Brand Trigram, e.g. CAR, IWC", IsRequired=true)
String? brand;
/**
* POS Legacy Codes, e.g. ES100:102048
*/
// @ApiMember(Description="POS Legacy Codes, e.g. ES100:102048", IsRequired=true)
List<String>? posCodes;
/**
* Delivery notes date to
*/
// @ApiMember(Description="Delivery notes date to")
DateTime? dateTo;
/**
* Delivery notes date from
*/
// @ApiMember(Description="Delivery notes date from")
DateTime? dateFrom;
/**
* Status possible values: 'I' for pending delivery notes, 'P' for accepted ones
*/
// @ApiMember(Description="Status possible values: 'I' for pending delivery notes, 'P' for accepted ones")
List<String>? status;
/**
* Provide value 'true' for getting only consignment delivery notes
*/
// @ApiMember(Description="Provide value 'true' for getting only consignment delivery notes")
bool? onlyConsignment;
/**
* Order type filter: “autorep“ for getting only delivery notes linked to an automatic replenishment trigger. It means the reason codes Auto Repl Standard (Z22) and Auto Repl Consignment (Z89) ; “manual“ for getting only delivery notes linked to a manual replenishment trigger. It means all the other reason codes.
*/
// @ApiMember(Description="Order type filter: “autorep“ for getting only delivery notes linked to an automatic replenishment trigger. It means the reason codes Auto Repl Standard (Z22) and Auto Repl Consignment (Z89) ; “manual“ for getting only delivery notes linked to a manual replenishment trigger. It means all the other reason codes.")
String? orderType;
/**
* Stock type filter: “consigned“ for consigned products only ; “asset“ for standard products only ; empty for both consignment & asset
*/
// @ApiMember(Description="Stock type filter: “consigned“ for consigned products only ; “asset“ for standard products only ; empty for both consignment & asset")
String? stockType;
/**
* Richemont Reference Code of the item
*/
// @ApiMember(Description="Richemont Reference Code of the item")
String? articleCode;
/**
* Serial Number of the item
*/
// @ApiMember(Description="Serial Number of the item")
String? serialNumber;
/**
* Delivery notes number for getting specific delivery, e.g. 7032150324
*/
// @ApiMember(Description="Delivery notes number for getting specific delivery, e.g. 7032150324")
int? deliveryNotesNumber;
/**
* IC Delivery notes number for getting specific delivery, e.g. 7032150324
*/
// @ApiMember(Description="IC Delivery notes number for getting specific delivery, e.g. 7032150324")
int? icDeliveryNotesNumber;
/**
* Purchase order number for getting specific deliveries by order number, e.g 207285022
*/
// @ApiMember(Description="Purchase order number for getting specific deliveries by order number, e.g 207285022")
int? erpOrderNumber;
/**
* Index of the result set returned
*/
// @ApiMember(Description="Index of the result set returned")
int? page;
/**
* Size of the result set returned
*/
// @ApiMember(Description="Size of the result set returned")
int? items;
/**
* Omit precise record count - save on performance
*/
// @ApiMember(Description="Omit precise record count - save on performance")
bool? noCount;
/**
* Values can be 'DateDESC', 'DateASC', 'PosASC', 'PosDESC'
*/
// @ApiMember(Description="Values can be 'DateDESC', 'DateASC', 'PosASC', 'PosDESC'")
String? sortBy;
GetDeliveryNotePaginated({this.brand,this.posCodes,this.dateTo,this.dateFrom,this.status,this.onlyConsignment,this.orderType,this.stockType,this.articleCode,this.serialNumber,this.deliveryNotesNumber,this.icDeliveryNotesNumber,this.erpOrderNumber,this.page,this.items,this.noCount,this.sortBy});
GetDeliveryNotePaginated.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
brand = json['brand'];
posCodes = JsonConverters.fromJson(json['posCodes'],'List<String>',context!);
dateTo = JsonConverters.fromJson(json['dateTo'],'DateTime',context!);
dateFrom = JsonConverters.fromJson(json['dateFrom'],'DateTime',context!);
status = JsonConverters.fromJson(json['status'],'List<String>',context!);
onlyConsignment = json['onlyConsignment'];
orderType = json['orderType'];
stockType = json['stockType'];
articleCode = json['articleCode'];
serialNumber = json['serialNumber'];
deliveryNotesNumber = json['deliveryNotesNumber'];
icDeliveryNotesNumber = json['icDeliveryNotesNumber'];
erpOrderNumber = json['erpOrderNumber'];
page = json['page'];
items = json['items'];
noCount = json['noCount'];
sortBy = json['sortBy'];
return this;
}
Map<String, dynamic> toJson() => {
'brand': brand,
'posCodes': JsonConverters.toJson(posCodes,'List<String>',context!),
'dateTo': JsonConverters.toJson(dateTo,'DateTime',context!),
'dateFrom': JsonConverters.toJson(dateFrom,'DateTime',context!),
'status': JsonConverters.toJson(status,'List<String>',context!),
'onlyConsignment': onlyConsignment,
'orderType': orderType,
'stockType': stockType,
'articleCode': articleCode,
'serialNumber': serialNumber,
'deliveryNotesNumber': deliveryNotesNumber,
'icDeliveryNotesNumber': icDeliveryNotesNumber,
'erpOrderNumber': erpOrderNumber,
'page': page,
'items': items,
'noCount': noCount,
'sortBy': sortBy
};
getTypeName() => "GetDeliveryNotePaginated";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'dev_api_booster.richemont.com', types: <String, TypeInfo> {
'Amount2': TypeInfo(TypeOf.Class, create:() => Amount2()),
'DeliveryNoteItem': TypeInfo(TypeOf.Class, create:() => DeliveryNoteItem()),
'DeliveryNote': TypeInfo(TypeOf.Class, create:() => DeliveryNote()),
'List<DeliveryNoteItem>': TypeInfo(TypeOf.Class, create:() => <DeliveryNoteItem>[]),
'GetDeliveryNotePaginatedResponse': TypeInfo(TypeOf.Class, create:() => GetDeliveryNotePaginatedResponse()),
'List<DeliveryNote>': TypeInfo(TypeOf.Class, create:() => <DeliveryNote>[]),
'GetDeliveryNotePaginated': TypeInfo(TypeOf.Class, create:() => GetDeliveryNotePaginated()),
});
Dart GetDeliveryNotePaginated 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 /deliveryNote/{brand} HTTP/1.1
Host: dev-api-booster.richemont.com
Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"totalPages":0,"totalResults":0,"page":0,"items":0}