BokaMera.API.Host

<back to all web services

GetVossProductGroup

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
GET/voss/productGroups/{ProductGroupId}gets voss product group
"use strict";
/** @typedef {'Optional'|'Included'} */
export var ProductGroupTypeEnum;
(function (ProductGroupTypeEnum) {
    ProductGroupTypeEnum["Optional"] = "Optional"
    ProductGroupTypeEnum["Included"] = "Included"
})(ProductGroupTypeEnum || (ProductGroupTypeEnum = {}));
/** @typedef {'Main'|'Addon'|'License'|'Usage'} */
export var ProductTypeEnum;
(function (ProductTypeEnum) {
    ProductTypeEnum["Main"] = "Main"
    ProductTypeEnum["Addon"] = "Addon"
    ProductTypeEnum["License"] = "License"
    ProductTypeEnum["Usage"] = "Usage"
})(ProductTypeEnum || (ProductTypeEnum = {}));
/** @typedef {'Active'|'Terminated'} */
export var StatusEnum;
(function (StatusEnum) {
    StatusEnum["Active"] = "Active"
    StatusEnum["Terminated"] = "Terminated"
})(StatusEnum || (StatusEnum = {}));
export class ProductGroupProductDto {
    /** @param {{type?:ProductTypeEnum,status?:StatusEnum,id?:string,name?:string,externalId?:string,articleNumber?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {ProductTypeEnum} */
    type;
    /** @type {StatusEnum} */
    status;
    /** @type {string} */
    id;
    /** @type {string} */
    name;
    /** @type {string} */
    externalId;
    /** @type {string} */
    articleNumber;
}
/** @typedef {'AtSubscriptionBillingPeriodEnd'|'AtBindingPeriodEnd'|'Immediately'} */
export var TypeEnum;
(function (TypeEnum) {
    TypeEnum["AtSubscriptionBillingPeriodEnd"] = "AtSubscriptionBillingPeriodEnd"
    TypeEnum["AtBindingPeriodEnd"] = "AtBindingPeriodEnd"
    TypeEnum["Immediately"] = "Immediately"
})(TypeEnum || (TypeEnum = {}));
export class ProductGroupTagDto {
    /** @param {{type?:TypeEnum,tag?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {TypeEnum} */
    type;
    /** @type {string} */
    tag;
}
export class ProductGroupResult {
    /** @param {{productGroupType?:ProductGroupTypeEnum,id?:string,versionId?:string,name?:string,externalId?:string,products?:ProductGroupProductDto[],tags?:ProductGroupTagDto[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {ProductGroupTypeEnum} */
    productGroupType;
    /** @type {string} */
    id;
    /** @type {string} */
    versionId;
    /** @type {string} */
    name;
    /** @type {string} */
    externalId;
    /** @type {ProductGroupProductDto[]} */
    products = [];
    /** @type {ProductGroupTagDto[]} */
    tags = [];
}
export class GetVossProductGroup {
    /** @param {{PackageId?:string,ProductGroupId?:string,TierId?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {?string}
     * @description Passed if we have multilpe packages */
    PackageId;
    /**
     * @type {string}
     * @description Procut Group id to get */
    ProductGroupId;
    /**
     * @type {string}
     * @description Tier id required because it is used it voss url */
    TierId;
}

JavaScript GetVossProductGroup 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/productGroups/{ProductGroupId} HTTP/1.1 
Host: api.bokamera.se 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	productGroupType: Optional,
	name: String,
	externalId: String,
	products: 
	[
		{
			
		}
	],
	tags: 
	[
		{
			
		}
	]
}