| Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
| GET | /voss/customers | Search voss customers by organization number, customer number or external id | Raw 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
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=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:
[
{
}
]
}