HTTP Posting - Available Fields

 

Introduction

Every value you post into eKeeper needs to be posted into a particular field. The most common field names are listed below with a description and an example of how the code may look in your HTTP posting script.

Hint

All of the fields on this page should be added into the $fields array on your HTTP Posting document.

Important

There are some mandatory items that must be included in your HTTP posting script, these are listed below under Mandatory Fields Submissions.

  • Some items have validation against them and will be ignored if an invalid value is posted to this interface. Note that the case and product will still be created in the CRM, but the value will be missing. This is detailed in the xml response back to the originator of the post.

The following fields can be posted to via HTTP from an external process or can be used interactively by visiting a page in the eKeeper system (the ‘Quick Case Entry’ process). When posting the URL should be: https://SITENAME.ekeeperonline.co.uk/php/NewMortgageQuickDetails.php

Your eKeeper system will need configuring before this process will allow submission of information from an external source. You will need to supply us with the IP address that valid requests will come from in order for us to set this up for you. 


Fields

Applicant Fields

Applicant 1 

The following fields all relate to the first applicant on your case.

Note as of 06-07-2021 - Some fields are marked as legacy but still work if you use them instead of the actual field e.g. if only AddressText is passed instead of AddressText1 then the first applicants address will be updated with the AddressText1 as before.

Field

Legacy field (still supported)

Description

Validation

Example code

Field

Legacy field (still supported)

Description

Validation

Example code

Title1

 

This will need to be the numeric key from the MortgageKeeper system corresponding to the title text. We can change the process to accept a textual string to match against the values in MortgageKeeper if desired but would need to requote for this addition

 

'Title1' => urlencode($_POST['Title1'])

Forename1

 

The first name of the applicant

 

'Forename1' => urlencode($_POST['Forename1'])

MiddleName1

 

The middle name of the applicant

 

'MiddleName1' => urlencode($_POST['MiddleName1'])

Surname1

 

The last name of the applicant

 

'Surname1' => urlencode($_POST['Surname1'])

DOB1

DOB

The date of birth for the first applicant

Date dd/mm/yyyy e.g. 03/06/1987

'DOB' => urlencode($_POST['DOB1'])

DayPhone1

DayPhone

The daytime telephone number of the applicant

 

'DayPhone' => urlencode($_POST['DayPhone'])

EveningPhone1

EveningPhone

The evening phone number of the applicant

 

'EveningPhone' => urlencode($_POST['EveningPhone'])

MobilePhone1

MobilePhone

The mobile phone number of the applicant

 

'MobilePhone' => urlencode($_POST['MobilePhone'])

Email1

Email

The email address of the applicant

 

'Email' => urlencode($_POST['Email'])

AppNotes1

AppNotes

Notes against the applicant (should not be confused with case notes)

 

'AppNotes' => urlencode($_POST['AppNotes1'])

AddressText1

AddressText

The blobby address against the applicant

String (max 255 characters)

'AddressText1' => urlencode($_POST['AddressText1'])

Postcode1

Postcode

The post code against the first applicant

String (max 10 characters)

'Postcode1' => urlencode($_POST['AddressText1'])

CountryISOCode1

CountryISOCode

The pk number for the country against the first applicant

String (max 10 characters)

'CountryISOCode' => urlencode($_POST['CountryISOCode1'])

ResidentFromDate1

ResidentFromDate

The date the first applicant moved into the address

Date dd/mm/yyyy e.g. 03/06/1987

'ResidentFromDate1' => urlencode($_POST['ResidentFromDate1'])

The following GDPR consent fields can be added to the first applicant on your case.

Field

Description

Example code

Field

Description

Example code

EssentialConsentLevelGiven1

Has the applicant provided any level of consent at all.

Values accepted: 'true', 'false'

'EssentialConsentLevelGiven1' => urlencode($_POST['EssentialConsentLevelGiven1'])

EssentialConsentEmail1

Has the applicant provided consent to contact via e-mail.

Values accepted: 'true', 'false'

'EssentialConsentEmail1' => urlencode($_POST['EssentialConsentEmail1'])

EssentialConsentLetter1

Has the applicant provided consent to contact via letter.

Values accepted: 'true', 'false'

'EssentialConsentLetter1' => urlencode($_POST['EssentialConsentLetter1'])

EssentialConsentTelephone1

Has the applicant provided consent to contact via telephone.

Values accepted: 'true', 'false'

'EssentialConsentTelephone1' => urlencode($_POST['EssentialConsentTelephone1'])

EssentialConsentTextMessage1

Has the applicant provided consent to contact via text-message.

Values accepted: 'true', 'false'

'EssentialConsentTextMessage1' => urlencode($_POST['EssentialConsentTextMessage1'])

MarketingConsentLevelGiven1

Has the applicant provided consent to be contacted for marketing purposes.

Values accepted: 'true', 'false'

'MarketingConsentLevelGiven1' => urlencode($_POST['MarketingConsentLevelGiven1'])

MarketingConsentEmail1

Has the applicant provided consent to contact via e-mail for marketing purposes.

Values accepted: 'true', 'false'

'MarketingConsentEmail1' => urlencode($_POST['MarketingConsentEmail1'])

MarketingConsentLetter1

Has the applicant provided consent to contact via letter for marketing purposes.

Values accepted: 'true', 'false'

'MarketingConsentLetter1' => urlencode($_POST['MarketingConsentLetter1'])

MarketingConsentTelephone1

Has the applicant provided consent to contact via telephone for marketing purposes.

Values accepted: 'true', 'false'

'MarketingConsentTelephone1' => urlencode($_POST['MarketingConsentTelephone1'])

MarketingConsentTextMessage1

Has the applicant provided consent to contact via text message for marketing purposes.

Values accepted: 'true', 'false'

'MarketingConsentTextMessage1' => urlencode($_POST['MarketingConsentTextMessage1'])

ThirdPartyConsentLevelGiven1

Has the applicant provided consent to contact by third parties.

Values accepted: 'true', 'false'

'ThirdPartyConsentLevelGiven1' => urlencode($_POST['ThirdPartyConsentLevelGiven1'])

CreditAgencyConsentLevelGiven1

Has the applicant provided consent for credit agency checks.

Values accepted: 'true', 'false'

'CreditAgencyConsentLevelGiven1' => urlencode($_POST['CreditAgencyConsentLevelGiven1'])

ConsentProvidedByIndividual1

Has the applicant provided consent themselves or via another entity.

Values accepted:
0 - Other
1 - The Individual
Defaults to:
1 - The Individual

'ConsentProvidedByIndividual1' => urlencode($_POST['ConsentProvidedByIndividual1'])

ConsentProvidedByOtherText1

If the applicant did not provide the consent themselves, who did.

Values accepted: [String] e.g. "John Smith"
Defaults to: None (null)

'ConsentProvidedByOtherText1' => urlencode($_POST['ConsentProvidedByOtherText1'])

ConsentSuppliedMethod1

By what method was the consent supplied.

Values accepted:
1 - Written
2 - Verbal
3 - Website Submission
Defaults to:
0 - None Selected

'ConsentSuppliedMethod1' => urlencode($_POST['ConsentSuppliedMethod1'])

Applicant 2

The following fields all relate to the second Applicant on your case.

Field

Legacy field (still supported)

Description

Validation

Example code

Field

Legacy field (still supported)

Description

Validation

Example code

Title2

 

This will need to be the numeric key from the MortgageKeeper system corresponding to the title text. We can change the process to accept a textual string to match against the values in MortgageKeeper if desired but would need to requote for this addition

 

'Title2' => urlencode($_POST['Title2'])

Forename2

 

The first name of the applicant

 

'Forename2' => urlencode($_POST['Forename2'])

MiddleName2

 

The middle name of the applicant

 

'MiddleName2' => urlencode($_POST['MiddleName2'])

Surname2

 

The last name of the applicant

 

'Surname2' => urlencode($_POST['Surname2'])

DOB2

 

The date of birth for the second applicant

Date (dd/mm/yyyy) e.g. 03/06/1987

'DOB2' => urlencode($_POST['DOB2'])

AddressText2

AddressText

The blobby address for the second applicant

String (max 255 characters)

'AddressText2' => urlencode($_POST['AddressText2'])

Postcode2

Postcode

The post code for the second applicant

String (max 10 characters)

'Postcode2' => urlencode($_POST['Postcode2'])

DayPhone2

DayPhone

The daytime telephone number of the applicant

 

'DayPhone' => urlencode($_POST['DayPhone'])

EveningPhone2

EveningPhone

The evening phone number of the applicant

 

'EveningPhone' => urlencode($_POST['EveningPhone'])

MobilePhone2

MobilePhone

The mobile phone number of the applicant

 

'MobilePhone' => urlencode($_POST['MobilePhone'])

Email2

Email

The email address of the applicant

 

'Email' => urlencode($_POST['Email'])

AppNotes2

 

Notes against the applicant (should not be confused with case notes)

 

'AppNotes2' => urlencode($_POST['AppNotes2'])

CountryISOCode2

CountryISOCode

The country the second applicant is from

String (max 10 characters)

'CountryISOCode2' => urlencode($_POST['CountryISOCode2'])

ResidentFromDate2

ResidentFromDate

The date the second applicant moved into the address

Date (dd/mm/yyyy) e.g. 03/06/1987

‘ResidentFromDate2' => urlencode($_POST['ResidentFromDate2’])

The following GDPR consent fields can be added to the second applicant on your case.

Field

Description

Example code

Field

Description

Example code

EssentialConsentLevelGiven2

Has the applicant provided any level of consent at all.

Values accepted: 'true', 'false'

'EssentialConsentLevelGiven2' => urlencode($_POST['EssentialConsentLevelGiven2'])

EssentialConsentEmail2

Has the applicant provided consent to contact via e-mail.

Values accepted: 'true', 'false'

'EssentialConsentEmail2' => urlencode($_POST['EssentialConsentEmail2'])

EssentialConsentLetter2

Has the applicant provided consent to contact via letter.

Values accepted: 'true', 'false'

'EssentialConsentLetter2' => urlencode($_POST['EssentialConsentLetter2'])

EssentialConsentTelephone2

Has the applicant provided consent to contact via telephone.

Values accepted: 'true', 'false'

'EssentialConsentTelephone2' => urlencode($_POST['EssentialConsentTelephone2'])

EssentialConsentTextMessage2

Has the applicant provided consent to contact via text-message.

Values accepted: 'true', 'false'

'EssentialConsentTextMessage2' => urlencode($_POST['EssentialConsentTextMessage2'])

MarketingConsentLevelGiven2

Has the applicant provided consent to be contacted for marketing purposes.

Values accepted: 'true', 'false'

'MarketingConsentLevelGiven2' => urlencode($_POST['MarketingConsentLevelGiven2'])

MarketingConsentEmail2

Has the applicant provided consent to contact via e-mail for marketing purposes.

Values accepted: 'true', 'false'

'MarketingConsentEmail2' => urlencode($_POST['MarketingConsentEmail2'])

MarketingConsentLetter2

Has the applicant provided consent to contact via letter for marketing purposes.

Values accepted: 'true', 'false'

'MarketingConsentLetter2' => urlencode($_POST['MarketingConsentLetter2'])

MarketingConsentTelephone2

Has the applicant provided consent to contact via telephone for marketing purposes.

Values accepted: 'true', 'false'

'MarketingConsentTelephone2' => urlencode($_POST['MarketingConsentTelephone2'])

MarketingConsentTextMessage2

Has the applicant provided consent to contact via text message for marketing purposes.

Values accepted: 'true', 'false'

'MarketingConsentTextMessage2' => urlencode($_POST['MarketingConsentTextMessage2'])

ThirdPartyConsentLevelGiven2

Has the applicant provided consent to contact by third parties.

Values accepted: 'true', 'false'

'ThirdPartyConsentLevelGiven2' => urlencode($_POST['ThirdPartyConsentLevelGiven2'])

CreditAgencyConsentLevelGiven2

Has the applicant provided consent for credit agency checks.

Values accepted: 'true', 'false'

'CreditAgencyConsentLevelGiven2' => urlencode($_POST['CreditAgencyConsentLevelGiven2'])

ConsentProvidedByIndividual2

Has the applicant provided consent themselves or via another entity.

Values accepted:
0 - Other
1 - The Individual
Defaults to:
1 - The Individual

'ConsentProvidedByIndividual2' => urlencode($_POST['ConsentProvidedByIndividual2'])

ConsentProvidedByOtherText2

If the applicant did not provide the consent themselves, who did.

Values accepted: [String] e.g. "John Smith"
Defaults to: None (null)

'ConsentProvidedByOtherText2' => urlencode($_POST['ConsentProvidedByOtherText2'])

ConsentSuppliedMethod2

By what method was the consent supplied.

Values accepted:
1 - Written
2 - Verbal
3 - Website Submission
Defaults to:
0 - None Selected

'ConsentSuppliedMethod2' => urlencode($_POST['ConsentSuppliedMethod2'])

Company fields

Fields

Description

Example Code

Fields

Description

Example Code

CompanyName

The name of the company

'CompanyName' => urlencode($_POST['CompanyName']

LegalStatus

The legal status of the company

'LegalStatus' => urlencode($_POST['LegalStatus']

ComAddressLine1

The address line 1 of the company

'ComAddressLine1' => urlencode($_POST['ComAddressLine1'])

ComAddressLine2

The address line 2 of the company

'ComAddressLine2' => urlencode($_POST['ComAddressLine2'])

ComAddressLine3

The address line 3 of the company

'ComAddressLine3' => urlencode($_POST['ComAddressLine3'])

ComAddressLine4

The address line 4 of the company

'ComAddressLine4' => urlencode($_POST['ComAddressLine4'])

ComPostCode

The postcode of the company

'ComPostCode' => urlencode($_POST['ComPostCode'])

ComTelephone

The telephone number of the company

'ComTelephone' => urlencode($_POST['ComTelephone'])

ComFax

The e fax number of the company

'ComFax' => urlencode($_POST['ComFax'])

ComEmail

The email address of the company

'ComEmail' => urlencode($_POST['ComEmail'])

ComWebsite

The website associated with the company

'ComWebsite' => urlencode($_POST['ComWebsite'])

ComNotes

Notes against the company

'ComNotes' => urlencode($_POST['ComNotes'])

ComCompanyRegistrationNo

The registration number of the company

'ComCompanyRegistrationNo' => urlencode($_POST['ComCompanyRegistrationNo'])

ComIncorporationDate

The incorporation date of the company

'ComIncorporationDate' => urlencode($_POST['ComIncorporationDate'])


Field

Comments/values

Field

Comments/values

StagePK

The reference number for the stage you wish to post into.

AdvisorPK

The reference number for the advisor you wish to assign the lead to.

MortgageMode OR CommercialMode

This is the mode in which you want the case to present itself if a residential mortgage then submit:

MortgageMode=1

If the product should be a commercial one then use:

CommercialMode=2

submit

value must be 'submit' or 1

 


General Case Details

Field

Possible Values

Validation

Field

Possible Values

Validation

CaseReference

123ABDRD
Product case reference

Integer
(max 11 digits)

AddressText

This is the security address

String
(max 255 characters)

Postcode

This is the security postcode

String
(max 10 characters)

MortgageSourcePK

This will need to be the numeric key from the MortgageKeeper system corresponding to the Mortgage Source text.

Note: If you are using this field in the system, the PK numbers can be obtained using the specific edit mortgage source URL

 

AdvisorPK

This will need to be the numeric key from the MortgageKeeper system corresponding to the title text. We can change the process to accept a textual string to match against values in MortgageKeeper if desired but would need to requote for this addition.

Note: The user PK numbers can be obtained using the specific edit user URL

 

LenderPK

This will need to be the numeric key from the MortgageKeeper system corresponding to the title text. We can change the process to accept a textual string to match against values in MortgageKeeper if desired but would need to requote for this addition.

Note: The Lender PK numbers can be obtained using the specific edit lender URL.

 

NextStageDue

Next chase date format YYYY-MM-DD

 

DateMade

This is the mortgage sign date, format YYY-MM-DD

 

StagePK

This will need to be the numeric key from the MortgageKeeper system corresponding to the title text. We can change the process to accept a textual string to match against values in MortgageKeeper if desired but would need to requote for this addition.

Note: The Stage PK numbers can be obtained using the specific edit Stage URL.

 

PurposeOfLoan

This will need to be the numeric key from the MortgageKeeper system corresponding to the Purpose of Loan. We can change the process to accept a textual string to match against the values in MortgageKeeper if desired but would need to requote for this addition.

NOTE: The values for this field are detailed in the table below.

 

BranchPK

The PK number for the branch the application should be associated with

integer 11

LeadProvider

“abc leads”

String 250

LeadCreationDate

dd/mm/yyyy

e.g. 03/06/1987

Date

DateAcknowledged

dd/mm/yyyy

e.g. 03/06/1987

Date

DateAmended

(signup date) dd/mm/yyyy

e.g. 03/06/1987

Date

DateComplete

dd/mm/yyyy

e.g. 03/06/1987

Date

PurchasePrice

150000.00

Decimal (up to 12 digits before the decimal, and up to 2 digits after

ActualPurchasePrice

160000.20

Decimal (up to 12 digits before the decimal, and up to 2 digits after

MortgageAmount

120000.20

Decimal (up to 12 digits before the decimal, and up to 2 digits after

BuyerType

PK number for Buyer type

Integer (max 11 digits)

RepaymentMethod

PK number for the repayment Method

Integer (max 11 digits)

Rate

e.g. 10.2

Decimal (up to 10 digits before the decimal, and up to 2 digits after

InterestRateTypePK

PK number for the interest rate type

Integer (max 11 digits)

ProductDetails

“Vis te soleat accumsan consetetur, ne tempor noster mei, eu mei minimum hendrerit. Eu eos possit dolorem concludaturque, duo fugit errem fabellas te. Vel elitr primis interesset te, ius justo iudicabit ea. Vel ignota delenit philosophia id. An agam mazim duo, no est regione ponderum, solet appetere et eum”

String max 255 characters

DealTerm

In months

e.g. 12

Integer (max 11 digits)

FollowUpDate

dd/mm/yyyy
e.g. 03/06/1987

Date

ArrangementFee

150.00

Decimal (up to 11 digits before the decimal, and up to 2 digits after

ValuationFee

97.50

Decimal (up to 11 digits before the decimal, and up to 2 digits after

MonthlyFee

22.1

Decimal (up to 11 digits before the decimal, and up to 2 digits after

RetentionAmount

1000.00

Decimal (up to 11 digits before the decimal, and up to 2 digits after

RecommendationReason

“Dico congue mnesarchum has an. Accumsan expetenda ex duo. An vix graeco fabulas antiopam, explicari assentior in eos. Unum offendit vix cu, commune ullamcorper usu ex, omnes neglegentur an duo. Feugiat propriae at mel, te per debet iusto.”

String (max 255 characters)

UserPK2

PK number for the user in the system to assign as the administrator on the product

Integer (max 20 digits

UserPK3

PK number for the user in the system to assign as the third user on the product

Integer (max 20 digits

UserPK4

PK number for the user in the system to assign as the fourth user on the product fourth

Integer (max 20 digits

 

 

 

Purpose Of loan values

PK

Description

PK

Description

0

None Selected

1

New - Purchase

2

Remortgage

3

Rmg - Capital Rising

4

Rmg - Home improvements

5

Rmg - Debt Consolidation

6

Rmg - School Fees

7

Rmg - Holidays/Cars

8

Rmg - Buy other property

9

Rmg - Business purposes

10

Rmg - Divorce Settlement

11

Buy to let

12

Let to buy

13

Buy to Let Remortgage

14

Further Advance Purchase

15

Further Advance Remortgage

16

NOT USED

17

Secured Loan

18

Right To Buy

19

Product Transfer

20

NOT USED

24

Equity Release

25

Lifetime Mortgage


Category Values

Values for eKeeper categories can be submitted via this process. As categories are configured by the customer there is not a fixed list of values, instead the field name should be as follows:

MortCatXXX

Where XXX is the primary key of the category in question. You can determine the primary key for a category by going into the “Case & Task Categories” option in the maintenance section of eKeeper, selecting the edit link against the relevant category and then noting the contents of the browser address field (see bold figure below):

http://SERVERNAME.ekeeperonline.co.uk/php/EditMortgageCategory.php?MortgageCategoryPK=17

In this example the field name would be:

MortCat17

The value for the field needs to be the primary key for the category option. You can determine this is a similar way to the above by clicking the “options” link by the category in question and then the Edit link (in the action column) for the option. Then take a look at the address bar to determine the number to use (see bold figure below):

http://SERVERNAME.ekeeperonline.co.uk/php/EditMortgageCategoryOption.php?MortgageCategoryOptionPK=101&MortgageCategoryPK=17

Make sure the figure you look at is the one preceded by “MortgageCategoryOptionPK=”.


Fact Find Answers

As with some of the above the fact find structure is flexible and as such there isn’t a fixed set of values that can be submitted.

In order to submit fact find answers you need to submit a single field as follows:

Fieldname

Value

Fieldname

Value

FFVersionPK

The eKeeper primary key of the fact find structure you want to use
for the new case. This can be determined by going into ‘Fact Find
Structures’ in the maintenance section, clicking edit by the structure you
want to use and then noting the number that comes after “FFVersionPK=” in
the address bar. Call eKeeper support for advice if this isn’t clear.

For each fact find answer you need to include it in the FFQuestionPK array and have a matching FFAnswer, as shown below:

?FFVersionPK=13&FFQuestionPK[1]=1234&FFAnswer[1]=my answer&FFQuestionPK[2]=5622&FFAnswer[2]=4

The above would submit

  • FFQuestionPK 1234 = “my answer” (a text field)

  • FFQuestionPK 5622 = 4 (a dropdown/multiple choice answer)

Fieldname

Value

Fieldname

Value

FFQuestionPK

The eKeeper primary key of the fact find question you are submitting the answer for. This can be determined by going into:

Maintenance -> Fact Find Structures -> Edit Structure -> Sections -> Edit Questions
-> Edit
Note the number in the address bar that appears after “&FFQuestionPK=” e.g. in the following example:

EditFFQuestion.php?FFSectionPK=5661&FFQuestionPK=10203&FFVersionPK=14

…the FFQuestionPK is 10203

FFAnswer

For a text-based question this can simple be the text required. For a drop-down question this will need to be the eKeeper primary key for the desired option. This is slightly more difficult to determine, follow these steps:

Maintenance -> Fact Find Structures -> Edit Structure -> Sections -> Edit Questions -> Edit
Hover over the ‘Remove’ option (don’t click it!). You should see the URL the link goes to in the status bar at the bottom of Internet Explorer. The number you want is displayed after “&FFQuestionOptionPK=”.

Call eKeeper support for advice if this isn’t clear.


Action Notes

To submit an action note along with the new case pass in the following fields:

Fieldname

Value

Fieldname

Value

ActionText

The text you want to put in the action note

ActionPK

The eKeeper primary key for the action type. you can determine this by going to:

Maintenance → Actions → Edit

... and then noting the number that appears after "ActionPK=" in the address bar

Responses

Success Response

A sample success response has been provided below. This lists the application that was created, and the customers and companies that were created.

<SubmissionResponse> <SubmissionStatus>Success</SubmissionStatus> <Applications> <Application ref=91 /> </Applications> <Customers> <Customer ref=112 /> <Customer ref=113 /> </Customers> <Companies> <company ref="33" /> </Companies> </SubmissionResponse>

Validation Error Response

When a validation error occurs e.g. you are sending alpha characters where an integer is expected or an invalid date is passed etc. Then a product is still created in the CRM, however a new section to the xml response will display as shown below.

An element for each validation error will be displayed in the response informing the post originator of the error and the fact that the value has been excluded from the the post.

<SubmissionResponse> <SubmissionStatus>Success</SubmissionStatus> <Applications> <Application ref=92 /> </Applications> <Customers> <Customer ref=114 /> </Customers> <validationErrors> <Error>CaseReference - must be a number and cannot exceed 11 digits, it has been excluded</Error> </validationErrors> </SubmissionResponse>

Error code responses

  • 400 - Missing required values from http post

  • 403 - forbidden

  • 501 - no product found (if product subtype is passed, and is not found in the system)

  • 501 - duplicate submission