| POST | /members |
|---|
import Foundation
import ServiceStack
public class MemberCollection : Codable
{
public var members:[Member] = []
required public init(){}
}
public class Member : Codable
{
public var className:String?
public var uniqueId:String?
public var createdDateTime:Date?
public var clientId:Int?
public var groupId:String?
public var userId:String?
public var alternateUserId:String?
public var bhUserId:Int?
public var firstName:String?
public var lastName:String?
public var middleName:String?
public var preferredEmailAddress:String?
public var otherEmailAddress:String?
public var preferredPhoneNumber:String?
public var preferredAddress1:String?
public var preferredAddress2:String?
public var preferredCity:String?
public var preferredState:String?
public var preferredZip:String?
public var preferredCountry:String?
public var accessLevel:String?
public var memberStatus:String?
public var memberTypeClient:String?
public var billingType:String?
public var fiscalYear:Int?
public var workLocation:String?
public var dob:Date?
public var paperless:String?
public var displayName:String?
public var disableLogin:String?
public var recurringInvoiceSettings:RecurringInvoiceSettings?
public var formFields:[SubscriberFormField] = []
public var attributes:[AttributeItem] = []
public var groupList:[Chapter] = []
required public init(){}
}
public class RecurringInvoiceSettings : Codable
{
public var donationAmount:String?
required public init(){}
}
public class SubscriberFormField : Codable
{
public var name:String?
public var value:String?
required public init(){}
}
public class AttributeItem : Codable
{
public var name:String?
public var value:String?
required public init(){}
}
public class Chapter : Codable
{
public var groupId:String?
required public init(){}
}
public class MemberReplyCollection : IHaveErrorField, Codable
{
public var memberReply:[MemberReply] = []
public var isError:Bool?
required public init(){}
}
public class MemberReply : Codable
{
public var className:String?
public var uniqueId:String?
public var createdDateTime:Date?
public var clientId:Int?
public var errorCode:Int?
public var errorMessage:String?
public var billhighwayuserId:Int?
public var userId:String?
public var groupId:String?
required public init(){}
}
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 /members HTTP/1.1
Host: devapi.billhighway.com
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"Members":[{"ClassName":"String","UniqueId":"String","CreatedDateTime":"0001-01-01T00:00:00.0000000","ClientId":0,"GroupId":"String","UserId":"String","AlternateUserId":"String","BhUserId":0,"FirstName":"String","LastName":"String","MiddleName":"String","PreferredEmailAddress":"String","OtherEmailAddress":"String","PreferredPhoneNumber":"String","PreferredAddress1":"String","PreferredAddress2":"String","PreferredCity":"String","PreferredState":"String","PreferredZip":"String","PreferredCountry":"String","AccessLevel":"String","MemberStatus":"String","MemberTypeClient":"String","BillingType":"String","FiscalYear":0,"WorkLocation":"String","DOB":"0001-01-01T00:00:00.0000000","Paperless":"String","DisplayName":"String","DisableLogin":"String","RecurringInvoiceSettings":{"DonationAmount":"String"},"FormFields":[{"Name":"String","Value":"String"}],"Attributes":[{"Name":"String","Value":"String"}],"GroupList":[{"GroupId":"String"}]}]}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"MemberReply":[{"ClassName":"String","UniqueId":"String","CreatedDateTime":"0001-01-01T00:00:00.0000000","ClientId":0,"ErrorCode":0,"ErrorMessage":"String","BillhighwayuserId":0,"UserId":"String","GroupId":"String"}],"IsError":false}