| POST | /warranty/{brand}/export | Export Sell-Out Data | Create a sell-out in a POS you are authorised for |
|---|
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Richemont.Booster2.PublicApi.Sellout.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.Sellout.ServiceModel
Public Partial Class ExportSellOut
Public Sub New()
posCodes = New List(Of String)
articleCodes = New List(Of String)
productCategories = New List(Of ProductCategory)
saleRepresentativeEmails = New List(Of String)
warrantyExtensionStatusIds = New List(Of Integer)
End Sub
'''<Summary>
'''Brand Trigram, e.g. CAR, IWC
'''</Summary>
<ApiMember(Description:="Brand Trigram, e.g. CAR, IWC", IsRequired:=true)>
Public Overridable Property brand As String
'''<Summary>
'''Pos Legacy IDs / Codes
'''</Summary>
<ApiMember(Description:="Pos Legacy IDs / Codes", IsRequired:=true)>
Public Overridable Property posCodes As List(Of String)
'''<Summary>
'''Date To
'''</Summary>
<ApiMember(Description:="Date To")>
Public Overridable Property dateTo As Nullable(Of Date)
'''<Summary>
'''Date From
'''</Summary>
<ApiMember(Description:="Date From")>
Public Overridable Property dateFrom As Nullable(Of Date)
'''<Summary>
'''Item Article Codes, both Global and Local
'''</Summary>
<ApiMember(Description:="Item Article Codes, both Global and Local")>
Public Overridable Property articleCodes As List(Of String)
'''<Summary>
'''Product Categories
'''</Summary>
<ApiMember(Description:="Product Categories")>
Public Overridable Property productCategories As List(Of ProductCategory)
'''<Summary>
'''Sale Representative Email
'''</Summary>
<ApiMember(Description:="Sale Representative Email")>
Public Overridable Property saleRepresentativeEmails As List(Of String)
'''<Summary>
'''Sellout Type: 'sellout' for sales, 'return' for returns, null for both
'''</Summary>
<ApiMember(Description:="Sellout Type: 'sellout' for sales, 'return' for returns, null for both")>
Public Overridable Property selloutType As String
'''<Summary>
'''Type: 'consigned' or 'standard', null for both
'''</Summary>
<ApiMember(Description:="Type: 'consigned' or 'standard', null for both")>
Public Overridable Property type As String
'''<Summary>
'''Possible warranty extention status IDs, 1 (Activated), 2 (Requested), 3 (Refused), 4 (Error)
'''</Summary>
<ApiMember(Description:="Possible warranty extention status IDs, 1 (Activated), 2 (Requested), 3 (Refused), 4 (Error)")>
Public Overridable Property warrantyExtensionStatusIds As List(Of Integer)
'''<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 ExportSellOutResponse
'''<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
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 /warranty/{brand}/export HTTP/1.1
Host: dev-api-booster.richemont.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
brand: String,
posCodes:
[
String
],
dateTo: 0001-01-01,
dateFrom: 0001-01-01,
articleCodes:
[
String
],
productCategories:
[
{
brandCategoryId: String,
grandCategoryId: String,
masterCategoryId: String,
categoryId: String,
subCategoryId: String
}
],
saleRepresentativeEmails:
[
String
],
selloutType: String,
type: String,
warrantyExtensionStatusIds:
[
0
],
downloadRequestId: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
asyncTaskId: 00000000000000000000000000000000
}