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, ...).
import Foundation
import ServiceStack

// @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
public class SearchVossCustomers : Codable
{
    /**
    * Organization number to search for.
    */
    // @ApiMember(Description="Organization number to search for.")
    public var organizationNumber:String

    /**
    * Voss customer number to search for.
    */
    // @ApiMember(Description="Voss customer number to search for.")
    public var customerNumber:Int?

    /**
    * External id to search for.
    */
    // @ApiMember(Description="External id to search for.")
    public var externalId:String

    required public init(){}
}

public class SearchVossCustomersResponse : Codable
{
    public var totalCount:Int
    public var items:[CustomerResult] = []

    required public init(){}
}

// @DataContract(Name="CustomerResult")
public class CustomerResult : Codable
{
    // @DataMember(Name="countryCode")
    public var countryCode:CountryCodeEnum?

    // @DataMember(Name="id", IsRequired=true)
    public var id:String

    // @DataMember(Name="name", IsRequired=true)
    public var name:String

    // @DataMember(Name="customerNumber")
    public var customerNumber:Int?

    // @DataMember(Name="organizationNumber")
    public var organizationNumber:String

    // @DataMember(Name="email")
    public var email:String

    // @DataMember(Name="careOf")
    public var careOf:String

    // @DataMember(Name="address")
    public var address:String

    // @DataMember(Name="postalCode")
    public var postalCode:String

    // @DataMember(Name="city")
    public var city:String

    // @DataMember(Name="electronicInvoiceOperatorCode")
    public var electronicInvoiceOperatorCode:String

    // @DataMember(Name="electronicInvoiceAddress")
    public var electronicInvoiceAddress:String

    // @DataMember(Name="customerGroup")
    public var customerGroup:Int?

    // @DataMember(Name="contactPerson")
    public var contactPerson:CustomerContactPersonDto

    // @DataMember(Name="targetGroups", EmitDefaultValue=false)
    public var targetGroups:[CustomerTargetGroupDto] = []

    // @DataMember(Name="expiryDate")
    public var expiryDate:Date?

    // @DataMember(Name="created", IsRequired=true)
    public var created:Date

    // @DataMember(Name="externalId")
    public var externalId:String

    required public init(){}
}

public enum CountryCodeEnum : String, Codable
{
    case AD
    case AE
    case AF
    case AG
    case AI
    case AL
    case AM
    case AO
    case AQ
    case AR
    case AS
    case AT
    case AU
    case AW
    case AX
    case AZ
    case BA
    case BB
    case BD
    case BE
    case BF
    case BG
    case BH
    case BI
    case BJ
    case BL
    case BM
    case BN
    case BO
    case BQ
    case BR
    case BS
    case BT
    case BV
    case BW
    case BY
    case BZ
    case CA
    case CC
    case CD
    case CF
    case CG
    case CH
    case CI
    case CK
    case CL
    case CM
    case CN
    case CO
    case CR
    case CU
    case CV
    case CW
    case CX
    case CY
    case CZ
    case DE
    case DJ
    case DK
    case DM
    case DO
    case DZ
    case EC
    case EE
    case EG
    case EH
    case ER
    case ES
    case ET
    case FI
    case FJ
    case FK
    case FM
    case FO
    case FR
    case GA
    case GB
    case GD
    case GE
    case GF
    case GG
    case GH
    case GI
    case GL
    case GM
    case GN
    case GP
    case GQ
    case GR
    case GS
    case GT
    case GU
    case GW
    case GY
    case HK
    case HM
    case HN
    case HR
    case HT
    case HU
    case ID
    case IE
    case IL
    case IM
    case IN
    case IO
    case IQ
    case IR
    case IS
    case IT
    case JE
    case JM
    case JO
    case JP
    case KE
    case KG
    case KH
    case KI
    case KM
    case KN
    case KP
    case KR
    case KW
    case KY
    case KZ
    case LA
    case LB
    case LC
    case LI
    case LK
    case LR
    case LS
    case LT
    case LU
    case LV
    case LY
    case MA
    case MC
    case MD
    case ME
    case MF
    case MG
    case MH
    case MK
    case ML
    case MM
    case MN
    case MO
    case MP
    case MQ
    case MR
    case MS
    case MT
    case MU
    case MV
    case MW
    case MX
    case MY
    case MZ
    case NA
    case NC
    case NE
    case NF
    case NG
    case NI
    case NL
    case NO
    case NP
    case NR
    case NU
    case NZ
    case OM
    case PA
    case PE
    case PF
    case PG
    case PH
    case PK
    case PL
    case PM
    case PN
    case PR
    case PS
    case PT
    case PW
    case PY
    case QA
    case RE
    case RO
    case RS
    case RU
    case RW
    case SA
    case SB
    case SC
    case SD
    case SE
    case SG
    case SH
    case SI
    case SJ
    case SK
    case SL
    case SM
    case SN
    case SO
    case SR
    case SS
    case ST
    case SV
    case SX
    case SY
    case SZ
    case TC
    case TD
    case TF
    case TG
    case TH
    case TJ
    case TK
    case TL
    case TM
    case TN
    case TO
    case TR
    case TT
    case TV
    case TW
    case TZ
    case UA
    case UG
    case UM
    case US
    case UY
    case UZ
    case VA
    case VC
    case VE
    case VG
    case VI
    case VN
    case VU
    case WF
    case WS
    case YE
    case YT
    case ZA
    case ZM
    case ZW
}

// @DataContract(Name="CustomerContactPersonDto")
public class CustomerContactPersonDto : Codable
{
    // @DataMember(Name="email", IsRequired=true)
    public var email:String

    // @DataMember(Name="firstName", IsRequired=true)
    public var firstName:String

    // @DataMember(Name="lastName", IsRequired=true)
    public var lastName:String

    // @DataMember(Name="phoneNumber")
    public var phoneNumber:String

    required public init(){}
}

// @DataContract(Name="CustomerTargetGroupDto")
public class CustomerTargetGroupDto : Codable
{
    // @DataMember(Name="id", IsRequired=true)
    public var id:String

    // @DataMember(Name="name", IsRequired=true)
    public var name:String

    // @DataMember(Name="isDefault")
    public var isDefault:Bool

    // @DataMember(Name="externalId")
    public var externalId:String

    required public init(){}
}


Swift SearchVossCustomers DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

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/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

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