| GET | /voss/packages | get voss package |
|---|
// @ts-nocheck
export enum PackageStatusEnum
{
Draft = 'Draft',
Staged = 'Staged',
Published = 'Published',
Archived = 'Archived',
Discarded = 'Discarded',
}
export enum ProductGroupTypeEnum
{
Optional = 'Optional',
Included = 'Included',
}
export enum TypeEnum
{
AtSubscriptionBillingPeriodEnd = 'AtSubscriptionBillingPeriodEnd',
AtBindingPeriodEnd = 'AtBindingPeriodEnd',
}
// @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="PackageProductDto")
export class PackageProductDto
{
// @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")
public articleNumber: string;
public constructor(init?: Partial<PackageProductDto>) { (Object as any).assign(this, init); }
}
// @DataContract(Name="PackageProductGroupDto")
export class PackageProductGroupDto
{
// @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: PackageProductDto[] = [];
public constructor(init?: Partial<PackageProductGroupDto>) { (Object as any).assign(this, init); }
}
// @DataContract(Name="PackageTierDto")
export class PackageTierDto
{
// @DataMember(Name="id", IsRequired=true)
public id: string;
// @DataMember(Name="name", IsRequired=true)
public name: string;
// @DataMember(Name="externalId")
public externalId: string;
// @DataMember(Name="productGroups", EmitDefaultValue=false)
public productGroups: PackageProductGroupDto[] = [];
public constructor(init?: Partial<PackageTierDto>) { (Object as any).assign(this, init); }
}
export enum PeriodEndActionEnum
{
Renew = 'Renew',
Terminate = 'Terminate',
}
export enum UnitEnum
{
Day = 'Day',
Month = 'Month',
Year = 'Year',
}
// @DataContract(Name="TimeLengthDto")
export class TimeLengthDto
{
// @DataMember(Name="unit", IsRequired=true)
public unit: UnitEnum;
// @DataMember(Name="value", EmitDefaultValue=false)
public value: number;
public constructor(init?: Partial<TimeLengthDto>) { (Object as any).assign(this, init); }
}
// @DataContract(Name="BindingPeriodCycleDto")
export class BindingPeriodCycleDto
{
// @DataMember(Name="periodEndAction", IsRequired=true)
public periodEndAction: PeriodEndActionEnum;
// @DataMember(Name="length", IsRequired=true)
public length: TimeLengthDto;
public constructor(init?: Partial<BindingPeriodCycleDto>) { (Object as any).assign(this, init); }
}
export enum PeriodAnchorEnum
{
PeriodCreated = 'PeriodCreated',
PeriodStart = 'PeriodStart',
PeriodEnd = 'PeriodEnd',
}
// @DataContract(Name="PeriodDateOffsetDto")
export class PeriodDateOffsetDto
{
// @DataMember(Name="periodAnchor", IsRequired=true)
public periodAnchor: PeriodAnchorEnum;
// @DataMember(Name="length", IsRequired=true)
public length: TimeLengthDto;
// @DataMember(Name="valueAnchor")
public valueAnchor?: number;
public constructor(init?: Partial<PeriodDateOffsetDto>) { (Object as any).assign(this, init); }
}
// @DataContract(Name="BillingPeriodCycleDto")
export class BillingPeriodCycleDto
{
// @DataMember(Name="length", IsRequired=true)
public length: TimeLengthDto;
// @DataMember(Name="invoiceDateOffset", IsRequired=true)
public invoiceDateOffset: PeriodDateOffsetDto;
// @DataMember(Name="renewalDateOffset", IsRequired=true)
public renewalDateOffset: PeriodDateOffsetDto;
public constructor(init?: Partial<BillingPeriodCycleDto>) { (Object as any).assign(this, init); }
}
// @DataContract(Name="PackagePlanDto")
export class PackagePlanDto
{
// @DataMember(Name="id", IsRequired=true)
public id: string;
// @DataMember(Name="name", IsRequired=true)
public name: string;
// @DataMember(Name="externalId")
public externalId: string;
// @DataMember(Name="bindingPeriodCycle", IsRequired=true)
public bindingPeriodCycle: BindingPeriodCycleDto;
// @DataMember(Name="subscriptionBillingPeriodCycle", IsRequired=true)
public subscriptionBillingPeriodCycle: BillingPeriodCycleDto;
// @DataMember(Name="usageBillingPeriodCycle", IsRequired=true)
public usageBillingPeriodCycle: BillingPeriodCycleDto;
public constructor(init?: Partial<PackagePlanDto>) { (Object as any).assign(this, init); }
}
export enum PricingSchemeEnum
{
UnitPricing = 'UnitPricing',
TierPricing = 'TierPricing',
}
// @DataContract(Name="ProductTierPricingDto")
export class ProductTierPricingDto
{
// @DataMember(Name="index", EmitDefaultValue=false)
public index: number;
// @DataMember(Name="unitPrice", EmitDefaultValue=false)
public unitPrice: number;
// @DataMember(Name="flatPrice", EmitDefaultValue=false)
public flatPrice: number;
// @DataMember(Name="repeatEvery")
public repeatEvery?: number;
// @DataMember(Name="upperLimit")
public upperLimit?: number;
public constructor(init?: Partial<ProductTierPricingDto>) { (Object as any).assign(this, init); }
}
// @DataContract(Name="ProductPricingDto")
export class ProductPricingDto
{
// @DataMember(Name="pricingScheme", IsRequired=true)
public pricingScheme: PricingSchemeEnum;
// @DataMember(Name="productId", IsRequired=true)
public productId: string;
// @DataMember(Name="includedQuantity")
public includedQuantity?: number;
// @DataMember(Name="maxQuantity")
public maxQuantity?: number;
// @DataMember(Name="unitPrice")
public unitPrice?: number;
// @DataMember(Name="tierPricing", EmitDefaultValue=false)
public tierPricing: ProductTierPricingDto[] = [];
// @DataMember(Name="articleNumber")
public articleNumber: string;
public constructor(init?: Partial<ProductPricingDto>) { (Object as any).assign(this, init); }
}
// @DataContract(Name="ProductGroupPricingDto")
export class ProductGroupPricingDto
{
// @DataMember(Name="productGroupId", IsRequired=true)
public productGroupId: string;
// @DataMember(Name="articleNumber", IsRequired=true)
public articleNumber: string;
// @DataMember(Name="price", EmitDefaultValue=false)
public price: number;
// @DataMember(Name="productPricings", EmitDefaultValue=false)
public productPricings: ProductPricingDto[] = [];
public constructor(init?: Partial<ProductGroupPricingDto>) { (Object as any).assign(this, init); }
}
// @DataContract(Name="PackageChargePlanDto")
export class PackageChargePlanDto
{
// @DataMember(Name="id", IsRequired=true)
public id: string;
// @DataMember(Name="tierId", IsRequired=true)
public tierId: string;
// @DataMember(Name="planId", IsRequired=true)
public planId: string;
// @DataMember(Name="productGroupPricings", IsRequired=true)
public productGroupPricings: ProductGroupPricingDto[] = [];
public constructor(init?: Partial<PackageChargePlanDto>) { (Object as any).assign(this, init); }
}
// @DataContract(Name="PackageSalesChannelDto")
export class PackageSalesChannelDto
{
// @DataMember(Name="id", IsRequired=true)
public id: string;
// @DataMember(Name="name", IsRequired=true)
public name: string;
// @DataMember(Name="description")
public description: string;
// @DataMember(Name="validFrom")
public validFrom?: string;
// @DataMember(Name="validTo")
public validTo?: string;
public constructor(init?: Partial<PackageSalesChannelDto>) { (Object as any).assign(this, init); }
}
// @DataContract(Name="PackageTargetGroupDto")
export class PackageTargetGroupDto
{
// @DataMember(Name="id", IsRequired=true)
public id: string;
// @DataMember(Name="name", IsRequired=true)
public name: string;
// @DataMember(Name="isDefault")
public isDefault: boolean;
// @DataMember(Name="externalId")
public externalId: string;
public constructor(init?: Partial<PackageTargetGroupDto>) { (Object as any).assign(this, init); }
}
// @DataContract(Name="PackageScheduledChangeResultDto")
export class PackageScheduledChangeResultDto
{
// @DataMember(Name="status")
public status?: PackageStatusEnum;
// @DataMember(Name="name")
public name: string;
public constructor(init?: Partial<PackageScheduledChangeResultDto>) { (Object as any).assign(this, init); }
}
// @DataContract(Name="PackageScheduledChangeResult")
export class PackageScheduledChangeResult
{
// @DataMember(Name="status", IsRequired=true)
public status: StatusEnum;
// @DataMember(Name="id", IsRequired=true)
public id: string;
// @DataMember(Name="versionId", IsRequired=true)
public versionId: string;
// @DataMember(Name="package", EmitDefaultValue=false)
public package: PackageScheduledChangeResultDto;
// @DataMember(Name="scheduledDate", IsRequired=true)
public scheduledDate: string;
public constructor(init?: Partial<PackageScheduledChangeResult>) { (Object as any).assign(this, init); }
}
// @DataContract(Name="PackageResult")
export class PackageResult
{
// @DataMember(Name="status", IsRequired=true)
public status: PackageStatusEnum;
// @DataMember(Name="id", IsRequired=true)
public id: string;
// @DataMember(Name="versionId", IsRequired=true)
public versionId: string;
// @DataMember(Name="sourceVersionId")
public sourceVersionId?: string;
// @DataMember(Name="name", IsRequired=true)
public name: string;
// @DataMember(Name="externalId")
public externalId: string;
// @DataMember(Name="tiers", IsRequired=true)
public tiers: PackageTierDto[] = [];
// @DataMember(Name="plans", IsRequired=true)
public plans: PackagePlanDto[] = [];
// @DataMember(Name="chargePlans", IsRequired=true)
public chargePlans: PackageChargePlanDto[] = [];
// @DataMember(Name="salesChannels", IsRequired=true)
public salesChannels: PackageSalesChannelDto[] = [];
// @DataMember(Name="targetGroups", IsRequired=true)
public targetGroups: PackageTargetGroupDto[] = [];
// @DataMember(Name="scheduledChanges", IsRequired=true)
public scheduledChanges: PackageScheduledChangeResult[] = [];
public constructor(init?: Partial<PackageResult>) { (Object as any).assign(this, init); }
}
// @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
export class GetVossPackage
{
/** @description The package id; if not passed the configured BokaMera package will be used. */
// @ApiMember(Description="The package id; if not passed the configured BokaMera package will be used.")
public PackageId?: string;
public constructor(init?: Partial<GetVossPackage>) { (Object as any).assign(this, init); }
}
TypeScript GetVossPackage DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /voss/packages HTTP/1.1 Host: testapi.bokamera.se Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"status":"Draft","sourceVersionId":"00000000-0000-0000-0000-000000000000","name":"String","externalId":"String","tiers":[{}],"plans":[{}],"chargePlans":[{}],"salesChannels":[{}],"targetGroups":[{}],"scheduledChanges":[{}]}