| POST | /PMI |
|---|
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports BH.CloudAPI.Common4.DTO.SalesForce
Imports BH.CloudAPI.Common.DTO.Member
Imports BH.CloudAPI.Common4.DTO
Imports BH.CloudAPI.Common.DTO
Namespace Global
Namespace BH.CloudAPI.Common.DTO
Public Partial Class Chapter
Public Overridable Property GroupId As String
End Class
Public Partial Class Invoice
Implements IInvoiceValidation
Public Sub New()
InvoiceItems = New List(Of InvoiceItem)
End Sub
Public Overridable Property UniqueId As String
Public Overridable Property ClientId As Integer
Public Overridable Property GroupId As String
Public Overridable Property Description As String
Public Overridable Property OpportunityId As String
Public Overridable Property Installments As Integer
Public Overridable Property Frequency As Integer
Public Overridable Property InvoiceDueDate As Date
Public Overridable Property Deliver As Boolean
Public Overridable Property UserId As String
Public Overridable Property BhUserId As Integer
Public Overridable Property CurrencyType As String
Public Overridable Property InvoiceItems As List(Of InvoiceItem)
Public Overridable Property InvoiceNo As Integer
Public Overridable Property InvoiceAmt As Decimal
Public Overridable Property ExternalInvBatchNo As String
Public Overridable Property ExemptFromLateFee As Boolean
End Class
Public Partial Class InvoiceItem
Implements IInvoiceItemValidation
Public Overridable Property UniqueId As String
Public Overridable Property ProductName As String
Public Overridable Property AmountDue As Decimal
Public Overridable Property ProductType As String
Public Overridable Property ActPatternTypeID As Integer
Public Overridable Property TermStartDate As Date
Public Overridable Property TermEndDate As Date
Public Overridable Property RecognitionPeriod As Integer
Public Overridable Property RevenueAccount As String
Public Overridable Property AccountsReceivableAccount As String
Public Overridable Property LiabilityAccount As String
Public Overridable Property CreditExpenseAccount As String
Public Overridable Property InvoiceClearingAccount As String
Public Overridable Property CostCenter As String
Public Overridable Property Region As String
End Class
End Namespace
Namespace BH.CloudAPI.Common.DTO.Member
Public Partial Class RecurringInvoiceSettings
Public Overridable Property DonationAmount As String
End Class
End Namespace
Namespace BH.CloudAPI.Common4.DTO
Public Partial Class AttributeItem
Public Overridable Property Name As String
Public Overridable Property Value As String
End Class
Public Partial Class CreditCardPayment
Inherits CreditCardPayment
Public Overridable Property SubscriptionInfo As SubscriptionParameters
End Class
End Namespace
Namespace BH.CloudAPI.Common4.DTO.SalesForce
Public Partial Class AchPayment
Public Sub New()
InvoiceList = New List(Of SalesForceMemberPaymentInvoiceDetail)
End Sub
Public Overridable Property ClassName As String
Public Overridable Property UniqueId As String
Public Overridable Property CreatedDateTime As Date
Public Overridable Property ClientId As Integer
Public Overridable Property GroupId As String
Public Overridable Property UserId As String
Public Overridable Property BhUserId As Integer
Public Overridable Property Amount As Decimal
Public Overridable Property CurrencyType As String
Public Overridable Property Country As String
Public Overridable Property RoutingNumber As String
Public Overridable Property AccountNumber As String
Public Overridable Property AchReference As String
Public Overridable Property AccountType As String
Public Overridable Property IsSavingsAccount As Boolean
Public Overridable Property PayerName As String
Public Overridable Property CheckNumber As String
Public Overridable Property PreferredEmailAddress As String
Public Overridable Property Memo As String
Public Overridable Property InvoiceList As List(Of SalesForceMemberPaymentInvoiceDetail)
Public Overridable Property AutoPay As Boolean
Public Overridable Property StoreAchInfo As Boolean
Public Overridable Property EncryptionTypeId As Integer
End Class
Public Partial Class CreateApplyCredit
Public Sub New()
InvoiceDetails = New List(Of SalesForceCreditInvoiceDetails)
End Sub
Public Overridable Property ClassName As String
Public Overridable Property UniqueId As String
Public Overridable Property CreatedDateTime As Date
Public Overridable Property ClientId As Integer
Public Overridable Property GroupId As String
Public Overridable Property UserId As String
Public Overridable Property BhUserId As Integer
Public Overridable Property CreditId As Integer
Public Overridable Property CurrencyType As String
Public Overridable Property CreditType As String
Public Overridable Property Notes As String
Public Overridable Property InvoiceDetails As List(Of SalesForceCreditInvoiceDetails)
End Class
Public Partial Class Member
Public Sub New()
FormFields = New List(Of SubscriberFormField)
Attributes = New List(Of AttributeItem)
GroupList = New List(Of Chapter)
End Sub
Public Overridable Property ClassName As String
Public Overridable Property UniqueId As String
Public Overridable Property CreatedDateTime As Date
Public Overridable Property ClientId As Integer
Public Overridable Property GroupId As String
Public Overridable Property UserId As String
Public Overridable Property AlternateUserId As String
Public Overridable Property BhUserId As Integer
Public Overridable Property FirstName As String
Public Overridable Property LastName As String
Public Overridable Property MiddleName As String
Public Overridable Property PreferredEmailAddress As String
Public Overridable Property OtherEmailAddress As String
Public Overridable Property PreferredPhoneNumber As String
Public Overridable Property PreferredAddress1 As String
Public Overridable Property PreferredAddress2 As String
Public Overridable Property PreferredCity As String
Public Overridable Property PreferredState As String
Public Overridable Property PreferredZip As String
Public Overridable Property PreferredCountry As String
Public Overridable Property AccessLevel As String
Public Overridable Property MemberStatus As String
Public Overridable Property MemberTypeClient As String
Public Overridable Property BillingType As String
Public Overridable Property FiscalYear As Integer
Public Overridable Property WorkLocation As String
Public Overridable Property DOB As Date
Public Overridable Property Paperless As String
Public Overridable Property DisplayName As String
Public Overridable Property DisableLogin As String
Public Overridable Property RecurringInvoiceSettings As RecurringInvoiceSettings
Public Overridable Property FormFields As List(Of SubscriberFormField)
Public Overridable Property Attributes As List(Of AttributeItem)
Public Overridable Property GroupList As List(Of Chapter)
End Class
Public Partial Class Pmi
Public Sub New()
InvoiceCollection = New List(Of Invoice)
End Sub
Public Overridable Property UniqueId As String
Public Overridable Property CreatedDateTime As Date
Public Overridable Property ClientId As Integer
Public Overridable Property GroupId As Integer
Public Overridable Property MemberInfo As Member
Public Overridable Property InvoiceCollection As List(Of Invoice)
Public Overridable Property CcPaymentInfo As CreditCardPayment
Public Overridable Property CreditInfo As CreateApplyCredit
Public Overridable Property AchPaymentInfo As AchPayment
Public Overridable Property LockboxId As Long
Public Overridable Property MemberSubscriptionInvoiceId As Long
End Class
Public Partial Class PmiReply
Implements IHaveErrorField
Public Sub New()
BhInvoiceBatchId = New List(Of Integer)
End Sub
Public Overridable Property UniqueId As String
Public Overridable Property CreatedDateTime As Date
Public Overridable Property ClientId As Integer
Public Overridable Property BillhighwayPaymentConfirmationNumber As String
Public Overridable Property BillhighwayUserId As Integer
Public Overridable Property BhInvoiceBatchId As List(Of Integer)
Public Overridable Property ChapMemPayid As Long
Public Overridable Property ErrorCode As Integer
Public Overridable Property ErrorMessage As String
Public Overridable Property IsError As Boolean
End Class
Public Partial Class SalesForceCreditInvoiceDetails
Public Overridable Property Invoice As Long
Public Overridable Property AmountPaid As Decimal
Public Overridable Property Region As String
Public Overridable Property CostCenter As String
End Class
Public Partial Class SalesForceMemberPaymentInvoiceDetail
Public Overridable Property ClassName As String
Public Overridable Property UniqueId As String
Public Overridable Property CreatedDateTime As Date
Public Overridable Property ClientId As Integer
Public Overridable Property Invoice As Integer
Public Overridable Property AmountPaid As String
End Class
Public Partial Class SubscriberFormField
Public Overridable Property Name As String
Public Overridable Property Value As String
End Class
Public Partial Class SubscriptionParameters
Public Sub New()
Fields = New List(Of SubscriberFormField)
End Sub
Public Overridable Property FormTemplateID As Integer
Public Overridable Property SubscriptionInvoiceID As Integer
Public Overridable Property ClientSubscriberId As String
Public Overridable Property SignupTypeID As Integer
Public Overridable Property FrequencyID As Integer
Public Overridable Property AutoRenew As Boolean
Public Overridable Property CompanyID As Long
Public Overridable Property UserID As Integer
Public Overridable Property ChapMemPayID As Long
Public Overridable Property MemberSubscriptionInvID As Long
Public Overridable Property Fields As List(Of SubscriberFormField)
Public Overridable Property CreatedBy As Integer
Public Overridable Property UpdatedBy As Integer
Public Overridable Property AptifyUpdateType As Integer
Public Overridable Property RenewedMemberSubscriptionInvID As Long
Public Overridable Property ChapId As Integer
End Class
End Namespace
End Namespace
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 /PMI HTTP/1.1
Host: devapi.billhighway.com
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"UniqueId":"String","CreatedDateTime":"0001-01-01T00:00:00.0000000","ClientId":0,"GroupId":0,"MemberInfo":{"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"}]},"InvoiceCollection":[{"UniqueId":"String","ClientId":0,"GroupId":"String","UserId":"String","OpportunityId":"String","InvoiceDueDate":"0001-01-01T00:00:00.0000000","Installments":0,"Frequency":0,"BhUserId":0,"Description":"String","Deliver":false,"CurrencyType":"String","InvoiceItems":[{"ProductName":"String","AmountDue":"String","RevenueAccount":"String"}],"InvoiceNo":0,"InvoiceAmt":0,"ExternalInvBatchNo":"String","ExemptFromLateFee":false}],"CcPaymentInfo":{"ClassName":"String","UniqueId":"String","CreatedDateTime":"0001-01-01T00:00:00.0000000","ClientId":0,"GroupId":"String","UserId":"String","BhUserId":0,"Amount":"String","AutoPay":false,"CurrencyType":"String","Country":"String","CardReferenceOrCardNumber":"String","StoreCardInfo":false,"Address1":"String","Address2":"String","BillingCity":"String","BillingState":"String","PreferredEmailAddress":"String","Memo":"String","OpportunityId":"String","ExpMonth":0,"ExpYear":0,"Cvv":"String","PostalCode":"String","Location":"String","NameOnCard":"String","CardType":"String","InvoiceList":[{"ClassName":"String","UniqueId":"String","CreatedDateTime":"0001-01-01T00:00:00.0000000","ClientId":0,"Invoice":0,"AmountPaid":"String"}]},"CreditInfo":{"ClassName":"String","UniqueId":"String","CreatedDateTime":"0001-01-01T00:00:00.0000000","ClientId":0,"GroupId":"String","UserId":"String","BhUserId":0,"CreditId":0,"CurrencyType":"String","CreditType":"String","Notes":"String","InvoiceDetails":[{"Invoice":0,"AmountPaid":0,"Region":"String","CostCenter":"String"}]},"AchPaymentInfo":{"ClassName":"String","UniqueId":"String","CreatedDateTime":"0001-01-01T00:00:00.0000000","ClientId":0,"GroupId":"String","UserId":"String","BhUserId":0,"Amount":0,"CurrencyType":"String","Country":"String","RoutingNumber":"String","AccountNumber":"String","AchReference":"String","AccountType":"String","IsSavingsAccount":false,"PayerName":"String","CheckNumber":"String","PreferredEmailAddress":"String","Memo":"String","InvoiceList":[{"ClassName":"String","UniqueId":"String","CreatedDateTime":"0001-01-01T00:00:00.0000000","ClientId":0,"Invoice":0,"AmountPaid":"String"}],"AutoPay":false,"StoreAchInfo":false,"EncryptionTypeId":0},"LockboxId":0,"MemberSubscriptionInvoiceId":0}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"UniqueId":"String","CreatedDateTime":"0001-01-01T00:00:00.0000000","ClientId":0,"BillhighwayPaymentConfirmationNumber":"String","BillhighwayUserId":0,"BhInvoiceBatchId":[0],"ChapMemPayid":0,"ErrorCode":0,"ErrorMessage":"String","IsError":true}