Richemont.Booster2.PublicApi

<back to all web services

ExportSellOut

Requires Authentication
The following routes are available for this service:
POST/warranty/{brand}/exportExport Sell-Out DataCreate a sell-out in a POS you are authorised for
Imports System
Imports System.IO
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
            '''<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) = New List(Of String)

            '''<Summary>
            '''Date To
            '''</Summary>
            <ApiMember(Description:="Date To")>
            Public Overridable Property dateTo As Date?

            '''<Summary>
            '''Date From
            '''</Summary>
            <ApiMember(Description:="Date From")>
            Public Overridable Property dateFrom As 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

            '''<Summary>
            '''Sale reason code to filter (e.g. NEW, CPO)
            '''</Summary>
            <ApiMember(Description:="Sale reason code to filter (e.g. NEW, CPO)", IsRequired:=true)>
            Public Overridable Property saleReasonId 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

VB.NET ExportSellOut DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + 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,
	saleReasonId: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	asyncTaskId: 00000000000000000000000000000000
}