| PUT | /CreateOCA/ |
|---|
// @DataContract
export class CreateOCARequestResponse
{
// @DataMember
public Code: string;
// @DataMember
public Message: string;
// @DataMember
public URN: number;
public constructor(init?: Partial<CreateOCARequestResponse>) { (Object as any).assign(this, init); }
}
export class GeneralDetails
{
public OCAApprovalNumber: string;
public EnquiryDateTime: string;
public Brand: number;
public CustomerReferenceNumber: string;
public CustomerType: string;
public SourceofBusiness: string;
public TagURL: string;
public RequestSource: number;
public FormID: string;
public constructor(init?: Partial<GeneralDetails>) { (Object as any).assign(this, init); }
}
export class FinanceDetails
{
public FinancialProduct: string;
public Duration: number;
public PaymentRentalAmount: number;
public AnnualMileage: number;
public ExcessMileageRate: number;
public CustomerDepositContribution?: number;
public RetailerDepositContribution?: number;
public ManufacturerDepositContribution?: number;
public TotalDepositContribution?: number;
public CostForCredit?: number;
public PurchaseActivationFee?: number;
public TotalAmountPayable?: number;
public FixedInterestRate?: number;
public RepresentativeAPR?: number;
public OptionalPurchasePayment?: number;
public AdvancedRentalAmount: number;
public PaymentProfile: string;
public RandMIncluded: string;
public RandMLevel: string;
public ProductType: string;
public Frequency: string;
public PauseType: string;
public constructor(init?: Partial<FinanceDetails>) { (Object as any).assign(this, init); }
}
export class ModelOptionDetails
{
public Seq: number;
public Code: string;
public Description: string;
public Price: number;
public constructor(init?: Partial<ModelOptionDetails>) { (Object as any).assign(this, init); }
}
export class VehicleDetails
{
public OnlineCode: string;
public ModelClass: string;
public ModelBody: string;
public ModelDerivative: string;
public TotalPrice: number;
public OTRPrice: number;
public VIN: string;
public RegNo: string;
public CurrentMileage: number;
public FirstRegistrationDate: string;
public NewUsedFlag: string;
public NewVehicleModelOptionDetails: ModelOptionDetails[];
public constructor(init?: Partial<VehicleDetails>) { (Object as any).assign(this, init); }
}
export class DeliveryDetails
{
public DealerCode: string;
public DeliveryPreference: string;
public constructor(init?: Partial<DeliveryDetails>) { (Object as any).assign(this, init); }
}
export class ExistingVehicleDetails
{
public TradeInFlag: string;
public TradeInValue: number;
public TradeInRegNo: string;
public SettlementFlag: string;
public SettlementValue: number;
public SettlementRegNo: string;
public constructor(init?: Partial<ExistingVehicleDetails>) { (Object as any).assign(this, init); }
}
export class AddressWithTimeLine
{
public AddressLine1: string;
public AddressLine2: string;
public AddressLine3: string;
public Town: string;
public County: string;
public Country: string;
public Postcode: string;
public Duration: string;
public DateStarted: string;
public constructor(init?: Partial<AddressWithTimeLine>) { (Object as any).assign(this, init); }
}
export class PreviousAddress
{
public Seq: number;
public Address: AddressWithTimeLine;
public constructor(init?: Partial<PreviousAddress>) { (Object as any).assign(this, init); }
}
export class Address
{
public AddressLine1: string;
public AddressLine2: string;
public AddressLine3: string;
public AddressLine4: string;
public AddressLine5: string;
public Postcode: string;
public constructor(init?: Partial<Address>) { (Object as any).assign(this, init); }
}
export class EmployerDetails
{
public EmploymentType: string;
public EmployersName: string;
public Occupation: string;
public EmployersAddress: AddressWithTimeLine;
public constructor(init?: Partial<EmployerDetails>) { (Object as any).assign(this, init); }
}
export class CurrentEmploymentDetails
{
public EmployerDetails: EmployerDetails;
public MonthsAtEmployer: string;
public DateEmploymentCommenced: string;
public AnnualIncome: string;
public constructor(init?: Partial<CurrentEmploymentDetails>) { (Object as any).assign(this, init); }
}
export class PreviousEmployment
{
public Seq: number;
public previousEmployment: EmployerDetails;
public constructor(init?: Partial<PreviousEmployment>) { (Object as any).assign(this, init); }
}
export class CreditApplicationIndividual
{
public Title: string;
public Initial: string;
public FirstName: string;
public Surname: string;
public DateofBirth: string;
public Gender: string;
public MaritalStatus: string;
public ResidentialStatus: string;
public CurrentAddress: AddressWithTimeLine;
public PreviousAddresses: PreviousAddress[];
public HomePhone: string;
public MobilePhone: string;
public WorkPhone: string;
public Email: string;
public BankSortCode: string;
public BankAccountNumber: string;
public BankAccountName: string;
public BankName: string;
public BankAddress: Address;
public DoNotEmail: string;
public DoNotMail: string;
public DoNotPhone: string;
public DoNotSMS: string;
public DrivingLicenceNumber: string;
public CurrentEmploymentDetails: CurrentEmploymentDetails;
public PreviousEmploymentDetails: PreviousEmployment[];
public constructor(init?: Partial<CreditApplicationIndividual>) { (Object as any).assign(this, init); }
}
export class BusinessPartner
{
public Seq: number;
public Title: string;
public Initial: string;
public FirstName: string;
public Surname: string;
public DateofBirth: string;
public Gender: string;
public MaritalStatus: string;
public ResidentialStatus: string;
public CurrentAddress: AddressWithTimeLine;
public PreviousAddresses: PreviousAddress[];
public HomePhone: string;
public MobilePhone: string;
public BusinessPhone: string;
public Relationship: string;
public Email: string;
public CurrentEmploymentDetails: CurrentEmploymentDetails;
public PreviousEmploymentDetails: PreviousEmployment[];
public PartnerType: string;
public constructor(init?: Partial<BusinessPartner>) { (Object as any).assign(this, init); }
}
export class CreditApplicationBusiness
{
public TypeOfBusiness: string;
public BusinessContactPosition: string;
public Title: string;
public Initial: string;
public FirstName: string;
public Surname: string;
public CurrentHomeAddress: AddressWithTimeLine;
public HomePhone: string;
public WorkPhone: string;
public MobilePhone: string;
public Email: string;
public DoNotEmail: string;
public DoNotMail: string;
public DoNotPhone: string;
public DoNotSMS: string;
public CompanyName: string;
public CompanyRegistrationNumber: string;
public TradingAs: string;
public BusinessActivity: string;
public NumberOfEmployees: number;
public YearsTrading: number;
public Position: string;
public BankSortCode: string;
public BankAccountNumber: string;
public BankAccountName: string;
public BankName: string;
public BankAddress: Address;
public NumberofPartners: number;
public BusinessPartners: BusinessPartner[];
public constructor(init?: Partial<CreditApplicationBusiness>) { (Object as any).assign(this, init); }
}
export class PaymentDetail
{
public Seq: number;
public PaymentType: string;
public AmountPaid: number;
public PaymentTransactionID: string;
public Description: string;
public PaymentDateTime: string;
public constructor(init?: Partial<PaymentDetail>) { (Object as any).assign(this, init); }
}
export class PaymentDetails
{
public paymentDetails: PaymentDetail[];
public constructor(init?: Partial<PaymentDetails>) { (Object as any).assign(this, init); }
}
export class DiPReasons
{
public DipReasonSeq: number;
public DipDecisionCode: string;
public DiPDecisionReason: string;
public DiPDealerMessage: string;
public constructor(init?: Partial<DiPReasons>) { (Object as any).assign(this, init); }
}
export class DiPDetails
{
public DiPCustomerId: string;
public DiPTimestamp: string;
public DiPRequestID: string;
public DiPDecisionType: string;
public DiPPrimaryDecisionCode: string;
public DiPDecisionDescription: string;
public DipDecisionDescriptionCode: string;
public DipPrimaryDecisionReason: string;
public DiPPrimaryDecisionReasonDealerMessage: string;
public diPReasons: DiPReasons[];
public constructor(init?: Partial<DiPDetails>) { (Object as any).assign(this, init); }
}
// @DataContract
export class CreateOCARequest
{
// @DataMember
public Username: string;
// @DataMember
public Timestamp: string;
// @DataMember
public Token: string;
// @DataMember
public GeneralDetails: GeneralDetails;
// @DataMember
public FinanceDetails: FinanceDetails;
// @DataMember
public VehicleDetails: VehicleDetails;
// @DataMember
public DeliveryDetails: DeliveryDetails;
// @DataMember
public ExistingVehicleDetails: ExistingVehicleDetails;
// @DataMember
public CreditApplicationIndividual: CreditApplicationIndividual;
// @DataMember
public CreditApplicationBusiness: CreditApplicationBusiness;
// @DataMember
public PaymentDetails: PaymentDetails;
// @DataMember
public DiPDetails: DiPDetails;
public constructor(init?: Partial<CreateOCARequest>) { (Object as any).assign(this, init); }
}
TypeScript CreateOCARequest DTOs
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}