| 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
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"}