Billhighway Cloud API

<back to all web services

GroupSubscriptionInfoGetRq

The following routes are available for this service:
GET/signup/api/nat/{natID}/group/{groupId}/signup/info
GET/signup/api/nat/{natID}/group/{groupId}/{usertype}/user/{userid}/signup/info
import java.math.*
import java.util.*
import net.servicestack.client.*


open class GroupSubscriptionInfoGetRq : IApiRequest
{
    var GroupId:Int? = null
    var UserId:String? = null
    var UserType:String? = null
    var NatID:Int? = null
    var isPrintView:String? = null
}

open class GroupSubscriptionInfoGetRs : IApiResponse
{
    var SignupInfo:GroupSubscriptionInfo? = null
    var Links:ArrayList<Link> = ArrayList<Link>()
}

open class GroupSubscriptionInfo
{
    var BrandingInfo:GroupBrandingInfo? = null
    var Subscriptions:ArrayList<GroupSubscriptionInvoiceType> = ArrayList<GroupSubscriptionInvoiceType>()
    var FormInfo:SubscriberForm? = null
    var Campaigns:ArrayList<CampaignItem> = ArrayList<CampaignItem>()
}

open class GroupBrandingInfo
{
    var Items:ArrayList<ApiParameter> = ArrayList<ApiParameter>()
    var Countries:ArrayList<CountryInfo> = ArrayList<CountryInfo>()
    var States:ArrayList<StateInfo> = ArrayList<StateInfo>()
}

open class ApiParameter
{
    var Name:String? = null
    var Value:String? = null
}

open class CountryInfo
{
    var CountryID:Int? = null
    var Abbr:String? = null
    var FullName:String? = null
    var IsoA2:String? = null
    var IsoNum:Int? = null
}

open class StateInfo
{
    var CountryID:Int? = null
    var StateID:Int? = null
    var Abbr:String? = null
    var FullName:String? = null
}

open class GroupSubscriptionInvoiceType
{
    var ID:Int? = null
    var Name:String? = null
    var SubscriptionInvoices:ArrayList<GroupSubscriptionInvoice> = ArrayList<GroupSubscriptionInvoice>()
    var SubscriptionInvTemplateTypeID:Int? = null
    var TemplateTypeName:String? = null
}

open class GroupSubscriptionInvoice
{
    var ID:Long? = null
    var LineageID:Long? = null
    var TypeID:Int? = null
    var Description:String? = null
    var InvoiceItems:ArrayList<GroupSubscriptionInvoiceItem> = ArrayList<GroupSubscriptionInvoiceItem>()
    var FrequencyTotals:ArrayList<SubscriptionFrequency> = ArrayList<SubscriptionFrequency>()
    var ClientSubscriptionTypeID:String? = null
}

open class GroupSubscriptionInvoiceItem
{
    var ID:Long? = null
    var Description:String? = null
    var Amount:BigDecimal? = null
    var Frequencies:ArrayList<SubscriptionFrequency> = ArrayList<SubscriptionFrequency>()
}

open class SubscriptionFrequency
{
    var ID:Int? = null
    var Description:String? = null
    var FriendlyDescription:String? = null
    var TotalAmount:BigDecimal? = null
    var InstallmentAmount:BigDecimal? = null
    var NumInstallments:Int? = null
}

open class SubscriberForm
{
    var ID:Long? = null
    var FormTempateID:Int? = null
    var SubscriptionInvoiceID:Long? = null
    var SignupTypeID:Int? = null
    var Fields:ArrayList<SubscriberFormField> = ArrayList<SubscriberFormField>()
}

open class SubscriberFormField
{
    var Name:String? = null
    var Value:String? = null
}

open class CampaignItem
{
    var Id:Int? = null
    var Name:String? = null
    var SubTitle:String? = null
    var Description:String? = null
    var HasGoal:Boolean? = null
    var DetailUri:String? = null
    var Theme:CampaignTheme? = null
    var Goal:CampaignGoal? = null
    var Levels:ArrayList<CampaignLevel>? = null
    var LogoUrl:String? = null
    var HighResolutionLogoUrl:String? = null
    var Signup:Signup? = null
}

open class CampaignTheme
{
    var Id:Int? = null
    var Name:String? = null
    var MainColor:String? = null
    var SecondaryColor:String? = null
    var iPhone:CampaignThemeImage? = null
    var iPhoneRetina:CampaignThemeImage? = null
}

open class CampaignThemeImage
{
    var BackgroundImage:String? = null
    var Icon:String? = null
}

open class CampaignGoal
{
    var Target:BigDecimal? = null
    var Actual:BigDecimal? = null
}

open class CampaignLevel
{
    var Sequence:Int? = null
    var Amount:BigDecimal? = null
    var Description:String? = null
}

open class Signup
{
    var ShowOnNewMembership:Boolean? = null
    var ShowOnSignupRenewal:Boolean? = null
    var ShowOtherAmount:Boolean? = null
}

open class Link
{
    var Rel:String? = null
    var Url:String? = null
}

Kotlin GroupSubscriptionInfoGetRq 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 /signup/api/nat/{natID}/group/{groupId}/signup/info HTTP/1.1 
Host: devapi.billhighway.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	SignupInfo: 
	{
		BrandingInfo: 
		{
			Items: 
			[
				{
					Name: String,
					Value: String
				}
			]
		},
		FormInfo: 
		{
			ID: 0,
			FormTempateID: 0,
			SubscriptionInvoiceID: 0,
			SignupTypeID: 0,
			Fields: 
			[
				{
					FormTemplateFieldID: 0,
					Name: String,
					Value: String
				}
			]
		}
	},
	Links: 
	[
		{
			Rel: String,
			Url: String
		}
	]
}