Billhighway Cloud API

<back to all web services

SalesForcePmi

The following routes are available for this service:
POST/api/SalesForce/PMI
namespace BH.CloudAPI.Common.DTO

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type SalesForcePmiReply() = 
        member val ClassName:String = null with get,set
        member val UniqueId:String = null with get,set
        member val CreatedDateTime:DateTime = new DateTime() with get,set
        member val ClientId:Int32 = new Int32() with get,set
        member val BillhighwayPaymentConfirmationNumber:String = null with get,set
        member val BillhighwayUserId:Int32 = new Int32() with get,set
        member val BhInvoiceBatchId:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
        member val ChapMemPayid:Int64 = new Int64() with get,set
        member val ErrorCode:Int32 = new Int32() with get,set
        member val ErrorMessage:String = null with get,set
        member val IsError:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type RecurringInvoiceSettings() = 
        member val DonationAmount:String = null with get,set

    [<AllowNullLiteral>]
    type SubscriberFormField() = 
        member val Name:String = null with get,set
        member val Value:String = null with get,set

    [<AllowNullLiteral>]
    type AttributeItem() = 
        member val Name:String = null with get,set
        member val Value:String = null with get,set

    [<AllowNullLiteral>]
    type Chapter() = 
        member val GroupId:String = null with get,set

    [<AllowNullLiteral>]
    type SalesForceMember() = 
        member val ClassName:String = null with get,set
        member val UniqueId:String = null with get,set
        member val CreatedDateTime:DateTime = new DateTime() with get,set
        member val ClientId:Int32 = new Int32() with get,set
        member val GroupId:String = null with get,set
        member val UserId:String = null with get,set
        member val AlternateUserId:String = null with get,set
        member val BhUserId:Int32 = new Int32() with get,set
        member val FirstName:String = null with get,set
        member val LastName:String = null with get,set
        member val MiddleName:String = null with get,set
        member val PreferredEmailAddress:String = null with get,set
        member val OtherEmailAddress:String = null with get,set
        member val PreferredPhoneNumber:String = null with get,set
        member val PreferredAddress1:String = null with get,set
        member val PreferredAddress2:String = null with get,set
        member val PreferredCity:String = null with get,set
        member val PreferredState:String = null with get,set
        member val PreferredZip:String = null with get,set
        member val PreferredCountry:String = null with get,set
        member val AccessLevel:String = null with get,set
        member val MemberStatus:String = null with get,set
        member val MemberTypeClient:String = null with get,set
        member val BillingType:String = null with get,set
        member val FiscalYear:Int32 = new Int32() with get,set
        member val WorkLocation:String = null with get,set
        member val DOB:DateTime = new DateTime() with get,set
        member val Paperless:String = null with get,set
        member val DisplayName:String = null with get,set
        member val DisableLogin:String = null with get,set
        member val RecurringInvoiceSettings:RecurringInvoiceSettings = null with get,set
        member val FormFields:ResizeArray<SubscriberFormField> = new ResizeArray<SubscriberFormField>() with get,set
        member val Attributes:ResizeArray<AttributeItem> = new ResizeArray<AttributeItem>() with get,set
        member val GroupList:ResizeArray<Chapter> = new ResizeArray<Chapter>() with get,set

    [<AllowNullLiteral>]
    type SalesForceInvoiceItem() = 
        member val ClassName:String = null with get,set
        member val UniqueId:String = null with get,set
        member val CreatedDateTime:DateTime = new DateTime() with get,set
        member val ClientId:Int32 = new Int32() with get,set
        member val ProductName:String = null with get,set
        member val AmountDue:String = null with get,set
        member val ProductType:String = null with get,set
        member val ActPatternTypeId:Int32 = new Int32() with get,set
        member val TermStartDate:DateTime = new DateTime() with get,set
        member val TermEndDate:DateTime = new DateTime() with get,set
        member val RecognitionPeriod:Int32 = new Int32() with get,set
        member val RevenueAccount:String = null with get,set
        member val AccountsReceivableAccount:String = null with get,set
        member val LiabilityAccount:String = null with get,set
        member val CreditExpenseAccount:String = null with get,set
        member val InvoiceClearingAccount:String = null with get,set
        member val CostCenter:String = null with get,set
        member val Region:String = null with get,set

    [<AllowNullLiteral>]
    type SalesForceInvoice() = 
        member val ClassName:String = null with get,set
        member val UniqueId:String = null with get,set
        member val CreatedDateTime:DateTime = new DateTime() with get,set
        member val ClientId:Int32 = new Int32() with get,set
        member val GroupId:String = null with get,set
        member val UserId:String = null with get,set
        member val OpportunityId:String = null with get,set
        member val InvoiceDueDate:DateTime = new DateTime() with get,set
        member val Installments:Int32 = new Int32() with get,set
        member val Frequency:Int32 = new Int32() with get,set
        member val BhUserId:Int32 = new Int32() with get,set
        member val Description:String = null with get,set
        member val Deliver:Boolean = new Boolean() with get,set
        member val CurrencyType:String = null with get,set
        member val InvoiceItems:ResizeArray<SalesForceInvoiceItem> = new ResizeArray<SalesForceInvoiceItem>() with get,set
        member val InvoiceNo:Int32 = new Int32() with get,set
        member val InvoiceAmt:Decimal = new Decimal() with get,set
        member val ExternalInvBatchNo:String = null with get,set
        member val ExemptFromLateFee:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type SalesForceMemberPaymentInvoiceDetail() = 
        member val ClassName:String = null with get,set
        member val UniqueId:String = null with get,set
        member val CreatedDateTime:DateTime = new DateTime() with get,set
        member val ClientId:Int32 = new Int32() with get,set
        member val Invoice:Int32 = new Int32() with get,set
        member val AmountPaid:String = null with get,set

    [<AllowNullLiteral>]
    type SalesForceCreditCardPayment() = 
        member val ClassName:String = null with get,set
        member val UniqueId:String = null with get,set
        member val CreatedDateTime:DateTime = new DateTime() with get,set
        member val ClientId:Int32 = new Int32() with get,set
        member val GroupId:String = null with get,set
        member val UserId:String = null with get,set
        member val BhUserId:Int32 = new Int32() with get,set
        member val Amount:String = null with get,set
        member val AutoPay:Boolean = new Boolean() with get,set
        member val CurrencyType:String = null with get,set
        member val Country:String = null with get,set
        member val CardReferenceOrCardNumber:String = null with get,set
        member val StoreCardInfo:Boolean = new Boolean() with get,set
        member val Address1:String = null with get,set
        member val Address2:String = null with get,set
        member val BillingCity:String = null with get,set
        member val BillingState:String = null with get,set
        member val PreferredEmailAddress:String = null with get,set
        member val Memo:String = null with get,set
        member val OpportunityId:String = null with get,set
        member val ExpMonth:Int32 = new Int32() with get,set
        member val ExpYear:Int32 = new Int32() with get,set
        member val Cvv:String = null with get,set
        member val PostalCode:String = null with get,set
        member val Location:String = null with get,set
        member val NameOnCard:String = null with get,set
        member val CardType:String = null with get,set
        member val InvoiceList:ResizeArray<SalesForceMemberPaymentInvoiceDetail> = new ResizeArray<SalesForceMemberPaymentInvoiceDetail>() with get,set

    [<AllowNullLiteral>]
    type SalesForceCreditInvoiceDetails() = 
        member val Invoice:Int64 = new Int64() with get,set
        member val AmountPaid:Decimal = new Decimal() with get,set
        member val Region:String = null with get,set
        member val CostCenter:String = null with get,set

    [<AllowNullLiteral>]
    type SalesForceCreateApplyCredit() = 
        member val ClassName:String = null with get,set
        member val UniqueId:String = null with get,set
        member val CreatedDateTime:DateTime = new DateTime() with get,set
        member val ClientId:Int32 = new Int32() with get,set
        member val GroupId:String = null with get,set
        member val UserId:String = null with get,set
        member val BhUserId:Int32 = new Int32() with get,set
        member val CreditId:Int32 = new Int32() with get,set
        member val CurrencyType:String = null with get,set
        member val CreditType:String = null with get,set
        member val Notes:String = null with get,set
        member val InvoiceDetails:ResizeArray<SalesForceCreditInvoiceDetails> = new ResizeArray<SalesForceCreditInvoiceDetails>() with get,set

    [<AllowNullLiteral>]
    type AchPayment() = 
        member val ClassName:String = null with get,set
        member val UniqueId:String = null with get,set
        member val CreatedDateTime:DateTime = new DateTime() with get,set
        member val ClientId:Int32 = new Int32() with get,set
        member val GroupId:String = null with get,set
        member val UserId:String = null with get,set
        member val BhUserId:Int32 = new Int32() with get,set
        member val Amount:Decimal = new Decimal() with get,set
        member val CurrencyType:String = null with get,set
        member val Country:String = null with get,set
        member val RoutingNumber:String = null with get,set
        member val AccountNumber:String = null with get,set
        member val AchReference:String = null with get,set
        member val AccountType:String = null with get,set
        member val IsSavingsAccount:Boolean = new Boolean() with get,set
        member val PayerName:String = null with get,set
        member val CheckNumber:String = null with get,set
        member val PreferredEmailAddress:String = null with get,set
        member val Memo:String = null with get,set
        member val InvoiceList:ResizeArray<SalesForceMemberPaymentInvoiceDetail> = new ResizeArray<SalesForceMemberPaymentInvoiceDetail>() with get,set
        member val AutoPay:Boolean = new Boolean() with get,set
        member val StoreAchInfo:Boolean = new Boolean() with get,set
        member val EncryptionTypeId:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type SalesForcePmi() = 
        member val ClassName:String = null with get,set
        member val UniqueId:String = null with get,set
        member val CreatedDateTime:DateTime = new DateTime() with get,set
        member val ClientId:Int32 = new Int32() with get,set
        member val GroupId:Int32 = new Int32() with get,set
        member val MemberInfo:SalesForceMember = null with get,set
        member val InvoiceCollection:ResizeArray<SalesForceInvoice> = new ResizeArray<SalesForceInvoice>() with get,set
        member val CcPaymentInfo:SalesForceCreditCardPayment = null with get,set
        member val CreditInfo:SalesForceCreateApplyCredit = null with get,set
        member val AchPaymentInfo:AchPayment = null with get,set
        member val LockboxId:Int64 = new Int64() with get,set

F# SalesForcePmi DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /api/SalesForce/PMI HTTP/1.1 
Host: devapi.billhighway.com 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"ClassName":"String","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":[{"ClassName":"String","UniqueId":"String","CreatedDateTime":"0001-01-01T00:00:00.0000000","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":[{"ClassName":"String","UniqueId":"String","CreatedDateTime":"0001-01-01T00:00:00.0000000","ClientId":0,"ProductName":"String","AmountDue":"String","ProductType":"String","ActPatternTypeId":0,"TermStartDate":"0001-01-01T00:00:00.0000000","TermEndDate":"0001-01-01T00:00:00.0000000","RecognitionPeriod":0,"RevenueAccount":"String","AccountsReceivableAccount":"String","LiabilityAccount":"String","CreditExpenseAccount":"String","InvoiceClearingAccount":"String","CostCenter":"String","Region":"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}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"ClassName":"String","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}