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
namespace BokaMera.API.ServiceModel.Dtos

open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    type ProductGroupTypeEnum =
        | Optional = 0
        | Included = 1

    type ProductTypeEnum =
        | Main = 0
        | Addon = 1
        | License = 2
        | Usage = 3

    type StatusEnum =
        | Active = 0
        | Terminated = 1

    [<DataContract(Name="ProductGroupProductDto")>]
    [<AllowNullLiteral>]
    type ProductGroupProductDto() = 
        [<DataMember(Name="type", IsRequired=true)>]
        member val ProductType:ProductTypeEnum = new ProductTypeEnum() with get,set

        [<DataMember(Name="status", IsRequired=true)>]
        member val Status:StatusEnum = new StatusEnum() with get,set

        [<DataMember(Name="id", IsRequired=true)>]
        member val Id:Guid = new Guid() with get,set

        [<DataMember(Name="name", IsRequired=true)>]
        member val Name:String = null with get,set

        [<DataMember(Name="externalId")>]
        member val ExternalId:String = null with get,set

        [<DataMember(Name="articleNumber", IsRequired=true)>]
        member val ArticleNumber:String = null with get,set

    type TypeEnum =
        | AtSubscriptionBillingPeriodEnd = 0
        | AtBindingPeriodEnd = 1
        | Immediately = 2

    [<DataContract(Name="ProductGroupTagDto")>]
    [<AllowNullLiteral>]
    type ProductGroupTagDto() = 
        [<DataMember(Name="type", IsRequired=true)>]
        member val Type:TypeEnum = new TypeEnum() with get,set

        [<DataMember(Name="tag", IsRequired=true)>]
        member val Tag:String = null with get,set

    [<DataContract(Name="ProductGroupResult")>]
    [<AllowNullLiteral>]
    type ProductGroupResult() = 
        [<DataMember(Name="productGroupType", IsRequired=true)>]
        member val ProductGroupType:ProductGroupTypeEnum = new ProductGroupTypeEnum() with get,set

        [<DataMember(Name="id", IsRequired=true)>]
        member val Id:Guid = new Guid() with get,set

        [<DataMember(Name="versionId", IsRequired=true)>]
        member val VersionId:Guid = new Guid() with get,set

        [<DataMember(Name="name", IsRequired=true)>]
        member val Name:String = null with get,set

        [<DataMember(Name="externalId")>]
        member val ExternalId:String = null with get,set

        [<DataMember(Name="products", EmitDefaultValue=false)>]
        member val Products:ResizeArray<ProductGroupProductDto> = null with get,set

        [<DataMember(Name="tags", EmitDefaultValue=false)>]
        member val Tags:ResizeArray<ProductGroupTagDto> = null with get,set

    [<ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)>]
    [<AllowNullLiteral>]
    type GetVossProductGroup() = 
        ///<summary>
        ///Passed if we have multilpe packages
        ///</summary>
        [<ApiMember(Description="Passed if we have multilpe packages")>]
        member val PackageId:Nullable<Guid> = new Nullable<Guid>() with get,set

        ///<summary>
        ///Procut Group id to get
        ///</summary>
        [<ApiMember(Description="Procut Group id to get", IsRequired=true)>]
        member val ProductGroupId:Guid = new Guid() with get,set

        ///<summary>
        ///Tier id required because it is used it voss url
        ///</summary>
        [<ApiMember(Description="Tier id required because it is used it voss url", IsRequired=true)>]
        member val TierId:Guid = new Guid() with get,set

F# GetVossProductGroup DTOs

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

HTTP + 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: api.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/BokaMera.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>