Billhighway Cloud API

<back to all web services

Smp

The following routes are available for this service:
POST/SMP

export class SmpReply implements IHaveErrorField
{
    public UniqueId?: string;
    public CreatedDateTime?: string;
    public ClientId?: number;
    public BillhighwayUserId?: number;
    public ConfirmationNumber?: string;
    public PaymentConfirmationNumber?: number;
    public SubscriptionConfirmationNumber?: number;
    public ErrorCode?: number;
    public ErrorMessage?: string;
    public IsError?: boolean;

    public constructor(init?: Partial<SmpReply>) { (Object as any).assign(this, init); }
}

export class RecurringInvoiceSettings
{
    public DonationAmount?: string;

    public constructor(init?: Partial<RecurringInvoiceSettings>) { (Object as any).assign(this, init); }
}

export class SubscriberFormField
{
    public Name?: string;
    public Value?: string;

    public constructor(init?: Partial<SubscriberFormField>) { (Object as any).assign(this, init); }
}

export class AttributeItem
{
    public Name?: string;
    public Value?: string;

    public constructor(init?: Partial<AttributeItem>) { (Object as any).assign(this, init); }
}

export class Chapter
{
    public GroupId?: string;

    public constructor(init?: Partial<Chapter>) { (Object as any).assign(this, init); }
}

export class Member
{
    public ClassName?: string;
    public UniqueId?: string;
    public CreatedDateTime?: string;
    public ClientId?: number;
    public GroupId?: string;
    public UserId?: string;
    public AlternateUserId?: string;
    public BhUserId?: number;
    public FirstName?: string;
    public LastName?: string;
    public MiddleName?: string;
    public PreferredEmailAddress?: string;
    public OtherEmailAddress?: string;
    public PreferredPhoneNumber?: string;
    public PreferredAddress1?: string;
    public PreferredAddress2?: string;
    public PreferredCity?: string;
    public PreferredState?: string;
    public PreferredZip?: string;
    public PreferredCountry?: string;
    public AccessLevel?: string;
    public MemberStatus?: string;
    public MemberTypeClient?: string;
    public BillingType?: string;
    public FiscalYear?: number;
    public WorkLocation?: string;
    public DOB?: string;
    public Paperless?: string;
    public DisplayName?: string;
    public DisableLogin?: string;
    public RecurringInvoiceSettings?: RecurringInvoiceSettings;
    public FormFields?: SubscriberFormField[];
    public Attributes?: AttributeItem[];
    public GroupList?: Chapter[];

    public constructor(init?: Partial<Member>) { (Object as any).assign(this, init); }
}

export class SubscriptionParameters
{
    public FormTemplateID?: number;
    public SubscriptionInvoiceID?: number;
    public ClientSubscriberId?: string;
    public SignupTypeID?: number;
    public FrequencyID?: number;
    public AutoRenew?: boolean;
    public CompanyID?: number;
    public UserID?: number;
    public ChapMemPayID?: number;
    public MemberSubscriptionInvID?: number;
    public Fields?: SubscriberFormField[];
    public CreatedBy?: number;
    public UpdatedBy?: number;
    public AptifyUpdateType?: number;
    public RenewedMemberSubscriptionInvID?: number;
    public ChapId?: number;

    public constructor(init?: Partial<SubscriptionParameters>) { (Object as any).assign(this, init); }
}

export class CreditCardPayment extends CreditCardPayment
{
    public SubscriptionInfo?: SubscriptionParameters;

    public constructor(init?: Partial<CreditCardPayment>) { super(init); (Object as any).assign(this, init); }
}

export class SalesForceMemberPaymentInvoiceDetail
{
    public ClassName?: string;
    public UniqueId?: string;
    public CreatedDateTime?: string;
    public ClientId?: number;
    public Invoice?: number;
    public AmountPaid?: string;

    public constructor(init?: Partial<SalesForceMemberPaymentInvoiceDetail>) { (Object as any).assign(this, init); }
}

export class AchPayment
{
    public ClassName?: string;
    public UniqueId?: string;
    public CreatedDateTime?: string;
    public ClientId?: number;
    public GroupId?: string;
    public UserId?: string;
    public BhUserId?: number;
    public Amount?: number;
    public CurrencyType?: string;
    public Country?: string;
    public RoutingNumber?: string;
    public AccountNumber?: string;
    public AchReference?: string;
    public AccountType?: string;
    public IsSavingsAccount?: boolean;
    public PayerName?: string;
    public CheckNumber?: string;
    public PreferredEmailAddress?: string;
    public Memo?: string;
    public InvoiceList?: SalesForceMemberPaymentInvoiceDetail[];
    public AutoPay?: boolean;
    public StoreAchInfo?: boolean;
    public EncryptionTypeId?: number;

    public constructor(init?: Partial<AchPayment>) { (Object as any).assign(this, init); }
}

export class Subscription
{
    public UniqueId?: string;
    public FormTemplateID?: number;
    public SubscriptionInvoiceID?: number;
    public ClientSubscriberId?: string;
    public SignupTypeID?: number;
    public FrequencyID?: number;
    public AutoRenew?: boolean;
    public UserID?: number;
    public ChapMemPayID?: number;
    public Fields?: SubscriberFormField[];
    public CreatedBy?: number;
    public UpdatedBy?: number;
    public RenewedMemberSubscriptionInvID?: number;
    public SubscriptionTypeId?: string;

    public constructor(init?: Partial<Subscription>) { (Object as any).assign(this, init); }
}

export class CampaignInformation
{
    public CampaignId?: number;
    public CampaignName?: string;
    public Amount?: number;
    public ChapPayID?: string;

    public constructor(init?: Partial<CampaignInformation>) { (Object as any).assign(this, init); }
}

export class BillMeLaterInformation
{
    public IsBillMeLaterPayment?: boolean;
    public IsBillMeLaterSubscription?: boolean;
    public MemberSubscriptionInvId?: number;
    public Campaigns?: CampaignInformation[];

    public constructor(init?: Partial<BillMeLaterInformation>) { (Object as any).assign(this, init); }
}

export class Smp
{
    public UniqueId?: string;
    public CreatedDateTime?: string;
    public ClientId?: number;
    public GroupId?: string;
    public UserId?: number;
    public AdminId?: number;
    public MemberInfo?: Member;
    public CcPaymentInfo?: CreditCardPayment;
    public AchPaymentInfo?: AchPayment;
    public Subscription?: Subscription;
    public BillMeLaterInfo?: BillMeLaterInformation;

    public constructor(init?: Partial<Smp>) { (Object as any).assign(this, init); }
}

TypeScript Smp 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 /SMP HTTP/1.1 
Host: devapi.billhighway.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<Smp 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>
  <AdminId>0</AdminId>
  <BillMeLaterInfo xmlns:d2p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.Common4.DTO.Subscriptions">
    <d2p1:Campaigns>
      <d2p1:CampaignInformation>
        <d2p1:Amount>0</d2p1:Amount>
        <d2p1:CampaignId>0</d2p1:CampaignId>
        <d2p1:CampaignName>String</d2p1:CampaignName>
        <d2p1:ChapPayID>String</d2p1:ChapPayID>
      </d2p1:CampaignInformation>
    </d2p1:Campaigns>
    <d2p1:IsBillMeLaterPayment>false</d2p1:IsBillMeLaterPayment>
    <d2p1:IsBillMeLaterSubscription>false</d2p1:IsBillMeLaterSubscription>
    <d2p1:MemberSubscriptionInvId>0</d2p1:MemberSubscriptionInvId>
  </BillMeLaterInfo>
  <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>
  <GroupId>String</GroupId>
  <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>
  <Subscription>
    <_x003C_AutoRenew_x003E_k__BackingField>false</_x003C_AutoRenew_x003E_k__BackingField>
    <_x003C_ChapMemPayID_x003E_k__BackingField>0</_x003C_ChapMemPayID_x003E_k__BackingField>
    <_x003C_ClientSubscriberId_x003E_k__BackingField>String</_x003C_ClientSubscriberId_x003E_k__BackingField>
    <_x003C_CreatedBy_x003E_k__BackingField>0</_x003C_CreatedBy_x003E_k__BackingField>
    <_x003C_Fields_x003E_k__BackingField>
      <SubscriberFormField>
        <_x003C_Name_x003E_k__BackingField>String</_x003C_Name_x003E_k__BackingField>
        <_x003C_Value_x003E_k__BackingField>String</_x003C_Value_x003E_k__BackingField>
      </SubscriberFormField>
    </_x003C_Fields_x003E_k__BackingField>
    <_x003C_FormTemplateID_x003E_k__BackingField>0</_x003C_FormTemplateID_x003E_k__BackingField>
    <_x003C_FrequencyID_x003E_k__BackingField>0</_x003C_FrequencyID_x003E_k__BackingField>
    <_x003C_RenewedMemberSubscriptionInvID_x003E_k__BackingField>0</_x003C_RenewedMemberSubscriptionInvID_x003E_k__BackingField>
    <_x003C_SignupTypeID_x003E_k__BackingField>0</_x003C_SignupTypeID_x003E_k__BackingField>
    <_x003C_SubscriptionInvoiceID_x003E_k__BackingField>0</_x003C_SubscriptionInvoiceID_x003E_k__BackingField>
    <_x003C_SubscriptionTypeId_x003E_k__BackingField>String</_x003C_SubscriptionTypeId_x003E_k__BackingField>
    <_x003C_UniqueId_x003E_k__BackingField>String</_x003C_UniqueId_x003E_k__BackingField>
    <_x003C_UpdatedBy_x003E_k__BackingField>0</_x003C_UpdatedBy_x003E_k__BackingField>
    <_x003C_UserID_x003E_k__BackingField>0</_x003C_UserID_x003E_k__BackingField>
  </Subscription>
  <UniqueId>String</UniqueId>
  <UserId>0</UserId>
</Smp>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<SmpReply xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BH.CloudAPI.Common4.DTO.SalesForce">
  <BillhighwayUserId>0</BillhighwayUserId>
  <ClientId>0</ClientId>
  <ConfirmationNumber>String</ConfirmationNumber>
  <CreatedDateTime>0001-01-01T00:00:00</CreatedDateTime>
  <ErrorCode>0</ErrorCode>
  <ErrorMessage>String</ErrorMessage>
  <PaymentConfirmationNumber>0</PaymentConfirmationNumber>
  <SubscriptionConfirmationNumber>0</SubscriptionConfirmationNumber>
  <UniqueId>String</UniqueId>
</SmpReply>