GET | /voss/productGroups/{ProductGroupId} | gets voss product group |
---|
export enum ProductGroupTypeEnum
{
Optional = 'Optional',
Included = 'Included',
}
export enum ProductTypeEnum
{
Main = 'Main',
Addon = 'Addon',
License = 'License',
Usage = 'Usage',
}
export enum StatusEnum
{
Active = 'Active',
Terminated = 'Terminated',
}
// @DataContract(Name="ProductGroupProductDto")
export class ProductGroupProductDto
{
// @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<ProductGroupProductDto>) { (Object as any).assign(this, init); }
}
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); }
}
// @DataContract(Name="ProductGroupResult")
export class ProductGroupResult
{
// @DataMember(Name="productGroupType", IsRequired=true)
public productGroupType: ProductGroupTypeEnum;
// @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="products", EmitDefaultValue=false)
public products: ProductGroupProductDto[];
// @DataMember(Name="tags", EmitDefaultValue=false)
public tags: ProductGroupTagDto[];
public constructor(init?: Partial<ProductGroupResult>) { (Object as any).assign(this, init); }
}
// @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
export class GetVossProductGroup
{
/** @description Passed if we have multilpe packages */
// @ApiMember(Description="Passed if we have multilpe packages")
public PackageId?: string;
/** @description Procut Group id to get */
// @ApiMember(Description="Procut Group id to get", IsRequired=true)
public ProductGroupId: string;
/** @description Tier id required because it is used it voss url */
// @ApiMember(Description="Tier id required because it is used it voss url", IsRequired=true)
public TierId: string;
public constructor(init?: Partial<GetVossProductGroup>) { (Object as any).assign(this, init); }
}
TypeScript GetVossProductGroup DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
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: testapi.bokamera.se Accept: application/xml
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <ProductGroupResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/VossIntegration.ApiTools.Model"> <externalId>String</externalId> <id>00000000-0000-0000-0000-000000000000</id> <name>String</name> <productGroupType>Optional</productGroupType> <products> <ProductGroupProductDto i:nil="true" /> </products> <tags> <ProductGroupTagDto i:nil="true" /> </tags> <versionId>00000000-0000-0000-0000-000000000000</versionId> </ProductGroupResult>