| POST | /stock/{brand}/export | Export Stock Data |
|---|
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Richemont.Booster2.PublicApi.Stock.ServiceModel
Imports Richemont.Booster2.PublicApi.Common.ServiceModel
Namespace Global
Namespace Richemont.Booster2.PublicApi.Common.ServiceModel
Public Partial Class ProductCategory
'''<Summary>
'''Brand Category ID
'''</Summary>
<ApiMember(Description:="Brand Category ID")>
Public Overridable Property brandCategoryId As String
'''<Summary>
'''Grand Category ID
'''</Summary>
<ApiMember(Description:="Grand Category ID", IsRequired:=true)>
Public Overridable Property grandCategoryId As String
'''<Summary>
'''Master Category ID
'''</Summary>
<ApiMember(Description:="Master Category ID")>
Public Overridable Property masterCategoryId As String
'''<Summary>
'''Category ID
'''</Summary>
<ApiMember(Description:="Category ID")>
Public Overridable Property categoryId As String
'''<Summary>
'''Sub Category ID
'''</Summary>
<ApiMember(Description:="Sub Category ID")>
Public Overridable Property subCategoryId As String
End Class
End Namespace
Namespace Richemont.Booster2.PublicApi.Stock.ServiceModel
Public Partial Class ExportStock
Inherits StockRequest
Public Sub New()
productCategories = New List(Of ProductCategory)
End Sub
'''<Summary>
'''Product Categories
'''</Summary>
<ApiMember(Description:="Product Categories")>
Public Overridable Property productCategories As List(Of ProductCategory)
'''<Summary>
'''Export Request ID of the API Consumers
'''</Summary>
<ApiMember(Description:="Export Request ID of the API Consumers", IsRequired:=true)>
Public Overridable Property downloadRequestId As String
End Class
Public Partial Class ExportStockResponse
'''<Summary>
'''Unique Identifier of the Export Request created
'''</Summary>
<ApiMember(Description:="Unique Identifier of the Export Request created", IsRequired:=true)>
Public Overridable Property asyncTaskId As Guid
End Class
Public Partial Class StockRequest
Public Sub New()
posCodes = New List(Of String)
articleCodes = New List(Of String)
clusterIds = New List(Of String)
End Sub
'''<Summary>
'''Brand
'''</Summary>
<ApiMember(Description:="Brand", IsRequired:=true)>
Public Overridable Property brand As String
'''<Summary>
'''POS Legacy
'''</Summary>
<ApiMember(Description:="POS Legacy")>
Public Overridable Property posCodes As List(Of String)
'''<Summary>
'''Article Codes
'''</Summary>
<ApiMember(Description:="Article Codes")>
Public Overridable Property articleCodes As List(Of String)
'''<Summary>
'''Include Extra Info
'''</Summary>
<ApiMember(Description:="Include Extra Info")>
Public Overridable Property includeExtraInfo As Boolean
'''<Summary>
'''Cluster Id
'''</Summary>
<ApiMember(Description:="Cluster Id")>
Public Overridable Property clusterIds As List(Of String)
'''<Summary>
'''Include Consignment NotAuthorized POS
'''</Summary>
<ApiMember(Description:="Include Consignment NotAuthorized POS")>
Public Overridable Property includeConsignmentNotAuthorizedPOS As Boolean
'''<Summary>
'''Include Retail Sales Price in the Output, by default: false
'''</Summary>
<ApiMember(Description:="Include Retail Sales Price in the Output, by default: false")>
Public Overridable Property includeRSP As Boolean
'''<Summary>
'''In Stock Since date from
'''</Summary>
<ApiMember(Description:="In Stock Since date from ")>
Public Overridable Property dateFrom As Nullable(Of Date)
'''<Summary>
'''In Stock Since date to
'''</Summary>
<ApiMember(Description:="In Stock Since date to")>
Public Overridable Property dateTo As Nullable(Of Date)
'''<Summary>
'''Item type, 'standard' OR 'consigned'. By default, all are coming
'''</Summary>
<ApiMember(Description:="Item type, 'standard' OR 'consigned'. By default, all are coming")>
Public Overridable Property type As String
End Class
End Namespace
End Namespace
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.
POST /stock/{brand}/export HTTP/1.1
Host: dev-api-booster.richemont.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
productCategories:
[
{
brandCategoryId: String,
grandCategoryId: String,
masterCategoryId: String,
categoryId: String,
subCategoryId: String
}
],
downloadRequestId: String,
brand: String,
posCodes:
[
String
],
articleCodes:
[
String
],
includeExtraInfo: False,
clusterIds:
[
String
],
includeConsignmentNotAuthorizedPOS: False,
includeRSP: False,
dateFrom: 0001-01-01,
dateTo: 0001-01-01,
type: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
asyncTaskId: 00000000000000000000000000000000
}