| GET | /stock/{brand}/{posCode}/{articleCode} | Get stock details |
|---|
import 'package:servicestack/servicestack.dart';
class Pos implements IConvertible
{
/**
* Name of the POS
*/
// @ApiMember(Description="Name of the POS", IsRequired=true)
String? name;
/**
* POS Code
*/
// @ApiMember(Description="POS Code", IsRequired=true)
String? posCode;
/**
* Pos Code To Be Displayed
*/
// @ApiMember(Description="Pos Code To Be Displayed", IsRequired=true)
String? posCodeToBeDisplayed;
/**
* Country of the POS
*/
// @ApiMember(Description="Country of the POS", IsRequired=true)
String? country;
/**
* City of the POS
*/
// @ApiMember(Description="City of the POS", IsRequired=true)
String? city;
/**
* Postal Code
*/
// @ApiMember(Description="Postal Code", IsRequired=true)
String? postalCode;
/**
* State
*/
// @ApiMember(Description="State", IsRequired=true)
String? state;
/**
* Street
*/
// @ApiMember(Description="Street", IsRequired=true)
String? street;
Pos({this.name,this.posCode,this.posCodeToBeDisplayed,this.country,this.city,this.postalCode,this.state,this.street});
Pos.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
name = json['name'];
posCode = json['posCode'];
posCodeToBeDisplayed = json['posCodeToBeDisplayed'];
country = json['country'];
city = json['city'];
postalCode = json['postalCode'];
state = json['state'];
street = json['street'];
return this;
}
Map<String, dynamic> toJson() => {
'name': name,
'posCode': posCode,
'posCodeToBeDisplayed': posCodeToBeDisplayed,
'country': country,
'city': city,
'postalCode': postalCode,
'state': state,
'street': street
};
getTypeName() => "Pos";
TypeContext? context = _ctx;
}
class UnitNetAmount implements IConvertible
{
/**
* Currency Iso Code
*/
// @ApiMember(Description="Currency Iso Code", IsRequired=true)
String? currencyIsoCode;
/**
* Value
*/
// @ApiMember(Description="Value", IsRequired=true)
double? value;
UnitNetAmount({this.currencyIsoCode,this.value});
UnitNetAmount.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() => "UnitNetAmount";
TypeContext? context = _ctx;
}
class StockPositionItem implements IConvertible
{
/**
* Quantity
*/
// @ApiMember(Description="Quantity", IsRequired=true)
int? quantity;
/**
* Serial Number
*/
// @ApiMember(Description="Serial Number")
String? serialNumber;
/**
* Stock Date
*/
// @ApiMember(Description="Stock Date", IsRequired=true)
String? stockDate;
/**
* Loaded On Date
*/
// @ApiMember(Description="Loaded On Date", IsRequired=true)
String? loadedOnDate;
/**
* Type e.g. consignment or standard
*/
// @ApiMember(Description="Type e.g. consignment or standard", IsRequired=true)
String? type;
/**
* Is Consignment Sellable
*/
// @ApiMember(Description="Is Consignment Sellable ", IsRequired=true)
bool? isConsignmentSellable;
/**
* Sell-In Price. Disclaimer: this data will be arriving empty/null due to DealerCost project still being in test phase.
*/
// @ApiMember(Description="Sell-In Price. Disclaimer: this data will be arriving empty/null due to DealerCost project still being in test phase.")
UnitNetAmount? unitNetAmount;
/**
* Retail Sales Price
*/
// @ApiMember(Description="Retail Sales Price")
UnitNetAmount? retailSalesPrice;
StockPositionItem({this.quantity,this.serialNumber,this.stockDate,this.loadedOnDate,this.type,this.isConsignmentSellable,this.unitNetAmount,this.retailSalesPrice});
StockPositionItem.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
quantity = json['quantity'];
serialNumber = json['serialNumber'];
stockDate = json['stockDate'];
loadedOnDate = json['loadedOnDate'];
type = json['type'];
isConsignmentSellable = json['isConsignmentSellable'];
unitNetAmount = JsonConverters.fromJson(json['unitNetAmount'],'UnitNetAmount',context!);
retailSalesPrice = JsonConverters.fromJson(json['retailSalesPrice'],'UnitNetAmount',context!);
return this;
}
Map<String, dynamic> toJson() => {
'quantity': quantity,
'serialNumber': serialNumber,
'stockDate': stockDate,
'loadedOnDate': loadedOnDate,
'type': type,
'isConsignmentSellable': isConsignmentSellable,
'unitNetAmount': JsonConverters.toJson(unitNetAmount,'UnitNetAmount',context!),
'retailSalesPrice': JsonConverters.toJson(retailSalesPrice,'UnitNetAmount',context!)
};
getTypeName() => "StockPositionItem";
TypeContext? context = _ctx;
}
class GetStockDetailResponse implements IConvertible
{
/**
* Article code
*/
// @ApiMember(Description="Article code", IsRequired=true)
String? articleCode;
/**
* Brand
*/
// @ApiMember(Description="Brand", IsRequired=true)
String? brand;
/**
* Pos Code
*/
// @ApiMember(Description="Pos Code", IsRequired=true)
String? posCode;
/**
* Current Stock Quantity
*/
// @ApiMember(Description="Current Stock Quantity", IsRequired=true)
int? currentStockQuantity;
/**
* Shared Stock Location
*/
// @ApiMember(Description="Shared Stock Location", IsRequired=true)
Pos? sharedStockLocation;
/**
* Stock Positions
*/
// @ApiMember(Description="Stock Positions", IsRequired=true)
List<StockPositionItem>? stockPositions;
GetStockDetailResponse({this.articleCode,this.brand,this.posCode,this.currentStockQuantity,this.sharedStockLocation,this.stockPositions});
GetStockDetailResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
articleCode = json['articleCode'];
brand = json['brand'];
posCode = json['posCode'];
currentStockQuantity = json['currentStockQuantity'];
sharedStockLocation = JsonConverters.fromJson(json['sharedStockLocation'],'Pos',context!);
stockPositions = JsonConverters.fromJson(json['stockPositions'],'List<StockPositionItem>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'articleCode': articleCode,
'brand': brand,
'posCode': posCode,
'currentStockQuantity': currentStockQuantity,
'sharedStockLocation': JsonConverters.toJson(sharedStockLocation,'Pos',context!),
'stockPositions': JsonConverters.toJson(stockPositions,'List<StockPositionItem>',context!)
};
getTypeName() => "GetStockDetailResponse";
TypeContext? context = _ctx;
}
class GetStockDetail implements IConvertible
{
/**
* Brand
*/
// @ApiMember(Description="Brand", IsRequired=true)
String? brand;
/**
* POS Legacy
*/
// @ApiMember(Description="POS Legacy", IsRequired=true)
String? posCode;
/**
* Article Code
*/
// @ApiMember(Description="Article Code", IsRequired=true)
String? articleCode;
GetStockDetail({this.brand,this.posCode,this.articleCode});
GetStockDetail.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
brand = json['brand'];
posCode = json['posCode'];
articleCode = json['articleCode'];
return this;
}
Map<String, dynamic> toJson() => {
'brand': brand,
'posCode': posCode,
'articleCode': articleCode
};
getTypeName() => "GetStockDetail";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'dev_api_booster.richemont.com', types: <String, TypeInfo> {
'Pos': TypeInfo(TypeOf.Class, create:() => Pos()),
'UnitNetAmount': TypeInfo(TypeOf.Class, create:() => UnitNetAmount()),
'StockPositionItem': TypeInfo(TypeOf.Class, create:() => StockPositionItem()),
'GetStockDetailResponse': TypeInfo(TypeOf.Class, create:() => GetStockDetailResponse()),
'List<StockPositionItem>': TypeInfo(TypeOf.Class, create:() => <StockPositionItem>[]),
'GetStockDetail': TypeInfo(TypeOf.Class, create:() => GetStockDetail()),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /stock/{brand}/{posCode}/{articleCode} HTTP/1.1
Host: dev-api-booster.richemont.com
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<GetStockDetailResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Richemont.Booster2.PublicApi.Stock.ServiceModel">
<articleCode>String</articleCode>
<brand>String</brand>
<currentStockQuantity>0</currentStockQuantity>
<posCode>String</posCode>
<sharedStockLocation>
<city>String</city>
<country>String</country>
<name>String</name>
<posCode>String</posCode>
<posCodeToBeDisplayed>String</posCodeToBeDisplayed>
<postalCode>String</postalCode>
<state>String</state>
<street>String</street>
</sharedStockLocation>
<stockPositions>
<StockPositionItem>
<isConsignmentSellable>false</isConsignmentSellable>
<loadedOnDate>String</loadedOnDate>
<quantity>0</quantity>
<retailSalesPrice>
<currencyIsoCode>String</currencyIsoCode>
<value>0</value>
</retailSalesPrice>
<serialNumber>String</serialNumber>
<stockDate>String</stockDate>
<type>String</type>
<unitNetAmount>
<currencyIsoCode>String</currencyIsoCode>
<value>0</value>
</unitNetAmount>
</StockPositionItem>
</stockPositions>
</GetStockDetailResponse>