| GET | /stock/{brand} | Get stock |
|---|
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*
open class GetStock : StockRequest()
{
}
open class StockRequest
{
/**
* Brand
*/
@ApiMember(Description="Brand", IsRequired=true)
open var brand:String? = null
/**
* POS Legacy
*/
@ApiMember(Description="POS Legacy")
open var posCodes:ArrayList<String>? = null
/**
* Article Codes
*/
@ApiMember(Description="Article Codes")
open var articleCodes:ArrayList<String>? = null
/**
* Include Extra Info
*/
@ApiMember(Description="Include Extra Info")
open var includeExtraInfo:Boolean? = null
/**
* Cluster Id
*/
@ApiMember(Description="Cluster Id")
open var clusterIds:ArrayList<String>? = null
/**
* Include Consignment NotAuthorized POS
*/
@ApiMember(Description="Include Consignment NotAuthorized POS")
open var includeConsignmentNotAuthorizedPOS:Boolean? = null
/**
* Include Retail Sales Price in the Output, by default: false
*/
@ApiMember(Description="Include Retail Sales Price in the Output, by default: false")
open var includeRSP:Boolean? = null
/**
* In Stock Since date from
*/
@ApiMember(Description="In Stock Since date from ")
open var dateFrom:Date? = null
/**
* In Stock Since date to
*/
@ApiMember(Description="In Stock Since date to")
open var dateTo:Date? = null
/**
* Item type, 'standard' OR 'consigned'. By default, all are coming
*/
@ApiMember(Description="Item type, 'standard' OR 'consigned'. By default, all are coming")
@SerializedName("type") open var Type:String? = null
/**
* Storage Location Identifier e.g. CPO, NEW, REP
*/
@ApiMember(Description="Storage Location Identifier e.g. CPO, NEW, REP")
open var storageLocationId:String? = null
/**
* Inventory segment e.g. CPO or null
*/
@ApiMember(Description="Inventory segment e.g. CPO or null")
open var inventorySegment:String? = null
}
open class GetStockResponse : ArrayList<PosStockItem>()
{
}
open class PosStockItem
{
/**
* Brand
*/
@ApiMember(Description="Brand", IsRequired=true)
open var brand:String? = null
/**
* Pos Code
*/
@ApiMember(Description="Pos Code", IsRequired=true)
open var posCode:String? = null
/**
* Shared Stock Location
*/
@ApiMember(Description="Shared Stock Location", IsRequired=true)
open var sharedStockLocation:Pos? = null
/**
* Stock Items
*/
@ApiMember(Description="Stock Items")
open var stockItems:ArrayList<StockItem>? = null
}
open class Pos
{
/**
* Name of the POS
*/
@ApiMember(Description="Name of the POS", IsRequired=true)
open var name:String? = null
/**
* POS Code
*/
@ApiMember(Description="POS Code", IsRequired=true)
open var posCode:String? = null
/**
* Pos Code To Be Displayed
*/
@ApiMember(Description="Pos Code To Be Displayed", IsRequired=true)
open var posCodeToBeDisplayed:String? = null
/**
* Country of the POS
*/
@ApiMember(Description="Country of the POS", IsRequired=true)
open var country:String? = null
/**
* City of the POS
*/
@ApiMember(Description="City of the POS", IsRequired=true)
open var city:String? = null
/**
* Postal Code
*/
@ApiMember(Description="Postal Code", IsRequired=true)
open var postalCode:String? = null
/**
* State
*/
@ApiMember(Description="State", IsRequired=true)
open var state:String? = null
/**
* Street
*/
@ApiMember(Description="Street", IsRequired=true)
open var street:String? = null
}
open class StockItem
{
/**
* Article Code
*/
@ApiMember(Description="Article Code", IsRequired=true)
open var articleCode:String? = null
/**
* Current Stock Quantity
*/
@ApiMember(Description="Current Stock Quantity", IsRequired=true)
open var currentStockQuantity:Int? = null
/**
* Serial Numbers
*/
@ApiMember(Description="Serial Numbers")
open var serialNumbers:ArrayList<String>? = null
/**
* Stock Item in Details
*/
@ApiMember(Description="Stock Item in Details", IsRequired=true)
open var stockPositions:ArrayList<StockPositionItem> = ArrayList<StockPositionItem>()
}
open class StockPositionItem
{
/**
* Quantity
*/
@ApiMember(Description="Quantity", IsRequired=true)
open var quantity:Int? = null
/**
* Serial Number
*/
@ApiMember(Description="Serial Number")
open var serialNumber:String? = null
/**
* Stock Date
*/
@ApiMember(Description="Stock Date", IsRequired=true)
open var stockDate:String? = null
/**
* Loaded On Date
*/
@ApiMember(Description="Loaded On Date", IsRequired=true)
open var loadedOnDate:String? = null
/**
* Type e.g. consignment or standard
*/
@ApiMember(Description="Type e.g. consignment or standard", IsRequired=true)
@SerializedName("type") open var Type:String? = null
/**
* Is Consignment Sellable
*/
@ApiMember(Description="Is Consignment Sellable ", IsRequired=true)
open var isConsignmentSellable:Boolean? = null
/**
* 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.")
open var unitNetAmount:UnitNetAmount? = null
/**
* Retail Sales Price
*/
@ApiMember(Description="Retail Sales Price")
open var retailSalesPrice:UnitNetAmount? = null
/**
* Storage Location
*/
@ApiMember(Description="Storage Location")
open var storageLocation:StorageLocation? = null
}
open class UnitNetAmount
{
/**
* Currency Iso Code
*/
@ApiMember(Description="Currency Iso Code", IsRequired=true)
open var currencyIsoCode:String? = null
/**
* Value
*/
@ApiMember(Description="Value", IsRequired=true)
open var value:BigDecimal? = null
}
open class StorageLocation
{
/**
* Storage Location Identifier
*/
@ApiMember(Description="Storage Location Identifier", IsRequired=true)
open var storageLocationId:String? = null
/**
* Storage Location Description
*/
@ApiMember(Description="Storage Location Description")
open var storageLocationDs:String? = null
}
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} HTTP/1.1
Host: dev-api-booster.richemont.com
Accept: text/jsv
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length [ ]