Billhighway Cloud API

<back to all web services

StandardSignupFormPostRq

The following routes are available for this service:
POST/signup/api/standardSignup
import 'package:servicestack/servicestack.dart';

class StandardSignupFormMemberInfo implements IConvertible
{
    int? BhUserID;
    int? BhGroupID;
    String? ClientUserID;
    String? ClientGroupID;
    int? NationalID;
    String? FirstName;
    String? MiddleName;
    String? LastName;
    String? Address1;
    String? Address2;
    String? City;
    String? State;
    String? PostalCode;
    String? Country;
    String? Email;
    String? Phone;
    String? PacContributionAmount;
    DateTime? DateOfBirth;
    String? MemberTypeClientID;
    String? BillingTypeID;
    int? FiscalYear;
    bool? OptedToPayCTADues;

    StandardSignupFormMemberInfo({this.BhUserID,this.BhGroupID,this.ClientUserID,this.ClientGroupID,this.NationalID,this.FirstName,this.MiddleName,this.LastName,this.Address1,this.Address2,this.City,this.State,this.PostalCode,this.Country,this.Email,this.Phone,this.PacContributionAmount,this.DateOfBirth,this.MemberTypeClientID,this.BillingTypeID,this.FiscalYear,this.OptedToPayCTADues});
    StandardSignupFormMemberInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        BhUserID = json['BhUserID'];
        BhGroupID = json['BhGroupID'];
        ClientUserID = json['ClientUserID'];
        ClientGroupID = json['ClientGroupID'];
        NationalID = json['NationalID'];
        FirstName = json['FirstName'];
        MiddleName = json['MiddleName'];
        LastName = json['LastName'];
        Address1 = json['Address1'];
        Address2 = json['Address2'];
        City = json['City'];
        State = json['State'];
        PostalCode = json['PostalCode'];
        Country = json['Country'];
        Email = json['Email'];
        Phone = json['Phone'];
        PacContributionAmount = json['PacContributionAmount'];
        DateOfBirth = JsonConverters.fromJson(json['DateOfBirth'],'DateTime',context!);
        MemberTypeClientID = json['MemberTypeClientID'];
        BillingTypeID = json['BillingTypeID'];
        FiscalYear = json['FiscalYear'];
        OptedToPayCTADues = json['OptedToPayCTADues'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'BhUserID': BhUserID,
        'BhGroupID': BhGroupID,
        'ClientUserID': ClientUserID,
        'ClientGroupID': ClientGroupID,
        'NationalID': NationalID,
        'FirstName': FirstName,
        'MiddleName': MiddleName,
        'LastName': LastName,
        'Address1': Address1,
        'Address2': Address2,
        'City': City,
        'State': State,
        'PostalCode': PostalCode,
        'Country': Country,
        'Email': Email,
        'Phone': Phone,
        'PacContributionAmount': PacContributionAmount,
        'DateOfBirth': JsonConverters.toJson(DateOfBirth,'DateTime',context!),
        'MemberTypeClientID': MemberTypeClientID,
        'BillingTypeID': BillingTypeID,
        'FiscalYear': FiscalYear,
        'OptedToPayCTADues': OptedToPayCTADues
    };

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

class ClientVerification implements IConvertible
{
    String? Provider;
    String? VerificationCode;

    ClientVerification({this.Provider,this.VerificationCode});
    ClientVerification.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'Provider': Provider,
        'VerificationCode': VerificationCode
    };

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

class CcPaymentInformation implements IConvertible
{
    String? CardNumber;
    String? Cvv;
    int? ExpMonth;
    int? ExpYear;
    String? CardholderName;
    String? Country;
    String? BillingAddress;
    String? Address1;
    String? Address2;
    String? City;
    String? StateProvince;
    String? PostalCode;

    CcPaymentInformation({this.CardNumber,this.Cvv,this.ExpMonth,this.ExpYear,this.CardholderName,this.Country,this.BillingAddress,this.Address1,this.Address2,this.City,this.StateProvince,this.PostalCode});
    CcPaymentInformation.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        CardNumber = json['CardNumber'];
        Cvv = json['Cvv'];
        ExpMonth = json['ExpMonth'];
        ExpYear = json['ExpYear'];
        CardholderName = json['CardholderName'];
        Country = json['Country'];
        BillingAddress = json['BillingAddress'];
        Address1 = json['Address1'];
        Address2 = json['Address2'];
        City = json['City'];
        StateProvince = json['StateProvince'];
        PostalCode = json['PostalCode'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'CardNumber': CardNumber,
        'Cvv': Cvv,
        'ExpMonth': ExpMonth,
        'ExpYear': ExpYear,
        'CardholderName': CardholderName,
        'Country': Country,
        'BillingAddress': BillingAddress,
        'Address1': Address1,
        'Address2': Address2,
        'City': City,
        'StateProvince': StateProvince,
        'PostalCode': PostalCode
    };

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

class AchPaymentInformation implements IConvertible
{
    String? AccountHolderName;
    String? CheckNumber;
    String? RoutingNumber;
    String? AccountNumber;
    String? AccountType;

    AchPaymentInformation({this.AccountHolderName,this.CheckNumber,this.RoutingNumber,this.AccountNumber,this.AccountType});
    AchPaymentInformation.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        AccountHolderName = json['AccountHolderName'];
        CheckNumber = json['CheckNumber'];
        RoutingNumber = json['RoutingNumber'];
        AccountNumber = json['AccountNumber'];
        AccountType = json['AccountType'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'AccountHolderName': AccountHolderName,
        'CheckNumber': CheckNumber,
        'RoutingNumber': RoutingNumber,
        'AccountNumber': AccountNumber,
        'AccountType': AccountType
    };

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

class ContributionItem implements IConvertible
{
    int? ChartOfAccountId;
    String? ChartOfAccountRefId;
    double? Amount;

    ContributionItem({this.ChartOfAccountId,this.ChartOfAccountRefId,this.Amount});
    ContributionItem.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

class StandardSignupFormPostRq implements IConvertible
{
    bool? IsCreditCard;
    StandardSignupFormMemberInfo? MemberInfo;
    ClientVerification? VerificationInfo;
    CcPaymentInformation? CcPaymentInfo;
    AchPaymentInformation? AchPaymentInfo;
    List<ContributionItem>? Contributions;

    StandardSignupFormPostRq({this.IsCreditCard,this.MemberInfo,this.VerificationInfo,this.CcPaymentInfo,this.AchPaymentInfo,this.Contributions});
    StandardSignupFormPostRq.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        IsCreditCard = json['IsCreditCard'];
        MemberInfo = JsonConverters.fromJson(json['MemberInfo'],'StandardSignupFormMemberInfo',context!);
        VerificationInfo = JsonConverters.fromJson(json['VerificationInfo'],'ClientVerification',context!);
        CcPaymentInfo = JsonConverters.fromJson(json['CcPaymentInfo'],'CcPaymentInformation',context!);
        AchPaymentInfo = JsonConverters.fromJson(json['AchPaymentInfo'],'AchPaymentInformation',context!);
        Contributions = JsonConverters.fromJson(json['Contributions'],'List<ContributionItem>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'IsCreditCard': IsCreditCard,
        'MemberInfo': JsonConverters.toJson(MemberInfo,'StandardSignupFormMemberInfo',context!),
        'VerificationInfo': JsonConverters.toJson(VerificationInfo,'ClientVerification',context!),
        'CcPaymentInfo': JsonConverters.toJson(CcPaymentInfo,'CcPaymentInformation',context!),
        'AchPaymentInfo': JsonConverters.toJson(AchPaymentInfo,'AchPaymentInformation',context!),
        'Contributions': JsonConverters.toJson(Contributions,'List<ContributionItem>',context!)
    };

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

class StandardSignupFormPostRs implements IConvertible
{
    String? Message;

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

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

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

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

TypeContext _ctx = TypeContext(library: 'devapi.billhighway.com', types: <String, TypeInfo> {
    'StandardSignupFormMemberInfo': TypeInfo(TypeOf.Class, create:() => StandardSignupFormMemberInfo()),
    'ClientVerification': TypeInfo(TypeOf.Class, create:() => ClientVerification()),
    'CcPaymentInformation': TypeInfo(TypeOf.Class, create:() => CcPaymentInformation()),
    'AchPaymentInformation': TypeInfo(TypeOf.Class, create:() => AchPaymentInformation()),
    'ContributionItem': TypeInfo(TypeOf.Class, create:() => ContributionItem()),
    'StandardSignupFormPostRq': TypeInfo(TypeOf.Class, create:() => StandardSignupFormPostRq()),
    'List<ContributionItem>': TypeInfo(TypeOf.Class, create:() => <ContributionItem>[]),
    'StandardSignupFormPostRs': TypeInfo(TypeOf.Class, create:() => StandardSignupFormPostRs()),
});

Dart StandardSignupFormPostRq 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.

POST /signup/api/standardSignup HTTP/1.1 
Host: devapi.billhighway.com 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"IsCreditCard":false,"MemberInfo":{"BhUserID":0,"BhGroupID":0,"ClientUserID":"String","ClientGroupID":"String","NationalID":0,"FirstName":"String","MiddleName":"String","LastName":"String","Address1":"String","Address2":"String","City":"String","State":"String","PostalCode":"String","Country":"String","Email":"String","Phone":"String","PacContributionAmount":"String","DateOfBirth":"0001-01-01T00:00:00.0000000","MemberTypeClientID":"String","BillingTypeID":"String","FiscalYear":0,"OptedToPayCTADues":false},"VerificationInfo":{"Provider":"String","VerificationCode":"String"},"CcPaymentInfo":{"CardNumber":"String","Cvv":"String","ExpMonth":0,"ExpYear":0,"CardholderName":"String","Country":"String","BillingAddress":"String","Address1":"String","Address2":"String","City":"String","StateProvince":"String","PostalCode":"String"},"AchPaymentInfo":{"AccountHolderName":"String","CheckNumber":"String","RoutingNumber":"String","AccountNumber":"String","AccountType":"String"},"Contributions":[{"ChartOfAccountId":0,"ChartOfAccountRefId":"String","Amount":0}]}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"Message":"String"}