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
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports BokaMera.API.ServiceModel.Dtos
Imports BokaMera.VossIntegration.ApiTools.Model
Imports BokaMera.VossIntegration.ApiTools.Enums

Namespace Global

    Namespace BokaMera.API.ServiceModel.Dtos

        <ApiResponse(Description:="You were unauthorized to call this service", StatusCode:=401)>
        Public Partial Class GetVossProductGroup
            '''<Summary>
            '''Passed if we have multilpe packages
            '''</Summary>
            <ApiMember(Description:="Passed if we have multilpe packages")>
            Public Overridable Property PackageId As Guid?

            '''<Summary>
            '''Procut Group id to get
            '''</Summary>
            <ApiMember(Description:="Procut Group id to get", IsRequired:=true)>
            Public Overridable Property ProductGroupId As Guid

            '''<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)>
            Public Overridable Property TierId As Guid
        End Class
    End Namespace

    Namespace BokaMera.VossIntegration.ApiTools.Enums

        Public Enum ProductGroupTypeEnum
            [Optional]
            Included
        End Enum

        Public Enum ProductTypeEnum
            Main
            Addon
            License
            Usage
        End Enum
    End Namespace

    Namespace BokaMera.VossIntegration.ApiTools.Model

        <DataContract(Name:="ProductGroupProductDto")>
        Public Partial Class ProductGroupProductDto
            <DataMember(Name:="type", IsRequired:=true)>
            Public Overridable Property ProductType As ProductTypeEnum

            <DataMember(Name:="status", IsRequired:=true)>
            Public Overridable Property Status As StatusEnum

            <DataMember(Name:="id", IsRequired:=true)>
            Public Overridable Property Id As Guid

            <DataMember(Name:="name", IsRequired:=true)>
            Public Overridable Property Name As String

            <DataMember(Name:="externalId")>
            Public Overridable Property ExternalId As String

            <DataMember(Name:="articleNumber", IsRequired:=true)>
            Public Overridable Property ArticleNumber As String

            Public Enum StatusEnum
                Active
                Terminated
            End Enum
        End Class

        <DataContract(Name:="ProductGroupResult")>
        Public Partial Class ProductGroupResult
            <DataMember(Name:="productGroupType", IsRequired:=true)>
            Public Overridable Property ProductGroupType As ProductGroupTypeEnum

            <DataMember(Name:="id", IsRequired:=true)>
            Public Overridable Property Id As Guid

            <DataMember(Name:="versionId", IsRequired:=true)>
            Public Overridable Property VersionId As Guid

            <DataMember(Name:="name", IsRequired:=true)>
            Public Overridable Property Name As String

            <DataMember(Name:="externalId")>
            Public Overridable Property ExternalId As String

            <DataMember(Name:="products", EmitDefaultValue:=false)>
            Public Overridable Property Products As List(Of ProductGroupProductDto) = New List(Of ProductGroupProductDto)

            <DataMember(Name:="tags", EmitDefaultValue:=false)>
            Public Overridable Property Tags As List(Of ProductGroupTagDto) = New List(Of ProductGroupTagDto)
        End Class

        <DataContract(Name:="ProductGroupTagDto")>
        Public Partial Class ProductGroupTagDto
            <DataMember(Name:="type", IsRequired:=true)>
            Public Overridable Property Type As TypeEnum

            <DataMember(Name:="tag", IsRequired:=true)>
            Public Overridable Property Tag As String

            Public Enum TypeEnum
                AtSubscriptionBillingPeriodEnd
                AtBindingPeriodEnd
                Immediately
            End Enum
        End Class
    End Namespace
End Namespace

VB.NET 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: 
	[
		{
			
		}
	]
}