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 Foundation
import ServiceStack

public class GroupSubscriptionInfoGetRq : IApiRequest, Codable
{
    public var groupId:Int?
    public var userId:String?
    public var userType:String?
    public var natID:Int?
    public var isPrintView:String?

    required public init(){}
}

public class GroupSubscriptionInfoGetRs : IApiResponse, Codable
{
    public var signupInfo:GroupSubscriptionInfo?
    public var links:[Link] = []

    required public init(){}
}

public class GroupSubscriptionInfo : Codable
{
    public var brandingInfo:GroupBrandingInfo?
    public var subscriptions:[GroupSubscriptionInvoiceType] = []
    public var formInfo:SubscriberForm?
    public var campaigns:[CampaignItem] = []

    required public init(){}
}

public class GroupBrandingInfo : Codable
{
    public var items:[ApiParameter] = []
    public var countries:[CountryInfo] = []
    public var states:[StateInfo] = []

    required public init(){}
}

public class ApiParameter : Codable
{
    public var name:String?
    public var value:String?

    required public init(){}
}

public class CountryInfo : Codable
{
    public var countryID:Int?
    public var abbr:String?
    public var fullName:String?
    public var isoA2:String?
    public var isoNum:Int?

    required public init(){}
}

public class StateInfo : Codable
{
    public var countryID:Int?
    public var stateID:Int?
    public var abbr:String?
    public var fullName:String?

    required public init(){}
}

public class GroupSubscriptionInvoiceType : Codable
{
    public var id:Int?
    public var name:String?
    public var subscriptionInvoices:[GroupSubscriptionInvoice] = []
    public var subscriptionInvTemplateTypeID:Int?
    public var templateTypeName:String?

    required public init(){}
}

public class GroupSubscriptionInvoice : Codable
{
    public var id:Int?
    public var lineageID:Int?
    public var typeID:Int?
    public var Description:String?
    public var invoiceItems:[GroupSubscriptionInvoiceItem] = []
    public var frequencyTotals:[SubscriptionFrequency] = []
    public var clientSubscriptionTypeID:String?

    required public init(){}
}

public class GroupSubscriptionInvoiceItem : Codable
{
    public var id:Int?
    public var Description:String?
    public var amount:Double?
    public var frequencies:[SubscriptionFrequency] = []

    required public init(){}
}

public class SubscriptionFrequency : Codable
{
    public var id:Int?
    public var Description:String?
    public var friendlyDescription:String?
    public var totalAmount:Double?
    public var installmentAmount:Double?
    public var numInstallments:Int?

    required public init(){}
}

public class SubscriberForm : Codable
{
    public var id:Int?
    public var formTempateID:Int?
    public var subscriptionInvoiceID:Int?
    public var signupTypeID:Int?
    public var fields:[SubscriberFormField] = []

    required public init(){}
}

public class SubscriberFormField : Codable
{
    public var name:String?
    public var value:String?

    required public init(){}
}

public class CampaignItem : Codable
{
    public var id:Int?
    public var name:String?
    public var subTitle:String?
    public var Description:String?
    public var hasGoal:Bool?
    public var detailUri:String?
    public var theme:CampaignTheme?
    public var goal:CampaignGoal?
    public var levels:[CampaignLevel] = []
    public var logoUrl:String?
    public var highResolutionLogoUrl:String?
    public var signup:Signup?

    required public init(){}
}

public class CampaignTheme : Codable
{
    public var id:Int?
    public var name:String?
    public var mainColor:String?
    public var secondaryColor:String?
    public var iPhone:CampaignThemeImage?
    public var iPhoneRetina:CampaignThemeImage?

    required public init(){}
}

public class CampaignThemeImage : Codable
{
    public var backgroundImage:String?
    public var icon:String?

    required public init(){}
}

public class CampaignGoal : Codable
{
    public var target:Double?
    public var actual:Double?

    required public init(){}
}

public class CampaignLevel : Codable
{
    public var sequence:Int?
    public var amount:Double?
    public var Description:String?

    required public init(){}
}

public class Signup : Codable
{
    public var showOnNewMembership:Bool?
    public var showOnSignupRenewal:Bool?
    public var showOtherAmount:Bool?

    required public init(){}
}

public class Link : Codable
{
    public var rel:String?
    public var url:String?

    required public init(){}
}


Swift GroupSubscriptionInfoGetRq DTOs

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

HTTP + CSV

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/csv
HTTP/1.1 200 OK
Content-Type: text/csv
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"}]}