POST | /pensionsinfo |
---|
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 TransactionHeader:
version_number: Optional[int] = None
transaction_id: Optional[str] = None
transactions_type_number: Optional[int] = None
event_time: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AnswerSendPensionPlanHeader(TransactionHeader):
social_security_number: Optional[str] = None
report_received: Optional[bool] = None
provider_remark: Optional[bytes] = None
error_text: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SendPensionPlanToProviderResponseVer9DTO:
header: Optional[AnswerSendPensionPlanHeader] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SendPensionPlanHeader(TransactionHeader):
social_security_number: Optional[str] = None
cohabitant_social_security_number: Optional[str] = None
customer_remark: Optional[bytes] = None
system_info: Optional[str] = None
pension_provider_id: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Pdf:
pdf_report: Optional[bytes] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RemarkVer9DTO:
type_number: Optional[int] = None
number: Optional[int] = None
text: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PremiumWaiverBenefitVer9DTO:
is_eligible: Optional[bool] = None
is_active: Optional[bool] = None
value: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BenefitPaymentVer9DTO:
benefit_payment: Optional[int] = None
payment_year_to_date: Optional[int] = None
latest_payment_date: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PayoutForecastVer9DTO:
age: Optional[int] = None
amount: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BeneficiaryVer9DTO:
name: Optional[str] = None
percentage: Optional[int] = None
type_number: Optional[int] = None
type_text: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DateAgeTypeVer9DTO:
date: Optional[datetime.datetime] = None
age: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PayoutVer9DTO:
current_payment: Optional[bool] = None
payout_forecasts: Optional[List[PayoutForecastVer9DTO]] = None
payment_form_number: Optional[int] = None
payment_form_text: Optional[str] = None
payment_taxation_number: Optional[int] = None
payment_taxation_text: Optional[str] = None
receiver_number: Optional[int] = None
receiver_text: Optional[str] = None
condition_number: Optional[int] = None
condition_text: Optional[str] = None
condition_parameter: Optional[int] = None
beneficiaries: Optional[List[BeneficiaryVer9DTO]] = None
payout_start: Optional[DateAgeTypeVer9DTO] = None
payout_end: Optional[DateAgeTypeVer9DTO] = None
latest_possible_payout: Optional[DateAgeTypeVer9DTO] = None
earliest_possible_payout: Optional[DateAgeTypeVer9DTO] = None
latest_payout_start: Optional[DateAgeTypeVer9DTO] = None
payment_years: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RiskBenefitVer9DTO:
shadow_benefit: Optional[bool] = None
amount: Optional[int] = None
amount_date: Optional[datetime.datetime] = None
risk_termination: Optional[DateAgeTypeVer9DTO] = None
benefit_extent_number: Optional[int] = None
benefit_detail: Optional[List[int]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class InvestmentDistributionVer9DTO:
investment_form_number: Optional[int] = None
investment_identification: Optional[str] = None
investment_value: Optional[int] = None
investment_value_date: Optional[datetime.datetime] = None
pending_yield_amount: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ForecastVer9DTO:
age: Optional[int] = None
amount: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ForecastCalculationVer9DTO:
forecast_start_age: Optional[int] = None
remarks: Optional[List[RemarkVer9DTO]] = None
forecasts: Optional[List[ForecastVer9DTO]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PensionForecastsVer9DTO:
pension_payment: Optional[bool] = None
early_retirement_deduction: Optional[bool] = None
calculate_forecasts: Optional[bool] = None
forecast_interest_type: Optional[int] = None
price_index_regulated: Optional[bool] = None
real_income_regulated: Optional[bool] = None
enter_payment_enabled: Optional[bool] = None
forecast_calculation_date: Optional[datetime.datetime] = None
forecasts_calculations: Optional[List[ForecastCalculationVer9DTO]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PensionBenefitVer9DTO:
pension_type_number: Optional[int] = None
pension_type: Optional[str] = None
index_contract_count: Optional[int] = None
investment_distributions: Optional[List[InvestmentDistributionVer9DTO]] = None
pension_forecasts: Optional[PensionForecastsVer9DTO] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BenefitVer9DTO:
transaction_status: Optional[int] = None
type_number: Optional[int] = None
type_text: Optional[str] = None
subscription_type_number: Optional[int] = None
subscription_type_text: Optional[str] = None
can_be_shown_in_graph: Optional[bool] = None
more_info_url: Optional[str] = None
system_info: Optional[str] = None
premium_waiver_benefit: Optional[PremiumWaiverBenefitVer9DTO] = None
payment: Optional[BenefitPaymentVer9DTO] = None
payout: Optional[PayoutVer9DTO] = None
risk: Optional[RiskBenefitVer9DTO] = None
pension: Optional[PensionBenefitVer9DTO] = None
remarks: Optional[List[RemarkVer9DTO]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PensionSchemeVer9DTO:
transaction_status: Optional[int] = None
reference_number: Optional[str] = None
type_number: Optional[int] = None
phone: Optional[int] = None
contact: Optional[str] = None
email: Optional[str] = None
payment: Optional[int] = None
payment_date: Optional[datetime.datetime] = None
saved_value: Optional[int] = None
saved_value_date: Optional[datetime.datetime] = None
saved_value_presentation: Optional[int] = None
system_info_scheme: Optional[str] = None
business_partner_number: Optional[int] = None
guarantees: Optional[int] = None
transfer_costs: Optional[int] = None
transfer_costs_job_change: Optional[int] = None
repurchase: Optional[int] = None
repurchase_text: Optional[bytes] = None
has_withdrawal_penalty: Optional[bool] = None
benefit_composition: Optional[bool] = None
investment_form_number: Optional[int] = None
business_partner: Optional[str] = None
word_split_character: Optional[int] = None
remarks: Optional[List[RemarkVer9DTO]] = None
benefits: Optional[List[BenefitVer9DTO]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PensionProviderVer9DTO:
pension_provider_id: Optional[int] = None
pension_provider_name: Optional[str] = None
word_split_character: Optional[int] = None
web_site_url: Optional[str] = None
currency_code: Optional[str] = None
advisor_name: Optional[str] = None
receive_data_for_advisory: Optional[bool] = None
transaction_status: Optional[int] = None
schemes: Optional[List[PensionSchemeVer9DTO]] = None
transaction_remarks: Optional[List[RemarkVer9DTO]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PensionsInfoReq:
header: Optional[SendPensionPlanHeader] = None
pdf: Optional[Pdf] = None
cohabitant_pdf: Optional[Pdf] = None
pension_providers: Optional[List[PensionProviderVer9DTO]] = None
cohabitant_pension_providers: Optional[List[PensionProviderVer9DTO]] = None
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
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /pensionsinfo HTTP/1.1
Host: hcbtas-q-albamfs-api.azurewebsites.net
Accept: application/json
Content-Type: application/json
Content-Length: length
{"header":{"socialSecurityNumber":"String","cohabitantSocialSecurityNumber":"String","customerRemark":"AA==","systemInfo":"String","pensionProviderId":0,"versionNumber":0,"transactionId":"String","transactionsTypeNumber":0,"eventTime":"0001-01-01T00:00:00.0000000+00:00"},"pdf":{"pdfReport":"AA=="},"cohabitantPdf":{"pdfReport":"AA=="},"pensionProviders":[{"pensionProviderId":0,"pensionProviderName":"String","wordSplitCharacter":0,"webSiteUrl":"String","currencyCode":"String","advisorName":"String","receiveDataForAdvisory":false,"transactionStatus":0}],"cohabitantPensionProviders":[{"pensionProviderId":0,"pensionProviderName":"String","wordSplitCharacter":0,"webSiteUrl":"String","currencyCode":"String","advisorName":"String","receiveDataForAdvisory":false,"transactionStatus":0}]}
HTTP/1.1 200 OK Content-Type: application/json Content-Length: length {"header":{"socialSecurityNumber":"String","reportReceived":false,"providerRemark":"AA==","errorText":"String","versionNumber":0,"transactionId":"String","transactionsTypeNumber":0,"eventTime":"0001-01-01T00:00:00.0000000+00:00"}}