| GET | /signup/api/nat/{natID}/recurring/obligation/templates | ||
|---|---|---|---|
| GET | /signup/api/nat/{natID}/group/{groupId}/recurring/obligation/templates | ||
| GET | /signup/api/nat/{natID}/group/{groupId}/{usertype}/user/{userid}/recurring/obligation/templates |
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RecurringObligationTemplateGetRq:
nat_i_d: Optional[int] = None
group_id: Optional[int] = None
user_id: Optional[str] = None
user_type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RecurringInvoiceModel:
chap_i_d: Optional[int] = None
client_group_i_d: Optional[str] = None
recurring_invoice_i_d: Optional[int] = None
mem_type_i_d: Optional[int] = None
billing_type_name: Optional[str] = None
invoice_description: Optional[str] = None
amount: Optional[Decimal] = None
processing_currency: Optional[str] = None
frequency_description: Optional[str] = None
effective_date: Optional[datetime.datetime] = None
end_date: Optional[datetime.datetime] = None
next_due_date: Optional[datetime.datetime] = None
donation_coa_num: Optional[str] = None
donation_coa_desc: Optional[str] = None
donation__chap_bill_cat_i_d: Optional[int] = None
frequency_i_d: Optional[int] = None
monthly__day_of_m_onth: Optional[int] = None
weekly__day_of_week: Optional[int] = None
semi_monthly__day_of_month1: Optional[int] = None
semi_monthly__day_of_month2: Optional[int] = None
use_last_day_of_month: Optional[bool] = None
is_active: Optional[bool] = None
num_occurences: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class FiscalYearItem:
year: Optional[int] = None
begin_date: Optional[datetime.datetime] = None
end_date: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RecurringObligationInvoiceTemplateItem:
recurring_obligation_template_item_id: Optional[int] = None
recurring_obligation_invoice_template_item_id: Optional[int] = None
recurring_obligation_invoice_template_id: Optional[int] = None
amount: Optional[Decimal] = None
chap_bill_cat_id: Optional[int] = None
name: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RecurringObligationInvoiceTemplate:
recurring_obligation_template_id: Optional[int] = None
recurring_obligation_invoice_template_id: Optional[int] = None
national_id: Optional[int] = None
member_type_client_id: Optional[int] = None
fiscal_year: Optional[FiscalYearItem] = None
chap_id: Optional[int] = None
is_deleted: Optional[bool] = None
name: Optional[str] = None
recurring_obligation_invoice_template_items: Optional[List[RecurringObligationInvoiceTemplateItem]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RecurringObligationChapBillCatDetail:
chap_bill_cat_id: Optional[int] = None
chap_bill_cat_desc: Optional[str] = None
nat_id: Optional[int] = None
is_contribution: Optional[bool] = None
calc_type_id: Optional[int] = None
donation_amounts: Optional[List[KeyValuePair[int, str]]] = None
chart_of_account_ref_id: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RecurringObligationWrapper:
recurring_invoices: Optional[List[RecurringInvoiceModel]] = None
recurring_obligation_templates: Optional[List[RecurringObligationInvoiceTemplate]] = None
recurring_obligation_chap_bill_cat_detail: Optional[List[RecurringObligationChapBillCatDetail]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RecurringObligationTemplateGetRs:
recurring_obligations: Optional[RecurringObligationWrapper] = None
Python RecurringObligationTemplateGetRq DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /signup/api/nat/{natID}/recurring/obligation/templates HTTP/1.1
Host: devapi.billhighway.com
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<RecurringObligationTemplateGetRs xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BH.CloudAPI.Common4.DTO.RecurringObligation.Response">
<RecurringObligations xmlns:d2p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.Common.DTO.RecurringObligations">
<d2p1:RecurringInvoices xmlns:d3p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.Common.DTO.RecurringInvoice">
<d3p1:RecurringInvoiceModel>
<d3p1:Amount>0</d3p1:Amount>
<d3p1:BillingTypeName>String</d3p1:BillingTypeName>
<d3p1:ChapID>0</d3p1:ChapID>
<d3p1:ClientGroupID>String</d3p1:ClientGroupID>
<d3p1:Donation_ChapBillCatID>0</d3p1:Donation_ChapBillCatID>
<d3p1:EffectiveDate>0001-01-01T00:00:00</d3p1:EffectiveDate>
<d3p1:EndDate>0001-01-01T00:00:00</d3p1:EndDate>
<d3p1:FrequencyDescription>String</d3p1:FrequencyDescription>
<d3p1:FrequencyID>0</d3p1:FrequencyID>
<d3p1:InvoiceDescription>String</d3p1:InvoiceDescription>
<d3p1:IsActive>false</d3p1:IsActive>
<d3p1:MemTypeID>0</d3p1:MemTypeID>
<d3p1:Monthly_DayOfMOnth>0</d3p1:Monthly_DayOfMOnth>
<d3p1:NextDueDate>0001-01-01T00:00:00</d3p1:NextDueDate>
<d3p1:NumOccurences>0</d3p1:NumOccurences>
<d3p1:ProcessingCurrency>String</d3p1:ProcessingCurrency>
<d3p1:RecurringInvoiceID>0</d3p1:RecurringInvoiceID>
<d3p1:SemiMonthly_DayOfMonth1>0</d3p1:SemiMonthly_DayOfMonth1>
<d3p1:SemiMonthly_DayOfMonth2>0</d3p1:SemiMonthly_DayOfMonth2>
<d3p1:UseLastDayOfMonth>false</d3p1:UseLastDayOfMonth>
<d3p1:Weekly_DayOfWeek>0</d3p1:Weekly_DayOfWeek>
<d3p1:donationCoaDesc>String</d3p1:donationCoaDesc>
<d3p1:donationCoaNum>String</d3p1:donationCoaNum>
</d3p1:RecurringInvoiceModel>
</d2p1:RecurringInvoices>
<d2p1:RecurringObligationChapBillCatDetail>
<d2p1:RecurringObligationChapBillCatDetail>
<d2p1:CalcTypeId>0</d2p1:CalcTypeId>
<d2p1:ChapBillCatDesc>String</d2p1:ChapBillCatDesc>
<d2p1:ChapBillCatId>0</d2p1:ChapBillCatId>
<d2p1:ChartOfAccountRefId>String</d2p1:ChartOfAccountRefId>
<d2p1:DonationAmounts xmlns:d5p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic">
<d5p1:KeyValuePairOfintstring>
<d5p1:key>0</d5p1:key>
<d5p1:value>String</d5p1:value>
</d5p1:KeyValuePairOfintstring>
</d2p1:DonationAmounts>
<d2p1:IsContribution>false</d2p1:IsContribution>
<d2p1:NatId>0</d2p1:NatId>
</d2p1:RecurringObligationChapBillCatDetail>
</d2p1:RecurringObligationChapBillCatDetail>
<d2p1:RecurringObligationTemplates>
<d2p1:RecurringObligationInvoiceTemplate>
<d2p1:ChapId>0</d2p1:ChapId>
<d2p1:FiscalYear xmlns:d5p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.Common.DTO">
<d5p1:BeginDate>0001-01-01T00:00:00</d5p1:BeginDate>
<d5p1:EndDate>0001-01-01T00:00:00</d5p1:EndDate>
<d5p1:Year>0</d5p1:Year>
</d2p1:FiscalYear>
<d2p1:IsDeleted>false</d2p1:IsDeleted>
<d2p1:MemberTypeClientId>0</d2p1:MemberTypeClientId>
<d2p1:Name>String</d2p1:Name>
<d2p1:NationalId>0</d2p1:NationalId>
<d2p1:RecurringObligationInvoiceTemplateId>0</d2p1:RecurringObligationInvoiceTemplateId>
<d2p1:RecurringObligationInvoiceTemplateItems>
<d2p1:RecurringObligationInvoiceTemplateItem>
<d2p1:Amount>0</d2p1:Amount>
<d2p1:ChapBillCatId>0</d2p1:ChapBillCatId>
<d2p1:Name>String</d2p1:Name>
<d2p1:RecurringObligationInvoiceTemplateId>0</d2p1:RecurringObligationInvoiceTemplateId>
<d2p1:RecurringObligationInvoiceTemplateItemId>0</d2p1:RecurringObligationInvoiceTemplateItemId>
<d2p1:RecurringObligationTemplateItemId>0</d2p1:RecurringObligationTemplateItemId>
</d2p1:RecurringObligationInvoiceTemplateItem>
</d2p1:RecurringObligationInvoiceTemplateItems>
<d2p1:RecurringObligationTemplateId>0</d2p1:RecurringObligationTemplateId>
</d2p1:RecurringObligationInvoiceTemplate>
</d2p1:RecurringObligationTemplates>
</RecurringObligations>
</RecurringObligationTemplateGetRs>