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 |
---|---|---|---|---|
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 | 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 |
---|---|---|
EssentialConsentLevelGiven1 | Has the applicant provided any level of consent at all. Values accepted: 'true', 'false' |
|
EssentialConsentEmail1 | Has the applicant provided consent to contact via e-mail. Values accepted: 'true', 'false' |
|
EssentialConsentLetter1 | Has the applicant provided consent to contact via letter. Values accepted: 'true', 'false' |
|
EssentialConsentTelephone1 | Has the applicant provided consent to contact via telephone. Values accepted: 'true', 'false' |
|
EssentialConsentTextMessage1 | Has the applicant provided consent to contact via text-message. Values accepted: 'true', 'false' |
|
MarketingConsentLevelGiven1 | Has the applicant provided consent to be contacted for marketing purposes. Values accepted: 'true', 'false' |
|
MarketingConsentEmail1 | Has the applicant provided consent to contact via e-mail for marketing purposes. Values accepted: 'true', 'false' |
|
MarketingConsentLetter1 | Has the applicant provided consent to contact via letter for marketing purposes. Values accepted: 'true', 'false' |
|
MarketingConsentTelephone1 | Has the applicant provided consent to contact via telephone for marketing purposes. Values accepted: 'true', 'false' |
|
MarketingConsentTextMessage1 | Has the applicant provided consent to contact via text message for marketing purposes. Values accepted: 'true', 'false' |
|
ThirdPartyConsentLevelGiven1 | Has the applicant provided consent to contact by third parties. Values accepted: 'true', 'false' |
|
CreditAgencyConsentLevelGiven1 | Has the applicant provided consent for credit agency checks. Values accepted: 'true', 'false' |
|
ConsentProvidedByIndividual1 | Has the applicant provided consent themselves or via another entity. Values accepted: |
|
ConsentProvidedByOtherText1 | If the applicant did not provide the consent themselves, who did. Values accepted: [String] e.g. "John Smith" |
|
ConsentSuppliedMethod1 | By what method was the consent supplied. Values accepted: |
|
Applicant 2
The following fields all relate to the second Applicant on your case.
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 | 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 |
---|---|---|
EssentialConsentLevelGiven2 | Has the applicant provided any level of consent at all. Values accepted: 'true', 'false' |
|
EssentialConsentEmail2 | Has the applicant provided consent to contact via e-mail. Values accepted: 'true', 'false' |
|
EssentialConsentLetter2 | Has the applicant provided consent to contact via letter. Values accepted: 'true', 'false' |
|
EssentialConsentTelephone2 | Has the applicant provided consent to contact via telephone. Values accepted: 'true', 'false' |
|
EssentialConsentTextMessage2 | Has the applicant provided consent to contact via text-message. Values accepted: 'true', 'false' |
|
MarketingConsentLevelGiven2 | Has the applicant provided consent to be contacted for marketing purposes. Values accepted: 'true', 'false' |
|
MarketingConsentEmail2 | Has the applicant provided consent to contact via e-mail for marketing purposes. Values accepted: 'true', 'false' |
|
MarketingConsentLetter2 | Has the applicant provided consent to contact via letter for marketing purposes. Values accepted: 'true', 'false' |
|
MarketingConsentTelephone2 | Has the applicant provided consent to contact via telephone for marketing purposes. Values accepted: 'true', 'false' |
|
MarketingConsentTextMessage2 | Has the applicant provided consent to contact via text message for marketing purposes. Values accepted: 'true', 'false' |
|
ThirdPartyConsentLevelGiven2 | Has the applicant provided consent to contact by third parties. Values accepted: 'true', 'false' |
|
CreditAgencyConsentLevelGiven2 | Has the applicant provided consent for credit agency checks. Values accepted: 'true', 'false' |
|
ConsentProvidedByIndividual2 | Has the applicant provided consent themselves or via another entity. Values accepted: |
|
ConsentProvidedByOtherText2 | If the applicant did not provide the consent themselves, who did. Values accepted: [String] e.g. "John Smith" |
|
ConsentSuppliedMethod2 | By what method was the consent supplied. Values accepted: |
|
Company fields
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 |
---|---|
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:
If the product should be a commercial one then use:
|
submit | value must be 'submit' or 1 |
General Case Details
Field | Possible Values | Validation |
---|---|---|
CaseReference | 123ABDRD | Integer |
AddressText | This is the security address | String |
Postcode | This is the security postcode | String |
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 | 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 |
---|---|
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 |
---|---|
FFVersionPK | The eKeeper primary key of the fact find structure you want to use |
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 |
---|---|
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 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 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 |
---|---|
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