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.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
            Public Sub New()
                posCodes = New List(Of String)
                reasonCodes = New List(Of String)
                productCategories = New List(Of ProductCategory)
            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>
            '''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 .xml suffix or ?format=xml

HTTP + XML

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: application/xml
Content-Type: application/xml
Content-Length: length

<ExportInvoice xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Richemont.Booster2.PublicApi.Purchase.ServiceModel">
  <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>
  <reasonCodes xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </reasonCodes>
</ExportInvoice>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<ExportInvoiceResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Richemont.Booster2.PublicApi.Purchase.ServiceModel">
  <asyncTaskId>00000000-0000-0000-0000-000000000000</asyncTaskId>
</ExportInvoiceResponse>