PUT | /CreateOCA/ |
---|
import java.math.*
import java.util.*
import net.servicestack.client.*
@DataContract
open class CreateOCARequest
{
@DataMember
var Username:String? = null
@DataMember
var Timestamp:String? = null
@DataMember
var Token:String? = null
@DataMember
var GeneralDetails:GeneralDetails? = null
@DataMember
var FinanceDetails:FinanceDetails? = null
@DataMember
var VehicleDetails:VehicleDetails? = null
@DataMember
var DeliveryDetails:DeliveryDetails? = null
@DataMember
var ExistingVehicleDetails:ExistingVehicleDetails? = null
@DataMember
var CreditApplicationIndividual:CreditApplicationIndividual? = null
@DataMember
var CreditApplicationBusiness:CreditApplicationBusiness? = null
@DataMember
var PaymentDetails:PaymentDetails? = null
@DataMember
var DiPDetails:DiPDetails? = null
}
open class GeneralDetails
{
var OCAApprovalNumber:String? = null
var EnquiryDateTime:String? = null
var Brand:Int? = null
var CustomerReferenceNumber:String? = null
var CustomerType:String? = null
var SourceofBusiness:String? = null
var TagURL:String? = null
var RequestSource:Int? = null
var FormID:String? = null
}
open class FinanceDetails
{
var FinancialProduct:String? = null
var Duration:Int? = null
var PaymentRentalAmount:BigDecimal? = null
var AnnualMileage:Int? = null
var ExcessMileageRate:BigDecimal? = null
var CustomerDepositContribution:BigDecimal? = null
var RetailerDepositContribution:BigDecimal? = null
var ManufacturerDepositContribution:BigDecimal? = null
var TotalDepositContribution:BigDecimal? = null
var CostForCredit:BigDecimal? = null
var PurchaseActivationFee:BigDecimal? = null
var TotalAmountPayable:BigDecimal? = null
var FixedInterestRate:BigDecimal? = null
var RepresentativeAPR:BigDecimal? = null
var OptionalPurchasePayment:BigDecimal? = null
var AdvancedRentalAmount:BigDecimal? = null
var PaymentProfile:String? = null
var RandMIncluded:String? = null
var RandMLevel:String? = null
var ProductType:String? = null
var Frequency:String? = null
var PauseType:String? = null
}
open class VehicleDetails
{
var OnlineCode:String? = null
var ModelClass:String? = null
var ModelBody:String? = null
var ModelDerivative:String? = null
var TotalPrice:BigDecimal? = null
var OTRPrice:BigDecimal? = null
var VIN:String? = null
var RegNo:String? = null
var CurrentMileage:Int? = null
var FirstRegistrationDate:String? = null
var NewUsedFlag:String? = null
var NewVehicleModelOptionDetails:ArrayList<ModelOptionDetails>? = null
}
open class ModelOptionDetails
{
var Seq:Int? = null
var Code:String? = null
var Description:String? = null
var Price:BigDecimal? = null
}
open class DeliveryDetails
{
var DealerCode:String? = null
var DeliveryPreference:String? = null
}
open class ExistingVehicleDetails
{
var TradeInFlag:String? = null
var TradeInValue:BigDecimal? = null
var TradeInRegNo:String? = null
var SettlementFlag:String? = null
var SettlementValue:BigDecimal? = null
var SettlementRegNo:String? = null
}
open class CreditApplicationIndividual
{
var Title:String? = null
var Initial:String? = null
var FirstName:String? = null
var Surname:String? = null
var DateofBirth:String? = null
var Gender:String? = null
var MaritalStatus:String? = null
var ResidentialStatus:String? = null
var CurrentAddress:AddressWithTimeLine? = null
var PreviousAddresses:ArrayList<PreviousAddress>? = null
var HomePhone:String? = null
var MobilePhone:String? = null
var WorkPhone:String? = null
var Email:String? = null
var BankSortCode:String? = null
var BankAccountNumber:String? = null
var BankAccountName:String? = null
var BankName:String? = null
var BankAddress:Address? = null
var DoNotEmail:String? = null
var DoNotMail:String? = null
var DoNotPhone:String? = null
var DoNotSMS:String? = null
var DrivingLicenceNumber:String? = null
var CurrentEmploymentDetails:CurrentEmploymentDetails? = null
var PreviousEmploymentDetails:ArrayList<PreviousEmployment>? = null
}
open class AddressWithTimeLine
{
var AddressLine1:String? = null
var AddressLine2:String? = null
var AddressLine3:String? = null
var Town:String? = null
var County:String? = null
var Country:String? = null
var Postcode:String? = null
var Duration:String? = null
var DateStarted:String? = null
}
open class PreviousAddress
{
var Seq:Int? = null
var Address:AddressWithTimeLine? = null
}
open class Address
{
var AddressLine1:String? = null
var AddressLine2:String? = null
var AddressLine3:String? = null
var AddressLine4:String? = null
var AddressLine5:String? = null
var Postcode:String? = null
}
open class CurrentEmploymentDetails
{
var EmployerDetails:EmployerDetails? = null
var MonthsAtEmployer:String? = null
var DateEmploymentCommenced:String? = null
var AnnualIncome:String? = null
}
open class EmployerDetails
{
var EmploymentType:String? = null
var EmployersName:String? = null
var Occupation:String? = null
var EmployersAddress:AddressWithTimeLine? = null
}
open class PreviousEmployment
{
var Seq:Int? = null
var previousEmployment:EmployerDetails? = null
}
open class CreditApplicationBusiness
{
var TypeOfBusiness:String? = null
var BusinessContactPosition:String? = null
var Title:String? = null
var Initial:String? = null
var FirstName:String? = null
var Surname:String? = null
var CurrentHomeAddress:AddressWithTimeLine? = null
var HomePhone:String? = null
var WorkPhone:String? = null
var MobilePhone:String? = null
var Email:String? = null
var DoNotEmail:String? = null
var DoNotMail:String? = null
var DoNotPhone:String? = null
var DoNotSMS:String? = null
var CompanyName:String? = null
var CompanyRegistrationNumber:String? = null
var TradingAs:String? = null
var BusinessActivity:String? = null
var NumberOfEmployees:Int? = null
var YearsTrading:Int? = null
var Position:String? = null
var BankSortCode:String? = null
var BankAccountNumber:String? = null
var BankAccountName:String? = null
var BankName:String? = null
var BankAddress:Address? = null
var NumberofPartners:Int? = null
var BusinessPartners:ArrayList<BusinessPartner>? = null
}
open class BusinessPartner
{
var Seq:Int? = null
var Title:String? = null
var Initial:String? = null
var FirstName:String? = null
var Surname:String? = null
var DateofBirth:String? = null
var Gender:String? = null
var MaritalStatus:String? = null
var ResidentialStatus:String? = null
var CurrentAddress:AddressWithTimeLine? = null
var PreviousAddresses:ArrayList<PreviousAddress>? = null
var HomePhone:String? = null
var MobilePhone:String? = null
var BusinessPhone:String? = null
var Relationship:String? = null
var Email:String? = null
var CurrentEmploymentDetails:CurrentEmploymentDetails? = null
var PreviousEmploymentDetails:ArrayList<PreviousEmployment>? = null
var PartnerType:String? = null
}
open class PaymentDetails
{
var paymentDetails:ArrayList<PaymentDetail>? = null
}
open class PaymentDetail
{
var Seq:Int? = null
var PaymentType:String? = null
var AmountPaid:BigDecimal? = null
var PaymentTransactionID:String? = null
var Description:String? = null
var PaymentDateTime:String? = null
}
open class DiPDetails
{
var DiPCustomerId:String? = null
var DiPTimestamp:String? = null
var DiPRequestID:String? = null
var DiPDecisionType:String? = null
var DiPPrimaryDecisionCode:String? = null
var DiPDecisionDescription:String? = null
var DipDecisionDescriptionCode:String? = null
var DipPrimaryDecisionReason:String? = null
var DiPPrimaryDecisionReasonDealerMessage:String? = null
var diPReasons:ArrayList<DiPReasons>? = null
}
open class DiPReasons
{
var DipReasonSeq:Int? = null
var DipDecisionCode:String? = null
var DiPDecisionReason:String? = null
var DiPDealerMessage:String? = null
}
@DataContract
open class CreateOCARequestResponse
{
@DataMember
var Code:String? = null
@DataMember
var Message:String? = null
@DataMember
var URN:Int? = null
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
PUT /CreateOCA/ HTTP/1.1
Host: webservices.mbukdatabase.co.uk
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"Username":"String","Timestamp":"String","Token":"String","GeneralDetails":{"OCAApprovalNumber":"String","EnquiryDateTime":"String","Brand":0,"CustomerReferenceNumber":"String","CustomerType":"String","SourceofBusiness":"String","TagURL":"String","RequestSource":0,"FormID":"String"},"FinanceDetails":{"FinancialProduct":"String","Duration":0,"PaymentRentalAmount":0,"AnnualMileage":0,"ExcessMileageRate":0,"CustomerDepositContribution":0,"RetailerDepositContribution":0,"ManufacturerDepositContribution":0,"TotalDepositContribution":0,"CostForCredit":0,"PurchaseActivationFee":0,"TotalAmountPayable":0,"FixedInterestRate":0,"RepresentativeAPR":0,"OptionalPurchasePayment":0,"AdvancedRentalAmount":0,"PaymentProfile":"String","RandMIncluded":"String","RandMLevel":"String","ProductType":"String","Frequency":"String","PauseType":"String"},"VehicleDetails":{"OnlineCode":"String","ModelClass":"String","ModelBody":"String","ModelDerivative":"String","TotalPrice":0,"OTRPrice":0,"VIN":"String","RegNo":"String","CurrentMileage":0,"FirstRegistrationDate":"String","NewUsedFlag":"String","NewVehicleModelOptionDetails":[{"Seq":0,"Code":"String","Description":"String","Price":0}]},"DeliveryDetails":{"DealerCode":"String","DeliveryPreference":"String"},"ExistingVehicleDetails":{"TradeInFlag":"String","TradeInValue":0,"TradeInRegNo":"String","SettlementFlag":"String","SettlementValue":0,"SettlementRegNo":"String"},"CreditApplicationIndividual":{"Title":"String","Initial":"String","FirstName":"String","Surname":"String","DateofBirth":"String","Gender":"String","MaritalStatus":"String","ResidentialStatus":"String","CurrentAddress":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","Town":"String","County":"String","Country":"String","Postcode":"String","Duration":"String","DateStarted":"String"},"PreviousAddresses":[{"Seq":0,"Address":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","Town":"String","County":"String","Country":"String","Postcode":"String","Duration":"String","DateStarted":"String"}}],"HomePhone":"String","MobilePhone":"String","WorkPhone":"String","Email":"String","BankSortCode":"String","BankAccountNumber":"String","BankAccountName":"String","BankName":"String","BankAddress":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","AddressLine4":"String","AddressLine5":"String","Postcode":"String"},"DoNotEmail":"String","DoNotMail":"String","DoNotPhone":"String","DoNotSMS":"String","DrivingLicenceNumber":"String","CurrentEmploymentDetails":{"EmployerDetails":{"EmploymentType":"String","EmployersName":"String","Occupation":"String","EmployersAddress":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","Town":"String","County":"String","Country":"String","Postcode":"String","Duration":"String","DateStarted":"String"}},"MonthsAtEmployer":"String","DateEmploymentCommenced":"String","AnnualIncome":"String"},"PreviousEmploymentDetails":[{"Seq":0,"previousEmployment":{"EmploymentType":"String","EmployersName":"String","Occupation":"String","EmployersAddress":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","Town":"String","County":"String","Country":"String","Postcode":"String","Duration":"String","DateStarted":"String"}}}]},"CreditApplicationBusiness":{"TypeOfBusiness":"String","BusinessContactPosition":"String","Title":"String","Initial":"String","FirstName":"String","Surname":"String","CurrentHomeAddress":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","Town":"String","County":"String","Country":"String","Postcode":"String","Duration":"String","DateStarted":"String"},"HomePhone":"String","WorkPhone":"String","MobilePhone":"String","Email":"String","DoNotEmail":"String","DoNotMail":"String","DoNotPhone":"String","DoNotSMS":"String","CompanyName":"String","CompanyRegistrationNumber":"String","TradingAs":"String","BusinessActivity":"String","NumberOfEmployees":0,"YearsTrading":0,"Position":"String","BankSortCode":"String","BankAccountNumber":"String","BankAccountName":"String","BankName":"String","BankAddress":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","AddressLine4":"String","AddressLine5":"String","Postcode":"String"},"NumberofPartners":0,"BusinessPartners":[{"Seq":0,"Title":"String","Initial":"String","FirstName":"String","Surname":"String","DateofBirth":"String","Gender":"String","MaritalStatus":"String","ResidentialStatus":"String","CurrentAddress":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","Town":"String","County":"String","Country":"String","Postcode":"String","Duration":"String","DateStarted":"String"},"PreviousAddresses":[{"Seq":0,"Address":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","Town":"String","County":"String","Country":"String","Postcode":"String","Duration":"String","DateStarted":"String"}}],"HomePhone":"String","MobilePhone":"String","BusinessPhone":"String","Relationship":"String","Email":"String","CurrentEmploymentDetails":{"EmployerDetails":{"EmploymentType":"String","EmployersName":"String","Occupation":"String","EmployersAddress":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","Town":"String","County":"String","Country":"String","Postcode":"String","Duration":"String","DateStarted":"String"}},"MonthsAtEmployer":"String","DateEmploymentCommenced":"String","AnnualIncome":"String"},"PreviousEmploymentDetails":[{"Seq":0,"previousEmployment":{"EmploymentType":"String","EmployersName":"String","Occupation":"String","EmployersAddress":{"AddressLine1":"String","AddressLine2":"String","AddressLine3":"String","Town":"String","County":"String","Country":"String","Postcode":"String","Duration":"String","DateStarted":"String"}}}],"PartnerType":"String"}]},"PaymentDetails":{"paymentDetails":[{"Seq":0,"PaymentType":"String","AmountPaid":0,"PaymentTransactionID":"String","Description":"String","PaymentDateTime":"String"}]},"DiPDetails":{"DiPCustomerId":"String","DiPTimestamp":"String","DiPRequestID":"String","DiPDecisionType":"String","DiPPrimaryDecisionCode":"String","DiPDecisionDescription":"String","DipDecisionDescriptionCode":"String","DipPrimaryDecisionReason":"String","DiPPrimaryDecisionReasonDealerMessage":"String","diPReasons":[{"DipReasonSeq":0,"DipDecisionCode":"String","DiPDecisionReason":"String","DiPDealerMessage":"String"}]}}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"Code":"String","Message":"String","URN":0}