Richemont.Booster2.PublicApi

<back to all web services

ExportCustomer

Requires Authentication
The following routes are available for this service:
POST/customer/{brand}/exportExport Customer Data
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Richemont.Booster2.PublicApi.CRM.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.CRM.ServiceModel

        Public Partial Class ExportCustomer
            Inherits SearchCustomer
            '''<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 ExportCustomerResponse
            '''<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

        Public Partial Class GetCustomerHobby
            '''<Summary>
            '''Hobby description
            '''</Summary>
            <ApiMember(Description:="Hobby description")>
            Public Overridable Property hobby As String

            '''<Summary>
            '''SAP Hobby ID, e.g. 'ART'
            '''</Summary>
            <ApiMember(Description:="SAP Hobby ID, e.g. 'ART'")>
            Public Overridable Property sapHobbyId As String
        End Class

        Public Partial Class GetCustomerInterest
            '''<Summary>
            '''Interest description
            '''</Summary>
            <ApiMember(Description:="Interest description", IsRequired:=true)>
            Public Overridable Property interest As String

            '''<Summary>
            '''SAP Interest ID, e.g. 'CA-1'
            '''</Summary>
            <ApiMember(Description:="SAP Interest ID, e.g. 'CA-1'", IsRequired:=true)>
            Public Overridable Property sapInterestId As String
        End Class

        Public Partial Class GetCustomerProductCollection
            '''<Summary>
            '''Product Collection description
            '''</Summary>
            <ApiMember(Description:="Product Collection description", IsRequired:=true)>
            Public Overridable Property productCollection As String

            '''<Summary>
            '''SAP ProductCollection ID, e.g. 'CA-1'
            '''</Summary>
            <ApiMember(Description:="SAP ProductCollection ID, e.g. 'CA-1'", IsRequired:=true)>
            Public Overridable Property sapProductCollectionId As String
        End Class

        Public Partial Class SearchCustomer
            Public Sub New()
                posCodes = New List(Of String)
                locationCountryIds = New List(Of String)
                birthdateMonths = New List(Of Integer)
                interests = New List(Of GetCustomerInterest)
                hobbies = New List(Of GetCustomerHobby)
                productCollections = New List(Of GetCustomerProductCollection)
                customerStatus = New List(Of String)
                boosterCustomerIds = New List(Of Integer)
                productCategories = New List(Of ProductCategory)
                saleRepresentativeEmails = New List(Of String)
            End Sub

            '''<Summary>
            '''Brand
            '''</Summary>
            <ApiMember(Description:="Brand", IsRequired:=true)>
            Public Overridable Property brand As String

            '''<Summary>
            '''POS Legacy
            '''</Summary>
            <ApiMember(Description:="POS Legacy", IsRequired:=true)>
            Public Overridable Property posCodes As List(Of String)

            '''<Summary>
            '''Search key could be: 'Name', 'Email', 'Phone' without prefix, 'BoosterCustomerId' OR 'SapCRMId'
            '''</Summary>
            <ApiMember(Description:="Search key could be: 'Name', 'Email', 'Phone' without prefix, 'BoosterCustomerId' OR 'SapCRMId'")>
            Public Overridable Property searchKey As String

            '''<Summary>
            '''Search by phone number - exact match
            '''</Summary>
            <ApiMember(Description:="Search by phone number - exact match")>
            Public Overridable Property phoneNumber As String

            '''<Summary>
            '''Search by email address - exact match
            '''</Summary>
            <ApiMember(Description:="Search by email address - exact match")>
            Public Overridable Property email As String

            '''<Summary>
            '''Values can be 'it', 'en' etc.
            '''</Summary>
            <ApiMember(Description:="Values can be 'it', 'en' etc.")>
            Public Overridable Property locationCountryIds As List(Of String)

            '''<Summary>
            '''Client Spending From e.g. '100'
            '''</Summary>
            <ApiMember(Description:="Client Spending From e.g. '100'")>
            Public Overridable Property clientSpendingFrom As Nullable(Of Double)

            '''<Summary>
            '''Client Spending To e.g. '50000'
            '''</Summary>
            <ApiMember(Description:="Client Spending To e.g. '50000'")>
            Public Overridable Property clientSpendingTo As Nullable(Of Double)

            '''<Summary>
            '''Customer Creation Date From e.g. '2022-01-01'
            '''</Summary>
            <ApiMember(Description:="Customer Creation Date From e.g. '2022-01-01'")>
            Public Overridable Property creationDateFrom As Nullable(Of Date)

            '''<Summary>
            '''Customer Creation Date To e.g. '2023-11-01'
            '''</Summary>
            <ApiMember(Description:="Customer Creation Date To e.g. '2023-11-01'")>
            Public Overridable Property creationDateTo As Nullable(Of Date)

            '''<Summary>
            '''Transaction Date From e.g. '2022-01-01'
            '''</Summary>
            <ApiMember(Description:="Transaction Date From e.g. '2022-01-01'")>
            Public Overridable Property transactionDateFrom As Nullable(Of Date)

            '''<Summary>
            '''Transaction Date To e.g. '2023-11-01'
            '''</Summary>
            <ApiMember(Description:="Transaction Date To e.g. '2023-11-01'")>
            Public Overridable Property transactionDateTo As Nullable(Of Date)

            '''<Summary>
            '''Values can be 'true' or 'false'
            '''</Summary>
            <ApiMember(Description:="Values can be 'true' or 'false'")>
            Public Overridable Property canBeContactedByMaison As Nullable(Of Boolean)

            '''<Summary>
            '''Values can be 1 for 'January', 2 for 'February', 3 for 'March', 4 for 'April', 5 for 'May', 6 for 'June', 7 for 'July', 8 for 'August', 9 for 'September', 10 for 'October', 11 for 'November', 12 for 'December'
            '''</Summary>
            <ApiMember(Description:="Values can be 1 for 'January', 2 for 'February', 3 for 'March', 4 for 'April', 5 for 'May', 6 for 'June', 7 for 'July', 8 for 'August', 9 for 'September', 10 for 'October', 11 for 'November', 12 for 'December'")>
            Public Overridable Property birthdateMonths As List(Of Integer)

            '''<Summary>
            '''Customer interest filter
            '''</Summary>
            <ApiMember(Description:="Customer interest filter")>
            Public Overridable Property interests As List(Of GetCustomerInterest)

            '''<Summary>
            '''Customer hobby filter
            '''</Summary>
            <ApiMember(Description:="Customer hobby filter")>
            Public Overridable Property hobbies As List(Of GetCustomerHobby)

            '''<Summary>
            '''Customer product collection filter
            '''</Summary>
            <ApiMember(Description:="Customer product collection filter")>
            Public Overridable Property productCollections As List(Of GetCustomerProductCollection)

            '''<Summary>
            '''Customer Status e.g. 'Prospect', 'Client'
            '''</Summary>
            <ApiMember(Description:="Customer Status e.g. 'Prospect', 'Client'")>
            Public Overridable Property customerStatus As List(Of String)

            '''<Summary>
            '''List of BoosterCustomerIds, e.g. 1234567,1231231,12323423
            '''</Summary>
            <ApiMember(Description:="List of BoosterCustomerIds, e.g. 1234567,1231231,12323423")>
            Public Overridable Property boosterCustomerIds As List(Of Integer)

            '''<Summary>
            '''Values can be 'true' or 'false'
            '''</Summary>
            <ApiMember(Description:="Values can be 'true' or 'false'")>
            Public Overridable Property hasSapCrmError As Nullable(Of Boolean)

            '''<Summary>
            '''Product Categories
            '''</Summary>
            <ApiMember(Description:="Product Categories")>
            Public Overridable Property productCategories As List(Of ProductCategory)

            '''<Summary>
            '''Sale Reprentative Emails
            '''</Summary>
            <ApiMember(Description:="Sale Reprentative Emails")>
            Public Overridable Property saleRepresentativeEmails As List(Of String)
        End Class
    End Namespace
End Namespace

VB.NET ExportCustomer 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 /customer/{brand}/export HTTP/1.1 
Host: dev-api-booster.richemont.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	downloadRequestId: String,
	brand: String,
	posCodes: 
	[
		String
	],
	searchKey: String,
	phoneNumber: String,
	email: String,
	locationCountryIds: 
	[
		String
	],
	clientSpendingFrom: 0,
	clientSpendingTo: 0,
	creationDateFrom: 0001-01-01,
	creationDateTo: 0001-01-01,
	transactionDateFrom: 0001-01-01,
	transactionDateTo: 0001-01-01,
	canBeContactedByMaison: False,
	birthdateMonths: 
	[
		0
	],
	interests: 
	[
		{
			interest: String,
			sapInterestId: String
		}
	],
	hobbies: 
	[
		{
			hobby: String,
			sapHobbyId: String
		}
	],
	productCollections: 
	[
		{
			productCollection: String,
			sapProductCollectionId: String
		}
	],
	customerStatus: 
	[
		String
	],
	boosterCustomerIds: 
	[
		0
	],
	hasSapCrmError: False,
	productCategories: 
	[
		{
			brandCategoryId: String,
			grandCategoryId: String,
			masterCategoryId: String,
			categoryId: String,
			subCategoryId: String
		}
	],
	saleRepresentativeEmails: 
	[
		String
	]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	asyncTaskId: 00000000000000000000000000000000
}