| Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
| GET | /voss/tiers/{TierId} | gets voss tiers |
|---|
export enum ProductGroupTypeEnum
{
Optional = 'Optional',
Included = 'Included',
}
export enum TypeEnum
{
AtSubscriptionBillingPeriodEnd = 'AtSubscriptionBillingPeriodEnd',
AtBindingPeriodEnd = 'AtBindingPeriodEnd',
Immediately = 'Immediately',
}
// @DataContract(Name="ProductGroupTagDto")
export class ProductGroupTagDto
{
// @DataMember(Name="type", IsRequired=true)
public type: TypeEnum;
// @DataMember(Name="tag", IsRequired=true)
public tag: string;
public constructor(init?: Partial<ProductGroupTagDto>) { (Object as any).assign(this, init); }
}
export enum ProductTypeEnum
{
Main = 'Main',
Addon = 'Addon',
License = 'License',
Usage = 'Usage',
}
export enum StatusEnum
{
Active = 'Active',
Terminated = 'Terminated',
}
// @DataContract(Name="TierProductDto")
export class TierProductDto
{
// @DataMember(Name="type", IsRequired=true)
public type: ProductTypeEnum;
// @DataMember(Name="status", IsRequired=true)
public status: StatusEnum;
// @DataMember(Name="id", IsRequired=true)
public id: string;
// @DataMember(Name="name", IsRequired=true)
public name: string;
// @DataMember(Name="externalId")
public externalId: string;
// @DataMember(Name="articleNumber", IsRequired=true)
public articleNumber: string;
public constructor(init?: Partial<TierProductDto>) { (Object as any).assign(this, init); }
}
// @DataContract(Name="TierProductGroupDto")
export class TierProductGroupDto
{
// @DataMember(Name="productGroupType", IsRequired=true)
public productGroupType: ProductGroupTypeEnum;
// @DataMember(Name="id", IsRequired=true)
public id: string;
// @DataMember(Name="name", IsRequired=true)
public name: string;
// @DataMember(Name="externalId")
public externalId: string;
// @DataMember(Name="tags", EmitDefaultValue=false)
public tags: ProductGroupTagDto[] = [];
// @DataMember(Name="products", EmitDefaultValue=false)
public products: TierProductDto[] = [];
public constructor(init?: Partial<TierProductGroupDto>) { (Object as any).assign(this, init); }
}
// @DataContract(Name="TierResult")
export class TierResult
{
// @DataMember(Name="id", IsRequired=true)
public id: string;
// @DataMember(Name="versionId", IsRequired=true)
public versionId: string;
// @DataMember(Name="name", IsRequired=true)
public name: string;
// @DataMember(Name="externalId")
public externalId: string;
// @DataMember(Name="rank")
public rank: number;
// @DataMember(Name="productGroups", EmitDefaultValue=false)
public productGroups: TierProductGroupDto[] = [];
public constructor(init?: Partial<TierResult>) { (Object as any).assign(this, init); }
}
// @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
export class GetVossTier
{
/** @description The company id, if empty will use the company id for the user you are logged in with. */
// @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")
public TierId: string;
public PackageId?: string;
public constructor(init?: Partial<GetVossTier>) { (Object as any).assign(this, init); }
}
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/tiers/{TierId} HTTP/1.1
Host: api.bokamera.se
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
name: String,
externalId: String,
rank: 0,
productGroups:
[
{
}
]
}