POST | /ext/pensionsinfo |
---|
import Foundation
import ServiceStack
public class PensionsInfoExtReq : Codable
{
public var header:SendPensionPlanHeader?
public var pdf:Pdf?
public var cohabitantPdf:Pdf?
public var pensionProviders:[PensionProviderVer9DTO] = []
public var cohabitantPensionProviders:[PensionProviderVer9DTO] = []
required public init(){}
}
public class SendPensionPlanHeader : TransactionHeader
{
public var socialSecurityNumber:String?
public var cohabitantSocialSecurityNumber:String?
public var customerRemark:[UInt8] = []
public var systemInfo:String?
public var pensionProviderId:Int?
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case socialSecurityNumber
case cohabitantSocialSecurityNumber
case customerRemark
case systemInfo
case pensionProviderId
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
socialSecurityNumber = try container.decodeIfPresent(String.self, forKey: .socialSecurityNumber)
cohabitantSocialSecurityNumber = try container.decodeIfPresent(String.self, forKey: .cohabitantSocialSecurityNumber)
customerRemark = try container.decodeIfPresent([UInt8].self, forKey: .customerRemark) ?? []
systemInfo = try container.decodeIfPresent(String.self, forKey: .systemInfo)
pensionProviderId = try container.decodeIfPresent(Int.self, forKey: .pensionProviderId)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if socialSecurityNumber != nil { try container.encode(socialSecurityNumber, forKey: .socialSecurityNumber) }
if cohabitantSocialSecurityNumber != nil { try container.encode(cohabitantSocialSecurityNumber, forKey: .cohabitantSocialSecurityNumber) }
if customerRemark.count > 0 { try container.encode(customerRemark, forKey: .customerRemark) }
if systemInfo != nil { try container.encode(systemInfo, forKey: .systemInfo) }
if pensionProviderId != nil { try container.encode(pensionProviderId, forKey: .pensionProviderId) }
}
}
public class TransactionHeader : Codable
{
public var versionNumber:Int?
public var transactionId:String?
public var transactionsTypeNumber:Int?
public var eventTime:Date?
required public init(){}
}
public class Pdf : Codable
{
public var pdfReport:[UInt8] = []
required public init(){}
}
public class PensionProviderVer9DTO : Codable
{
public var pensionProviderId:Int?
public var pensionProviderName:String?
public var wordSplitCharacter:Int?
public var webSiteUrl:String?
public var currencyCode:String?
public var advisorName:String?
public var receiveDataForAdvisory:Bool?
public var transactionStatus:Int?
public var schemes:[PensionSchemeVer9DTO] = []
public var transactionRemarks:[RemarkVer9DTO] = []
required public init(){}
}
public class PensionSchemeVer9DTO : Codable
{
public var transactionStatus:Int?
public var referenceNumber:String?
public var typeNumber:Int?
public var phone:Int?
public var contact:String?
public var email:String?
public var payment:Int?
public var paymentDate:Date?
public var savedValue:Int?
public var savedValueDate:Date?
public var savedValuePresentation:Int?
public var systemInfoScheme:String?
public var businessPartnerNumber:Int?
public var guarantees:Int?
public var transferCosts:Int?
public var transferCostsJobChange:Int?
public var repurchase:Int?
public var repurchaseText:[UInt8] = []
public var hasWithdrawalPenalty:Bool?
public var benefitComposition:Bool?
public var investmentFormNumber:Int?
public var businessPartner:String?
public var wordSplitCharacter:Int?
public var remarks:[RemarkVer9DTO] = []
public var benefits:[BenefitVer9DTO] = []
required public init(){}
}
public class RemarkVer9DTO : Codable
{
public var typeNumber:Int?
public var number:Int?
public var text:String?
required public init(){}
}
public class BenefitVer9DTO : Codable
{
public var transactionStatus:Int?
public var typeNumber:Int?
public var typeText:String?
public var subscriptionTypeNumber:Int?
public var subscriptionTypeText:String?
public var canBeShownInGraph:Bool?
public var moreInfoUrl:String?
public var systemInfo:String?
public var premiumWaiverBenefit:PremiumWaiverBenefitVer9DTO?
public var payment:BenefitPaymentVer9DTO?
public var payout:PayoutVer9DTO?
public var risk:RiskBenefitVer9DTO?
public var pension:PensionBenefitVer9DTO?
public var remarks:[RemarkVer9DTO] = []
required public init(){}
}
public class PremiumWaiverBenefitVer9DTO : Codable
{
public var isEligible:Bool?
public var isActive:Bool?
public var value:Int?
required public init(){}
}
public class BenefitPaymentVer9DTO : Codable
{
public var benefitPayment:Int?
public var paymentYearToDate:Int?
public var latestPaymentDate:Date?
required public init(){}
}
public class PayoutVer9DTO : Codable
{
public var currentPayment:Bool?
public var payoutForecasts:[PayoutForecastVer9DTO] = []
public var paymentFormNumber:Int?
public var paymentFormText:String?
public var paymentTaxationNumber:Int?
public var paymentTaxationText:String?
public var receiverNumber:Int?
public var receiverText:String?
public var conditionNumber:Int?
public var conditionText:String?
public var conditionParameter:Int?
public var beneficiaries:[BeneficiaryVer9DTO] = []
public var payoutStart:DateAgeTypeVer9DTO?
public var payoutEnd:DateAgeTypeVer9DTO?
public var latestPossiblePayout:DateAgeTypeVer9DTO?
public var earliestPossiblePayout:DateAgeTypeVer9DTO?
public var latestPayoutStart:DateAgeTypeVer9DTO?
public var paymentYears:Int?
required public init(){}
}
public class PayoutForecastVer9DTO : Codable
{
public var age:Int?
public var amount:Int?
required public init(){}
}
public class BeneficiaryVer9DTO : Codable
{
public var name:String?
public var percentage:Int?
public var typeNumber:Int?
public var typeText:String?
required public init(){}
}
public class DateAgeTypeVer9DTO : Codable
{
public var date:Date?
public var age:Int?
required public init(){}
}
public class RiskBenefitVer9DTO : Codable
{
public var shadowBenefit:Bool?
public var amount:Int?
public var amountDate:Date?
public var riskTermination:DateAgeTypeVer9DTO?
public var benefitExtentNumber:Int?
public var benefitDetail:[Int] = []
required public init(){}
}
public class PensionBenefitVer9DTO : Codable
{
public var pensionTypeNumber:Int?
public var pensionType:String?
public var indexContractCount:Int?
public var investmentDistributions:[InvestmentDistributionVer9DTO] = []
public var pensionForecasts:PensionForecastsVer9DTO?
required public init(){}
}
public class InvestmentDistributionVer9DTO : Codable
{
public var investmentFormNumber:Int?
public var investmentIdentification:String?
public var investmentValue:Int?
public var investmentValueDate:Date?
public var pendingYieldAmount:Int?
required public init(){}
}
public class PensionForecastsVer9DTO : Codable
{
public var pensionPayment:Bool?
public var earlyRetirementDeduction:Bool?
public var calculateForecasts:Bool?
public var forecastInterestType:Int?
public var priceIndexRegulated:Bool?
public var realIncomeRegulated:Bool?
public var enterPaymentEnabled:Bool?
public var forecastCalculationDate:Date?
public var forecastsCalculations:[ForecastCalculationVer9DTO] = []
required public init(){}
}
public class ForecastCalculationVer9DTO : Codable
{
public var forecastStartAge:Int?
public var remarks:[RemarkVer9DTO] = []
public var forecasts:[ForecastVer9DTO] = []
required public init(){}
}
public class ForecastVer9DTO : Codable
{
public var age:Int?
public var amount:Int?
required public init(){}
}
public class SendPensionPlanToProviderResponseVer9DTO : Codable
{
public var header:AnswerSendPensionPlanHeader?
required public init(){}
}
public class AnswerSendPensionPlanHeader : TransactionHeader
{
public var socialSecurityNumber:String?
public var reportReceived:Bool?
public var providerRemark:[UInt8] = []
public var errorText:String?
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case socialSecurityNumber
case reportReceived
case providerRemark
case errorText
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
socialSecurityNumber = try container.decodeIfPresent(String.self, forKey: .socialSecurityNumber)
reportReceived = try container.decodeIfPresent(Bool.self, forKey: .reportReceived)
providerRemark = try container.decodeIfPresent([UInt8].self, forKey: .providerRemark) ?? []
errorText = try container.decodeIfPresent(String.self, forKey: .errorText)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if socialSecurityNumber != nil { try container.encode(socialSecurityNumber, forKey: .socialSecurityNumber) }
if reportReceived != nil { try container.encode(reportReceived, forKey: .reportReceived) }
if providerRemark.count > 0 { try container.encode(providerRemark, forKey: .providerRemark) }
if errorText != nil { try container.encode(errorText, forKey: .errorText) }
}
}
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.
POST /ext/pensionsinfo HTTP/1.1
Host: hcbtas-q-albamfs-api.azurewebsites.net
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<PensionsInfoExtReq xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/AlbaApi.ServiceModel">
<CohabitantPdf xmlns:d2p1="http://schemas.datacontract.org/2004/07/AlbaMfs.Common.PensionsInfo">
<d2p1:PdfReport>AA==</d2p1:PdfReport>
</CohabitantPdf>
<CohabitantPensionProviders xmlns:d2p1="http://schemas.datacontract.org/2004/07/AlbaMfs.Common.PensionsInfo">
<d2p1:PensionProviderVer9DTO>
<d2p1:AdvisorName>String</d2p1:AdvisorName>
<d2p1:CurrencyCode>String</d2p1:CurrencyCode>
<d2p1:PensionProviderId>0</d2p1:PensionProviderId>
<d2p1:PensionProviderName>String</d2p1:PensionProviderName>
<d2p1:ReceiveDataForAdvisory>false</d2p1:ReceiveDataForAdvisory>
<d2p1:Schemes i:nil="true" />
<d2p1:TransactionRemarks i:nil="true" />
<d2p1:TransactionStatus>0</d2p1:TransactionStatus>
<d2p1:WebSiteUrl>String</d2p1:WebSiteUrl>
<d2p1:WordSplitCharacter>0</d2p1:WordSplitCharacter>
</d2p1:PensionProviderVer9DTO>
</CohabitantPensionProviders>
<Header xmlns:d2p1="http://schemas.datacontract.org/2004/07/AlbaMfs.Common.PensionsInfo">
<d2p1:EventTime xmlns:d3p1="http://schemas.datacontract.org/2004/07/System">
<d3p1:DateTime>0001-01-01T00:00:00Z</d3p1:DateTime>
<d3p1:OffsetMinutes>0</d3p1:OffsetMinutes>
</d2p1:EventTime>
<d2p1:TransactionId>String</d2p1:TransactionId>
<d2p1:TransactionsTypeNumber>0</d2p1:TransactionsTypeNumber>
<d2p1:VersionNumber>0</d2p1:VersionNumber>
<d2p1:CohabitantSocialSecurityNumber>String</d2p1:CohabitantSocialSecurityNumber>
<d2p1:CustomerRemark>AA==</d2p1:CustomerRemark>
<d2p1:PensionProviderId>0</d2p1:PensionProviderId>
<d2p1:SocialSecurityNumber>String</d2p1:SocialSecurityNumber>
<d2p1:SystemInfo>String</d2p1:SystemInfo>
</Header>
<Pdf xmlns:d2p1="http://schemas.datacontract.org/2004/07/AlbaMfs.Common.PensionsInfo">
<d2p1:PdfReport>AA==</d2p1:PdfReport>
</Pdf>
<PensionProviders xmlns:d2p1="http://schemas.datacontract.org/2004/07/AlbaMfs.Common.PensionsInfo">
<d2p1:PensionProviderVer9DTO>
<d2p1:AdvisorName>String</d2p1:AdvisorName>
<d2p1:CurrencyCode>String</d2p1:CurrencyCode>
<d2p1:PensionProviderId>0</d2p1:PensionProviderId>
<d2p1:PensionProviderName>String</d2p1:PensionProviderName>
<d2p1:ReceiveDataForAdvisory>false</d2p1:ReceiveDataForAdvisory>
<d2p1:Schemes i:nil="true" />
<d2p1:TransactionRemarks i:nil="true" />
<d2p1:TransactionStatus>0</d2p1:TransactionStatus>
<d2p1:WebSiteUrl>String</d2p1:WebSiteUrl>
<d2p1:WordSplitCharacter>0</d2p1:WordSplitCharacter>
</d2p1:PensionProviderVer9DTO>
</PensionProviders>
</PensionsInfoExtReq>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <SendPensionPlanToProviderResponseVer9DTO xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/AlbaMfs.Common.PensionsInfo"> <Header> <EventTime xmlns:d3p1="http://schemas.datacontract.org/2004/07/System"> <d3p1:DateTime>0001-01-01T00:00:00Z</d3p1:DateTime> <d3p1:OffsetMinutes>0</d3p1:OffsetMinutes> </EventTime> <TransactionId>String</TransactionId> <TransactionsTypeNumber>0</TransactionsTypeNumber> <VersionNumber>0</VersionNumber> <ErrorText>String</ErrorText> <ProviderRemark>AA==</ProviderRemark> <ReportReceived>false</ReportReceived> <SocialSecurityNumber>String</SocialSecurityNumber> </Header> </SendPensionPlanToProviderResponseVer9DTO>