| 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 .xml suffix or ?format=xml
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: application/xml
Content-Type: application/xml
Content-Length: length
<ExportSellOut xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Richemont.Booster2.PublicApi.Sellout.ServiceModel">
<articleCodes xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:string>String</d2p1:string>
</articleCodes>
<brand>String</brand>
<dateFrom>0001-01-01T00:00:00</dateFrom>
<dateTo>0001-01-01T00:00:00</dateTo>
<downloadRequestId>String</downloadRequestId>
<posCodes xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:string>String</d2p1:string>
</posCodes>
<productCategories xmlns:d2p1="http://schemas.datacontract.org/2004/07/Richemont.Booster2.PublicApi.Common.ServiceModel">
<d2p1:ProductCategory>
<d2p1:brandCategoryId>String</d2p1:brandCategoryId>
<d2p1:categoryId>String</d2p1:categoryId>
<d2p1:grandCategoryId>String</d2p1:grandCategoryId>
<d2p1:masterCategoryId>String</d2p1:masterCategoryId>
<d2p1:subCategoryId>String</d2p1:subCategoryId>
</d2p1:ProductCategory>
</productCategories>
<saleRepresentativeEmails xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:string>String</d2p1:string>
</saleRepresentativeEmails>
<selloutType>String</selloutType>
<type>String</type>
<warrantyExtensionStatusIds xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:int>0</d2p1:int>
</warrantyExtensionStatusIds>
</ExportSellOut>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <ExportSellOutResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Richemont.Booster2.PublicApi.Sellout.ServiceModel"> <asyncTaskId>00000000-0000-0000-0000-000000000000</asyncTaskId> </ExportSellOutResponse>