Richemont.Booster2.PublicApi

<back to all web services

ExportInvoice

Requires Authentication
The following routes are available for this service:
POST/invoice/{brand}/exportExport Invoice DataCreate a invoice 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.Purchase.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.Purchase.ServiceModel

        Public Partial Class ExportInvoice
            '''<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>
            '''Reason Code e.g. Y00, Y06
            '''</Summary>
            <ApiMember(Description:="Reason Code e.g. Y00, Y06")>
            Public Overridable Property reasonCodes As List(Of String)

            '''<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 ExportInvoiceResponse
            '''<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 ExportInvoice 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 /invoice/{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,
	reasonCodes: 
	[
		String
	],
	productCategories: 
	[
		{
			brandCategoryId: String,
			grandCategoryId: String,
			masterCategoryId: String,
			categoryId: String,
			subCategoryId: String
		}
	],
	downloadRequestId: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	asyncTaskId: 00000000000000000000000000000000
}