| POST | /members |
|---|
import java.math.*
import java.util.*
import net.servicestack.client.*
open class MemberCollection
{
var Members:ArrayList<Member> = ArrayList<Member>()
}
open class Member
{
var ClassName:String? = null
var UniqueId:String? = null
var CreatedDateTime:Date? = null
var ClientId:Int? = null
var GroupId:String? = null
var UserId:String? = null
var AlternateUserId:String? = null
var BhUserId:Int? = null
var FirstName:String? = null
var LastName:String? = null
var MiddleName:String? = null
var PreferredEmailAddress:String? = null
var OtherEmailAddress:String? = null
var PreferredPhoneNumber:String? = null
var PreferredAddress1:String? = null
var PreferredAddress2:String? = null
var PreferredCity:String? = null
var PreferredState:String? = null
var PreferredZip:String? = null
var PreferredCountry:String? = null
var AccessLevel:String? = null
var MemberStatus:String? = null
var MemberTypeClient:String? = null
var BillingType:String? = null
var FiscalYear:Int? = null
var WorkLocation:String? = null
var DOB:Date? = null
var Paperless:String? = null
var DisplayName:String? = null
var DisableLogin:String? = null
var RecurringInvoiceSettings:RecurringInvoiceSettings? = null
var FormFields:ArrayList<SubscriberFormField> = ArrayList<SubscriberFormField>()
var Attributes:ArrayList<AttributeItem> = ArrayList<AttributeItem>()
var GroupList:ArrayList<Chapter> = ArrayList<Chapter>()
}
open class RecurringInvoiceSettings
{
var DonationAmount:String? = null
}
open class SubscriberFormField
{
var Name:String? = null
var Value:String? = null
}
open class AttributeItem
{
var Name:String? = null
var Value:String? = null
}
open class Chapter
{
var GroupId:String? = null
}
open class MemberReplyCollection : IHaveErrorField
{
var MemberReply:ArrayList<MemberReply> = ArrayList<MemberReply>()
var IsError:Boolean? = null
}
open class MemberReply
{
var ClassName:String? = null
var UniqueId:String? = null
var CreatedDateTime:Date? = null
var ClientId:Int? = null
var ErrorCode:Int? = null
var ErrorMessage:String? = null
var BillhighwayuserId:Int? = null
var UserId:String? = null
var GroupId:String? = null
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
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/jsv
Content-Type: text/jsv
Content-Length: length
{
Members:
[
{
ClassName: String,
UniqueId: String,
CreatedDateTime: 0001-01-01,
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-01,
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/jsv
Content-Length: length
{
MemberReply:
[
{
ClassName: String,
UniqueId: String,
CreatedDateTime: 0001-01-01,
ClientId: 0,
ErrorCode: 0,
ErrorMessage: String,
BillhighwayuserId: 0,
UserId: String,
GroupId: String
}
],
IsError: False
}