| GET | /stock/{brand}/{posCode} | Get Paginated Stock |
|---|
import Foundation
import ServiceStack
public class GetStockPaginated : IPagedRequest, Codable
{
/**
* Brand
*/
// @ApiMember(Description="Brand", IsRequired=true)
public var brand:String
/**
* POS Legacy
*/
// @ApiMember(Description="POS Legacy", IsRequired=true)
public var posCode:String
/**
* Search Key (Article or SerialNumber)
*/
// @ApiMember(Description="Search Key (Article or SerialNumber)")
public var searchKey:String
/**
* Index of the result set returned
*/
// @ApiMember(Description="Index of the result set returned")
public var page:Int
/**
* Size of the result set returned
*/
// @ApiMember(Description="Size of the result set returned")
public var items:Int
/**
* Omit precise record count - save on performance
*/
// @ApiMember(Description="Omit precise record count - save on performance")
public var noCount:Bool
/**
* Sorting expression
*/
// @ApiMember(Description="Sorting expression")
public var sortBy:String
/**
* Parameter - Include Chain POSes Stock
*/
// @ApiMember(Description="Parameter - Include Chain POSes Stock ")
public var includeChainPosesStock:Bool
/**
* Include Retail Sales Price in the Output, by default: false
*/
// @ApiMember(Description="Include Retail Sales Price in the Output, by default: false")
public var includeRSP:Bool
required public init(){}
}
public class GetStockPaginatedResponse : Codable
{
/**
* Total Pages
*/
// @ApiMember(Description="Total Pages", IsRequired=true)
public var totalPages:Int
/**
* Total Results
*/
// @ApiMember(Description="Total Results", IsRequired=true)
public var totalResults:Int
/**
* Index of the result set returned
*/
// @ApiMember(Description="Index of the result set returned", IsRequired=true)
public var page:Int
/**
* Size of the result set returned
*/
// @ApiMember(Description="Size of the result set returned", IsRequired=true)
public var items:Int
/**
* List of movements
*/
// @ApiMember(Description="List of movements", IsRequired=true)
public var elements:[PaginatedStockElement] = []
required public init(){}
}
public class PaginatedStockElement : Codable
{
/**
* Pos Code
*/
// @ApiMember(Description="Pos Code", IsRequired=true)
public var posCode:String
/**
* Pos Code To Be Displayed
*/
// @ApiMember(Description="Pos Code To Be Displayed", IsRequired=true)
public var posCodeToBeDisplayed:String
/**
* Article Code
*/
// @ApiMember(Description="Article Code", IsRequired=true)
public var articleCode:String
/**
* Serial Number
*/
// @ApiMember(Description="Serial Number")
public var serialNumber:String
/**
* Current Stock Quantity
*/
// @ApiMember(Description="Current Stock Quantity", IsRequired=true)
public var quantity:Int
/**
* Type e.g. consignment or standard
*/
// @ApiMember(Description="Type e.g. consignment or standard", IsRequired=true)
public var type:String
/**
* Is Consignment Sellable
*/
// @ApiMember(Description="Is Consignment Sellable ", IsRequired=true)
public var isConsignmentSellable:Bool
/**
* Retail Sales Price
*/
// @ApiMember(Description="Retail Sales Price", IsRequired=true)
public var retailSalesPrice:RetailSalesPrice
required public init(){}
}
public class RetailSalesPrice : Codable
{
/**
* Currency Iso Code
*/
// @ApiMember(Description="Currency Iso Code", IsRequired=true)
public var currencyIsoCode:String
/**
* Value
*/
// @ApiMember(Description="Value", IsRequired=true)
public var value:Double?
required public init(){}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /stock/{brand}/{posCode} HTTP/1.1
Host: dev-api-booster.richemont.com
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
totalPages: 0,
totalResults: 0,
page: 0,
items: 0
}