Billhighway Cloud API

<back to all web services

GetCampaign

The following routes are available for this service:
GET/v1.1/campaigns/get/{campaignId*}
GET/v1.2/campaigns/get/{campaignId*}
import Foundation
import ServiceStack

public class GetCampaign : GetCampaign, IReturnLegacyException
{
    required public init(){ super.init() }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
    }
}

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(){}
}


Swift GetCampaign 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

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /v1.1/campaigns/get/{campaignId*} HTTP/1.1 
Host: devapi.billhighway.com 
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"Id":0,"Name":"String","SubTitle":"String","Description":"String","HasGoal":false,"DetailUri":"/api/campaigns/get/0","Theme":{"Id":0,"Name":"String","MainColor":"String","SecondaryColor":"String","iPhone":{"BackgroundImage":"String","Icon":"String"},"iPhoneRetina":{"BackgroundImage":"String","Icon":"String"}},"Goal":{"Target":0,"Actual":0},"Levels":[{"Sequence":0,"Amount":0,"Description":"String"}],"LogoUrl":"String","HighResolutionLogoUrl":"String","Signup":{"ShowOnNewMembership":false,"ShowOnSignupRenewal":false,"ShowOtherAmount":false}}