BokaMera.API.Host

<back to all web services

SearchVossCustomers

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
GET/voss/customersSearch voss customers by organization number, customer number or external idRaw passthrough to the Voss customer search. Returns all matching customers with their full fields (externalId, customerNumber, expiryDate, ...).
namespace BokaMera.API.ServiceModel.Dtos

open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    type CountryCodeEnum =
        | AD = 0
        | AE = 1
        | AF = 2
        | AG = 3
        | AI = 4
        | AL = 5
        | AM = 6
        | AO = 7
        | AQ = 8
        | AR = 9
        | AS = 10
        | AT = 11
        | AU = 12
        | AW = 13
        | AX = 14
        | AZ = 15
        | BA = 16
        | BB = 17
        | BD = 18
        | BE = 19
        | BF = 20
        | BG = 21
        | BH = 22
        | BI = 23
        | BJ = 24
        | BL = 25
        | BM = 26
        | BN = 27
        | BO = 28
        | BQ = 29
        | BR = 30
        | BS = 31
        | BT = 32
        | BV = 33
        | BW = 34
        | BY = 35
        | BZ = 36
        | CA = 37
        | CC = 38
        | CD = 39
        | CF = 40
        | CG = 41
        | CH = 42
        | CI = 43
        | CK = 44
        | CL = 45
        | CM = 46
        | CN = 47
        | CO = 48
        | CR = 49
        | CU = 50
        | CV = 51
        | CW = 52
        | CX = 53
        | CY = 54
        | CZ = 55
        | DE = 56
        | DJ = 57
        | DK = 58
        | DM = 59
        | DO = 60
        | DZ = 61
        | EC = 62
        | EE = 63
        | EG = 64
        | EH = 65
        | ER = 66
        | ES = 67
        | ET = 68
        | FI = 69
        | FJ = 70
        | FK = 71
        | FM = 72
        | FO = 73
        | FR = 74
        | GA = 75
        | GB = 76
        | GD = 77
        | GE = 78
        | GF = 79
        | GG = 80
        | GH = 81
        | GI = 82
        | GL = 83
        | GM = 84
        | GN = 85
        | GP = 86
        | GQ = 87
        | GR = 88
        | GS = 89
        | GT = 90
        | GU = 91
        | GW = 92
        | GY = 93
        | HK = 94
        | HM = 95
        | HN = 96
        | HR = 97
        | HT = 98
        | HU = 99
        | ID = 100
        | IE = 101
        | IL = 102
        | IM = 103
        | IN = 104
        | IO = 105
        | IQ = 106
        | IR = 107
        | IS = 108
        | IT = 109
        | JE = 110
        | JM = 111
        | JO = 112
        | JP = 113
        | KE = 114
        | KG = 115
        | KH = 116
        | KI = 117
        | KM = 118
        | KN = 119
        | KP = 120
        | KR = 121
        | KW = 122
        | KY = 123
        | KZ = 124
        | LA = 125
        | LB = 126
        | LC = 127
        | LI = 128
        | LK = 129
        | LR = 130
        | LS = 131
        | LT = 132
        | LU = 133
        | LV = 134
        | LY = 135
        | MA = 136
        | MC = 137
        | MD = 138
        | ME = 139
        | MF = 140
        | MG = 141
        | MH = 142
        | MK = 143
        | ML = 144
        | MM = 145
        | MN = 146
        | MO = 147
        | MP = 148
        | MQ = 149
        | MR = 150
        | MS = 151
        | MT = 152
        | MU = 153
        | MV = 154
        | MW = 155
        | MX = 156
        | MY = 157
        | MZ = 158
        | NA = 159
        | NC = 160
        | NE = 161
        | NF = 162
        | NG = 163
        | NI = 164
        | NL = 165
        | NO = 166
        | NP = 167
        | NR = 168
        | NU = 169
        | NZ = 170
        | OM = 171
        | PA = 172
        | PE = 173
        | PF = 174
        | PG = 175
        | PH = 176
        | PK = 177
        | PL = 178
        | PM = 179
        | PN = 180
        | PR = 181
        | PS = 182
        | PT = 183
        | PW = 184
        | PY = 185
        | QA = 186
        | RE = 187
        | RO = 188
        | RS = 189
        | RU = 190
        | RW = 191
        | SA = 192
        | SB = 193
        | SC = 194
        | SD = 195
        | SE = 196
        | SG = 197
        | SH = 198
        | SI = 199
        | SJ = 200
        | SK = 201
        | SL = 202
        | SM = 203
        | SN = 204
        | SO = 205
        | SR = 206
        | SS = 207
        | ST = 208
        | SV = 209
        | SX = 210
        | SY = 211
        | SZ = 212
        | TC = 213
        | TD = 214
        | TF = 215
        | TG = 216
        | TH = 217
        | TJ = 218
        | TK = 219
        | TL = 220
        | TM = 221
        | TN = 222
        | TO = 223
        | TR = 224
        | TT = 225
        | TV = 226
        | TW = 227
        | TZ = 228
        | UA = 229
        | UG = 230
        | UM = 231
        | US = 232
        | UY = 233
        | UZ = 234
        | VA = 235
        | VC = 236
        | VE = 237
        | VG = 238
        | VI = 239
        | VN = 240
        | VU = 241
        | WF = 242
        | WS = 243
        | YE = 244
        | YT = 245
        | ZA = 246
        | ZM = 247
        | ZW = 248

    [<DataContract(Name="CustomerContactPersonDto")>]
    [<AllowNullLiteral>]
    type CustomerContactPersonDto() = 
        [<DataMember(Name="email", IsRequired=true)>]
        member val Email:String = null with get,set

        [<DataMember(Name="firstName", IsRequired=true)>]
        member val FirstName:String = null with get,set

        [<DataMember(Name="lastName", IsRequired=true)>]
        member val LastName:String = null with get,set

        [<DataMember(Name="phoneNumber")>]
        member val PhoneNumber:String = null with get,set

    [<DataContract(Name="CustomerTargetGroupDto")>]
    [<AllowNullLiteral>]
    type CustomerTargetGroupDto() = 
        [<DataMember(Name="id", IsRequired=true)>]
        member val Id:Guid = new Guid() with get,set

        [<DataMember(Name="name", IsRequired=true)>]
        member val Name:String = null with get,set

        [<DataMember(Name="isDefault")>]
        member val IsDefault:Boolean = new Boolean() with get,set

        [<DataMember(Name="externalId")>]
        member val ExternalId:String = null with get,set

    [<DataContract(Name="CustomerResult")>]
    [<AllowNullLiteral>]
    type CustomerResult() = 
        [<DataMember(Name="countryCode")>]
        member val CountryCode:Nullable<CountryCodeEnum> = new Nullable<CountryCodeEnum>() with get,set

        [<DataMember(Name="id", IsRequired=true)>]
        member val Id:Guid = new Guid() with get,set

        [<DataMember(Name="name", IsRequired=true)>]
        member val Name:String = null with get,set

        [<DataMember(Name="customerNumber")>]
        member val CustomerNumber:Nullable<Int32> = new Nullable<Int32>() with get,set

        [<DataMember(Name="organizationNumber")>]
        member val OrganizationNumber:String = null with get,set

        [<DataMember(Name="email")>]
        member val Email:String = null with get,set

        [<DataMember(Name="careOf")>]
        member val CareOf:String = null with get,set

        [<DataMember(Name="address")>]
        member val Address:String = null with get,set

        [<DataMember(Name="postalCode")>]
        member val PostalCode:String = null with get,set

        [<DataMember(Name="city")>]
        member val City:String = null with get,set

        [<DataMember(Name="electronicInvoiceOperatorCode")>]
        member val ElectronicInvoiceOperatorCode:String = null with get,set

        [<DataMember(Name="electronicInvoiceAddress")>]
        member val ElectronicInvoiceAddress:String = null with get,set

        [<DataMember(Name="customerGroup")>]
        member val CustomerGroup:Nullable<Int32> = new Nullable<Int32>() with get,set

        [<DataMember(Name="contactPerson")>]
        member val ContactPerson:CustomerContactPersonDto = null with get,set

        [<DataMember(Name="targetGroups", EmitDefaultValue=false)>]
        member val TargetGroups:ResizeArray<CustomerTargetGroupDto> = null with get,set

        [<DataMember(Name="expiryDate")>]
        member val ExpiryDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        [<DataMember(Name="created", IsRequired=true)>]
        member val Created:DateTime = new DateTime() with get,set

        [<DataMember(Name="externalId")>]
        member val ExternalId:String = null with get,set

    [<AllowNullLiteral>]
    type SearchVossCustomersResponse() = 
        member val TotalCount:Int32 = new Int32() with get,set
        member val Items:ResizeArray<CustomerResult> = null with get,set

    [<ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)>]
    [<AllowNullLiteral>]
    type SearchVossCustomers() = 
        ///<summary>
        ///Organization number to search for.
        ///</summary>
        [<ApiMember(Description="Organization number to search for.")>]
        member val OrganizationNumber:String = null with get,set

        ///<summary>
        ///Voss customer number to search for.
        ///</summary>
        [<ApiMember(Description="Voss customer number to search for.")>]
        member val CustomerNumber:Nullable<Int32> = new Nullable<Int32>() with get,set

        ///<summary>
        ///External id to search for.
        ///</summary>
        [<ApiMember(Description="External id to search for.")>]
        member val ExternalId:String = null with get,set

F# SearchVossCustomers 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.

GET /voss/customers HTTP/1.1 
Host: testapi.bokamera.se 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	TotalCount: 0,
	Items: 
	[
		{
			
		}
	]
}