Billhighway Cloud API

<back to all web services

Pmi

The following routes are available for this service:
POST/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 PmiReply() = 
        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 Member() = 
        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 InvoiceItem() = 
        member val UniqueId:String = null with get,set
        member val ProductName:String = null with get,set
        member val AmountDue:Decimal = new Decimal() 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 Invoice() = 
        member val UniqueId:String = null with get,set
        member val ClientId:Int32 = new Int32() with get,set
        member val GroupId:String = null with get,set
        member val Description:String = null with get,set
        member val OpportunityId:String = null with get,set
        member val Installments:Int32 = new Int32() with get,set
        member val Frequency:Int32 = new Int32() with get,set
        member val InvoiceDueDate:DateTime = new DateTime() with get,set
        member val Deliver:Boolean = new Boolean() with get,set
        member val UserId:String = null with get,set
        member val BhUserId:Int32 = new Int32() with get,set
        member val CurrencyType:String = null with get,set
        member val InvoiceItems:ResizeArray<InvoiceItem> = new ResizeArray<InvoiceItem>() 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 SubscriptionParameters() = 
        member val FormTemplateID:Int32 = new Int32() with get,set
        member val SubscriptionInvoiceID:Int32 = new Int32() with get,set
        member val ClientSubscriberId:String = null with get,set
        member val SignupTypeID:Int32 = new Int32() with get,set
        member val FrequencyID:Int32 = new Int32() with get,set
        member val AutoRenew:Boolean = new Boolean() with get,set
        member val CompanyID:Int64 = new Int64() with get,set
        member val UserID:Int32 = new Int32() with get,set
        member val ChapMemPayID:Int64 = new Int64() with get,set
        member val MemberSubscriptionInvID:Int64 = new Int64() with get,set
        member val Fields:ResizeArray<SubscriberFormField> = new ResizeArray<SubscriberFormField>() with get,set
        member val CreatedBy:Int32 = new Int32() with get,set
        member val UpdatedBy:Int32 = new Int32() with get,set
        member val AptifyUpdateType:Int32 = new Int32() with get,set
        member val RenewedMemberSubscriptionInvID:Int64 = new Int64() with get,set
        member val ChapId:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type CreditCardPayment() = 
        inherit CreditCardPayment()
        member val SubscriptionInfo:SubscriptionParameters = null 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 CreateApplyCredit() = 
        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 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 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 Pmi() = 
        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:Member = null with get,set
        member val InvoiceCollection:ResizeArray<Invoice> = new ResizeArray<Invoice>() with get,set
        member val CcPaymentInfo:CreditCardPayment = null with get,set
        member val CreditInfo:CreateApplyCredit = null with get,set
        member val AchPaymentInfo:AchPayment = null with get,set
        member val LockboxId:Int64 = new Int64() with get,set
        member val MemberSubscriptionInvoiceId:Int64 = new Int64() with get,set

F# Pmi DTOs

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

HTTP + XML

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: application/xml
Content-Type: application/xml
Content-Length: length

<Pmi xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BH.CloudAPI.Common4.DTO.SalesForce">
  <AchPaymentInfo>
    <AccountNumber>String</AccountNumber>
    <AccountType>String</AccountType>
    <AchReference>String</AchReference>
    <Amount>0</Amount>
    <AutoPay>false</AutoPay>
    <BhUserId>0</BhUserId>
    <CheckNumber>String</CheckNumber>
    <ClassName>String</ClassName>
    <ClientId>0</ClientId>
    <Country>String</Country>
    <CreatedDateTime>0001-01-01T00:00:00</CreatedDateTime>
    <CurrencyType>String</CurrencyType>
    <EncryptionTypeId>0</EncryptionTypeId>
    <GroupId>String</GroupId>
    <InvoiceList>
      <SalesForceMemberPaymentInvoiceDetail>
        <AmountPaid>String</AmountPaid>
        <ClassName>String</ClassName>
        <ClientId>0</ClientId>
        <CreatedDateTime>0001-01-01T00:00:00</CreatedDateTime>
        <Invoice>0</Invoice>
        <UniqueId>String</UniqueId>
      </SalesForceMemberPaymentInvoiceDetail>
    </InvoiceList>
    <Memo>String</Memo>
    <PayerName>String</PayerName>
    <PreferredEmailAddress>String</PreferredEmailAddress>
    <RoutingNumber>String</RoutingNumber>
    <StoreAchInfo>false</StoreAchInfo>
    <UniqueId>String</UniqueId>
    <UserId>String</UserId>
  </AchPaymentInfo>
  <CcPaymentInfo>
    <Address1>String</Address1>
    <Address2>String</Address2>
    <Amount>String</Amount>
    <AutoPay>false</AutoPay>
    <BhUserId>0</BhUserId>
    <BillingCity>String</BillingCity>
    <BillingState>String</BillingState>
    <CardReferenceOrCardNumber>String</CardReferenceOrCardNumber>
    <CardType>String</CardType>
    <ClassName>String</ClassName>
    <ClientId>0</ClientId>
    <Country>String</Country>
    <CreatedDateTime>0001-01-01T00:00:00</CreatedDateTime>
    <CurrencyType>String</CurrencyType>
    <Cvv>String</Cvv>
    <ExpMonth>0</ExpMonth>
    <ExpYear>0</ExpYear>
    <GroupId>String</GroupId>
    <InvoiceList>
      <SalesForceMemberPaymentInvoiceDetail>
        <AmountPaid>String</AmountPaid>
        <ClassName>String</ClassName>
        <ClientId>0</ClientId>
        <CreatedDateTime>0001-01-01T00:00:00</CreatedDateTime>
        <Invoice>0</Invoice>
        <UniqueId>String</UniqueId>
      </SalesForceMemberPaymentInvoiceDetail>
    </InvoiceList>
    <Location>String</Location>
    <Memo>String</Memo>
    <NameOnCard>String</NameOnCard>
    <OpportunityId>String</OpportunityId>
    <PostalCode>String</PostalCode>
    <PreferredEmailAddress>String</PreferredEmailAddress>
    <StoreCardInfo>false</StoreCardInfo>
    <UniqueId>String</UniqueId>
    <UserId>String</UserId>
  </CcPaymentInfo>
  <ClientId>0</ClientId>
  <CreatedDateTime>0001-01-01T00:00:00</CreatedDateTime>
  <CreditInfo>
    <BhUserId>0</BhUserId>
    <ClassName>String</ClassName>
    <ClientId>0</ClientId>
    <CreatedDateTime>0001-01-01T00:00:00</CreatedDateTime>
    <CreditId>0</CreditId>
    <CreditType>String</CreditType>
    <CurrencyType>String</CurrencyType>
    <GroupId>String</GroupId>
    <InvoiceDetails>
      <SalesForceCreditInvoiceDetails>
        <AmountPaid>0</AmountPaid>
        <CostCenter>String</CostCenter>
        <Invoice>0</Invoice>
        <Region>String</Region>
      </SalesForceCreditInvoiceDetails>
    </InvoiceDetails>
    <Notes>String</Notes>
    <UniqueId>String</UniqueId>
    <UserId>String</UserId>
  </CreditInfo>
  <GroupId>0</GroupId>
  <InvoiceCollection>
    <Invoice>
      <BhUserId>0</BhUserId>
      <ClientId>0</ClientId>
      <CurrencyType>String</CurrencyType>
      <Deliver>false</Deliver>
      <Description>String</Description>
      <ExemptFromLateFee>false</ExemptFromLateFee>
      <ExternalInvBatchNo>String</ExternalInvBatchNo>
      <Frequency>0</Frequency>
      <GroupId>String</GroupId>
      <Installments>0</Installments>
      <InvoiceAmt>0</InvoiceAmt>
      <InvoiceDueDate>0001-01-01T00:00:00</InvoiceDueDate>
      <InvoiceItems>
        <InvoiceItem>
          <AmountDue>String</AmountDue>
          <ProductName>String</ProductName>
          <RevenueAccount>String</RevenueAccount>
        </InvoiceItem>
      </InvoiceItems>
      <InvoiceNo>0</InvoiceNo>
      <OpportunityId>String</OpportunityId>
      <UniqueId>String</UniqueId>
      <UserId>String</UserId>
    </Invoice>
  </InvoiceCollection>
  <LockboxId>0</LockboxId>
  <MemberInfo>
    <AccessLevel>String</AccessLevel>
    <AlternateUserId>String</AlternateUserId>
    <Attributes xmlns:d3p1="https://www.billhighway.com/api">
      <d3p1:AttributeItem>
        <d3p1:Name>String</d3p1:Name>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:AttributeItem>
    </Attributes>
    <BhUserId>0</BhUserId>
    <BillingType>String</BillingType>
    <ClassName>String</ClassName>
    <ClientId>0</ClientId>
    <CreatedDateTime>0001-01-01T00:00:00</CreatedDateTime>
    <DOB>0001-01-01T00:00:00</DOB>
    <DisableLogin>String</DisableLogin>
    <DisplayName>String</DisplayName>
    <FirstName>String</FirstName>
    <FiscalYear>0</FiscalYear>
    <FormFields>
      <SubscriberFormField>
        <_x003C_Name_x003E_k__BackingField>String</_x003C_Name_x003E_k__BackingField>
        <_x003C_Value_x003E_k__BackingField>String</_x003C_Value_x003E_k__BackingField>
      </SubscriberFormField>
    </FormFields>
    <GroupId>String</GroupId>
    <GroupList xmlns:d3p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.Common.DTO">
      <d3p1:Chapter>
        <d3p1:GroupId>String</d3p1:GroupId>
      </d3p1:Chapter>
    </GroupList>
    <LastName>String</LastName>
    <MemberStatus>String</MemberStatus>
    <MemberTypeClient>String</MemberTypeClient>
    <MiddleName>String</MiddleName>
    <OtherEmailAddress>String</OtherEmailAddress>
    <Paperless>String</Paperless>
    <PreferredAddress1>String</PreferredAddress1>
    <PreferredAddress2>String</PreferredAddress2>
    <PreferredCity>String</PreferredCity>
    <PreferredCountry>String</PreferredCountry>
    <PreferredEmailAddress>String</PreferredEmailAddress>
    <PreferredPhoneNumber>String</PreferredPhoneNumber>
    <PreferredState>String</PreferredState>
    <PreferredZip>String</PreferredZip>
    <RecurringInvoiceSettings xmlns:d3p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.Common.DTO.Member">
      <d3p1:DonationAmount>String</d3p1:DonationAmount>
    </RecurringInvoiceSettings>
    <UniqueId>String</UniqueId>
    <UserId>String</UserId>
    <WorkLocation>String</WorkLocation>
  </MemberInfo>
  <MemberSubscriptionInvoiceId>0</MemberSubscriptionInvoiceId>
  <UniqueId>String</UniqueId>
</Pmi>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<PmiReply xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BH.CloudAPI.Common4.DTO.SalesForce">
  <BhInvoiceBatchId xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:int>0</d2p1:int>
  </BhInvoiceBatchId>
  <BillhighwayPaymentConfirmationNumber>String</BillhighwayPaymentConfirmationNumber>
  <BillhighwayUserId>0</BillhighwayUserId>
  <ChapMemPayid>0</ChapMemPayid>
  <ClientId>0</ClientId>
  <CreatedDateTime>0001-01-01T00:00:00</CreatedDateTime>
  <ErrorCode>0</ErrorCode>
  <ErrorMessage>String</ErrorMessage>
  <UniqueId>String</UniqueId>
</PmiReply>