Billhighway Cloud API

<back to all web services

FormBuilderCampaignListRq

The following routes are available for this service:
GET/signup/api/nat/{natID}/group/{groupId}/campaignListInfo
import 'package:servicestack/servicestack.dart';

class FormBuilderCampaignListRq implements IConvertible
{
    int? NatId;
    int? GroupId;

    FormBuilderCampaignListRq({this.NatId,this.GroupId});
    FormBuilderCampaignListRq.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        NatId = json['NatId'];
        GroupId = json['GroupId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'NatId': NatId,
        'GroupId': GroupId
    };

    getTypeName() => "FormBuilderCampaignListRq";
    TypeContext? context = _ctx;
}

class CampaignThemeImage implements IConvertible
{
    String? BackgroundImage;
    String? Icon;

    CampaignThemeImage({this.BackgroundImage,this.Icon});
    CampaignThemeImage.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        BackgroundImage = json['BackgroundImage'];
        Icon = json['Icon'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'BackgroundImage': BackgroundImage,
        'Icon': Icon
    };

    getTypeName() => "CampaignThemeImage";
    TypeContext? context = _ctx;
}

class CampaignTheme implements IConvertible
{
    int? Id;
    String? Name;
    String? MainColor;
    String? SecondaryColor;
    CampaignThemeImage? iPhone;
    CampaignThemeImage? iPhoneRetina;

    CampaignTheme({this.Id,this.Name,this.MainColor,this.SecondaryColor,this.iPhone,this.iPhoneRetina});
    CampaignTheme.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Name = json['Name'];
        MainColor = json['MainColor'];
        SecondaryColor = json['SecondaryColor'];
        iPhone = JsonConverters.fromJson(json['iPhone'],'CampaignThemeImage',context!);
        iPhoneRetina = JsonConverters.fromJson(json['iPhoneRetina'],'CampaignThemeImage',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Name': Name,
        'MainColor': MainColor,
        'SecondaryColor': SecondaryColor,
        'iPhone': JsonConverters.toJson(iPhone,'CampaignThemeImage',context!),
        'iPhoneRetina': JsonConverters.toJson(iPhoneRetina,'CampaignThemeImage',context!)
    };

    getTypeName() => "CampaignTheme";
    TypeContext? context = _ctx;
}

class CampaignGoal implements IConvertible
{
    double? Target;
    double? Actual;

    CampaignGoal({this.Target,this.Actual});
    CampaignGoal.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Target = JsonConverters.toDouble(json['Target']);
        Actual = JsonConverters.toDouble(json['Actual']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Target': Target,
        'Actual': Actual
    };

    getTypeName() => "CampaignGoal";
    TypeContext? context = _ctx;
}

class Signup implements IConvertible
{
    bool? ShowOnNewMembership;
    bool? ShowOnSignupRenewal;
    bool? ShowOtherAmount;

    Signup({this.ShowOnNewMembership,this.ShowOnSignupRenewal,this.ShowOtherAmount});
    Signup.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ShowOnNewMembership = json['ShowOnNewMembership'];
        ShowOnSignupRenewal = json['ShowOnSignupRenewal'];
        ShowOtherAmount = json['ShowOtherAmount'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ShowOnNewMembership': ShowOnNewMembership,
        'ShowOnSignupRenewal': ShowOnSignupRenewal,
        'ShowOtherAmount': ShowOtherAmount
    };

    getTypeName() => "Signup";
    TypeContext? context = _ctx;
}

class CampaignItem implements IConvertible
{
    int? Id;
    String? Name;
    String? SubTitle;
    String? Description;
    bool? HasGoal;
    String? DetailUri;
    CampaignTheme? Theme;
    CampaignGoal? Goal;
    List<CampaignLevel>? Levels;
    String? LogoUrl;
    String? HighResolutionLogoUrl;
    Signup? Signup;

    CampaignItem({this.Id,this.Name,this.SubTitle,this.Description,this.HasGoal,this.DetailUri,this.Theme,this.Goal,this.Levels,this.LogoUrl,this.HighResolutionLogoUrl,this.Signup});
    CampaignItem.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Name = json['Name'];
        SubTitle = json['SubTitle'];
        Description = json['Description'];
        HasGoal = json['HasGoal'];
        DetailUri = json['DetailUri'];
        Theme = JsonConverters.fromJson(json['Theme'],'CampaignTheme',context!);
        Goal = JsonConverters.fromJson(json['Goal'],'CampaignGoal',context!);
        Levels = JsonConverters.fromJson(json['Levels'],'List<CampaignLevel>',context!);
        LogoUrl = json['LogoUrl'];
        HighResolutionLogoUrl = json['HighResolutionLogoUrl'];
        Signup = JsonConverters.fromJson(json['Signup'],'Signup',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Name': Name,
        'SubTitle': SubTitle,
        'Description': Description,
        'HasGoal': HasGoal,
        'DetailUri': DetailUri,
        'Theme': JsonConverters.toJson(Theme,'CampaignTheme',context!),
        'Goal': JsonConverters.toJson(Goal,'CampaignGoal',context!),
        'Levels': JsonConverters.toJson(Levels,'List<CampaignLevel>',context!),
        'LogoUrl': LogoUrl,
        'HighResolutionLogoUrl': HighResolutionLogoUrl,
        'Signup': JsonConverters.toJson(Signup,'Signup',context!)
    };

    getTypeName() => "CampaignItem";
    TypeContext? context = _ctx;
}

class FormBuilderCampaignListRs implements IConvertible
{
    List<CampaignItem>? campaignLists;

    FormBuilderCampaignListRs({this.campaignLists});
    FormBuilderCampaignListRs.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        campaignLists = JsonConverters.fromJson(json['campaignLists'],'List<CampaignItem>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'campaignLists': JsonConverters.toJson(campaignLists,'List<CampaignItem>',context!)
    };

    getTypeName() => "FormBuilderCampaignListRs";
    TypeContext? context = _ctx;
}

class CampaignLevel implements IConvertible
{
    int? Sequence;
    double? Amount;
    String? Description;

    CampaignLevel({this.Sequence,this.Amount,this.Description});
    CampaignLevel.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Sequence = json['Sequence'];
        Amount = JsonConverters.toDouble(json['Amount']);
        Description = json['Description'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Sequence': Sequence,
        'Amount': Amount,
        'Description': Description
    };

    getTypeName() => "CampaignLevel";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'devapi.billhighway.com', types: <String, TypeInfo> {
    'FormBuilderCampaignListRq': TypeInfo(TypeOf.Class, create:() => FormBuilderCampaignListRq()),
    'CampaignThemeImage': TypeInfo(TypeOf.Class, create:() => CampaignThemeImage()),
    'CampaignTheme': TypeInfo(TypeOf.Class, create:() => CampaignTheme()),
    'CampaignGoal': TypeInfo(TypeOf.Class, create:() => CampaignGoal()),
    'Signup': TypeInfo(TypeOf.Class, create:() => Signup()),
    'CampaignItem': TypeInfo(TypeOf.Class, create:() => CampaignItem()),
    'List<CampaignLevel>': TypeInfo(TypeOf.Class, create:() => <CampaignLevel>[]),
    'CampaignLevel': TypeInfo(TypeOf.Class, create:() => CampaignLevel()),
    'FormBuilderCampaignListRs': TypeInfo(TypeOf.Class, create:() => FormBuilderCampaignListRs()),
    'List<CampaignItem>': TypeInfo(TypeOf.Class, create:() => <CampaignItem>[]),
});

Dart FormBuilderCampaignListRq 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}/campaignListInfo HTTP/1.1 
Host: devapi.billhighway.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	campaignLists: 
	[
		{
			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
			}
		}
	]
}