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 .other suffix or ?format=other

HTTP + OTHER

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/jsonl
Content-Type: text/jsonl
Content-Length: length

{"downloadRequestId":"String","brand":"String","posCodes":["String"],"searchKey":"String","phoneNumber":"String","email":"String","locationCountryIds":["String"],"clientSpendingFrom":0,"clientSpendingTo":0,"creationDateFrom":"\/Date(-62135596800000-0000)\/","creationDateTo":"\/Date(-62135596800000-0000)\/","transactionDateFrom":"\/Date(-62135596800000-0000)\/","transactionDateTo":"\/Date(-62135596800000-0000)\/","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/jsonl
Content-Length: length

{"asyncTaskId":"00000000000000000000000000000000"}