WebConnect Integration Guide Feb2016
WebConnect Integration Guide Feb2016
WebConnect Integration Guide Feb2016
February 2016
Copyright © 2004-2016 Calyx Technology, Inc., dba Calyx Software. All rights reserved. Information in
this publication is subject to change without notice.
Calyx Software makes no representations or warranties with respect to this information and will not
guarantee the accuracy and completeness of any information. Users of this information do so with the
understanding that Calyx Software is not engaged in the practice of law and does not render legal,
accounting, or other professional services. This publication is intended for educational and
informational purposes only.
The information contained herein is fictional. Borrower names, company names, addresses, social
security numbers, and other identifying information are not real and are used only to illustrate the
product functionality.
No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or
by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written
permission of Calyx Software. Making unauthorized copies of this publication for any purpose other
than your own personal use is a violation of United States copyright law.
Calyx Software, Point, and WebConnect are registered trademarks of Calyx Technology, Inc.
Various other copyrights, trademarks, and service marks used or referenced in this publication are the
property of their respective companies and owners.
February 2016.
Calyx Software
6475 Camden Avenue, Suite 207
San Jose, CA 95120
Corporate Office: (408) 997-5525
Product Support: (800) 342-2599
Sales: (800) 362-2599
Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Product assistance and support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .vii
Chapter 1—Technical overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Chapter 2—Point user interface. . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Lenders menu navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Menu options and tabs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Interfaces menu navigation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Profile screen functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Chapter 3—Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Interface provider profile information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Interface menu category. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Chapter 4—Embedded web browser. . . . . . . . . . . . . . . . . . . . . . 13
WebConnect browser restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Chapter 5—SDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
SDK installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Launching the interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Chapter 6—Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Method names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
WebConnect Statuses and Documents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Chapter 7—Data format notes. . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Special behaviors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Chapter 8—Interface updates . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Chapter 9—Transaction registration . . . . . . . . . . . . . . . . . . . . . . 51
FAQs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
v
Preface
The purpose of this guide is to provide you with the information that you need to develop
your interface with the Calyx WebConnect platform. WebConnect offers an embedded
interface so that Point users can access your products directly through Path. The
WebConnect interface takes advantage of the data standardization offered by MISMO.
This information consists of the following topics:
• Chapter 1, Technical overview, provides a high-level overview of the architecture.
• Chapter 2, Point user interface, describes the Point user interface.
• Chapter 3, Profiles, describes how to define the configurable characteristics of
your interface.
• Chapter 4, Embedded web browser, explains the embedded WebConnect
browser.
• Chapter 5, SDK, provides installation instructions and other important information
about how to use the WebConnect Software Development Kit
• Chapter 6, Methods, describes the WebConnect method names.
• Chapter 7, Data format notes, describes the interface rollout procedures.
• Chapter 8, Interface updates, describes the Calyx I-Update process.
• Chapter 9, Transaction registration, describes the billing interface used when a
Point user places an order.
Important
The following resources are available for sales, support, and general questions:
vii
Technical overview 1
Point uses Microsoft Internet Explorer Web Browser Control as a host application for the
interface. In most cases, Internet Explorer is the host application for the control, but
Microsoft allows other applications, such as Point, to be a host application.
This architecture allows your client-side HTML script to invoke the methods of the Point
host application in real time by referring to window.external.<method>.
These methods are used to read data from the currently open Point file and return it to the
caller, or write data the caller passes to the Point file. The following diagram shows a high-
level overview of Point hosting the web browser control, with WebConnect methods made
available to your HTML code.
1
Point user interface 2
The WebConnect platform is available to both lenders and service providers. Although the
GUI (graphical user interface) is different for lenders and service providers, the underlying
functionality of the product is the same. Refer to the appropriate section for your
reference.
In this topic
Lenders menu
Mortgage
Application tab
Lender
Profile tab
Generic company references on this screen and throughout this information, for example
<Company Name> and <Company Website>, are used as place holders for examples
shown in this document. When you complete your Interface Submission Form that
contains all of your company profile information such as name, website name, and loan ID
label, the information that you specified will display instead.
Related information
3
Point user interface
4 CalyxSoftware
Interfaces menu navigation
Note
Important
If you have two WebConnect interfaces in the same category, they must
each have a unique company name. You can specify the distinction
between the company listings on the WebConnect Interface Submission
Form.
6 CalyxSoftware
Profile screen functions
Documents and statuses are sent through the WebConnect functions, and are
displayed on this screen.
You can configure the status to display with or without a corresponding document.
However, if documents and statuses are saved, they are associated with the
currently open Point file. If documents are sent by your website to be stored with
the Point file, these documents are also automatically stored in the document
repository, available from the eLoanFile > Document Management menu option.
Launch <Company Website> button
When clicked, the <Company Website> button saves the current Point file and
launches your website in an embedded Internet Explorer browser within a modal
dialog box on Point.
Note
This ID can also be used to verify billing and check for duplicate loans,
identification (for example, the Point Loan GUID and Company Loan ID).
CompanyLoanID
An identifier for your loan record that corresponds to the Point file. Initially it is
blank, but once it is assigned, it is provided to your website on subsequent
launches so you can establish the matching loan context in your website.
8 CalyxSoftware
Profile screen functions
You can pass these parameters between your system and Point at anytime by
calling the methods GetCompanyLoanID and GetCalyxLoanGUID during the time
the user is browsing your website.
Important
Your website must be secured by HTTPS to protect the data that might
be exchanged through the browser inside Point.
After the user launches your website, they are able to browse your website
normally but with the capability of dynamically exchanging data between your
website and the currently open Point file.
When the user clicks Exit <Company Website> the website and the dialog box close, the
user is returned to Point, and the Point file is saved. When these actions are complete,
Point sends the billing information to the Calyx Transaction Management Server.
Related information
In this topic
Important
Calyx reserves the right to change the Interface menu categories at any
time and move an interface to a different category if necessary.
11
Embedded web browser 4
The embedded web browser (WebConnect browser) uses the Internet Explorer (IE) Web
Browser Control 6.0 or later (whichever is currently installed on the Point user’s machine
along with Internet Explorer). It is a special host application of the browser control
embedded in Point to expose WebConnect methods to the external calls (for example,
your website client-side script). The browser control is also used by Internet Explorer as
another host application. Since the WebConnect browser uses the same control as
Internet Explorer, most of their settings are shared. There are, however, differences
between certain settings in the WebConnect browser and Internet Explorer.
13
Embedded web browser
Address bar
The Address bar is hidden in the browser.
Restriction
Because random websites can access or update loan data from the open
Point file by calling WebConnect methods, you must restrict access to any
functions that allow the user to browse to any arbitrary sites from the
WebConnect browser.
Plug-ins
Plug-ins (for example, Google Toolbar) are not available in the WebConnect
browser.
Ctrl-N (new window)
The hotkey to spawn a new Internet Explorer browser from the same process is
disabled in the WebConnect browser.
Ctrl-O (open)
The hotkey to open a file or URL is disabled in the WebConnect browser.
F11 (full screen)
The hotkey to toggle to full screen mode is disabled in the WebConnect browser.
Pop-ups
Every pop-up created in the WebConnect browser is displayed in child
WebConnect browsers. Each child WebConnect browser inherits the same
session from its parent instance of the WebConnect browser. When the parent
WebConnect browser is closed, any associated child WebConnect browsers are
forced to close and the user is returned to Point.
14 CalyxSoftware
WebConnect browser restrictions
Pop-up blocker
The Pop-up blocker provided by Internet Explorer 6.0 SP2, or later, is not
available in the WebConnect browser.
Auto Complete
The Auto Complete feature provided by Internet Explorer is not available in the
WebConnect browser.
16 CalyxSoftware
SDK 5
After a contract is signed, Calyx Software will provide you with the Calyx WebConnect
SDK, a special plug-in for Point. It is a three-step installation:
1 Install the latest version of Point.
2 Install the WebConnect SDK plug-in so the WebConnect SDK menus are enabled in
Point.
3 Extract the zip file that contains all of the WebConnect documentation, mapping
information, and sample files.
The Calyx WebConnect SDK functions the same as the Point version in Production,
except that the menu options focus solely on setting up and defining your profile. The
launch behaviors for the Getting Started link and Launch <Company Website> button
produce an additional dialog box that contains a field for you to input the URL to launch.
Also, you can right click only from the WebConnect SDK-embedded browser window
where you can select View the source file for debugging purposes.
In this topic
• SDK installation
• Launching the interface
SDK installation
A unique account ID is assigned at the time the Calyx WebConnect SDK is shipped. The
account ID is required input during installation. Install Point first from the installation file
17
SDK
and then install the SDK. During Point installation, enter your unique account ID to
proceed.
After the Point installation is finished, run WebConnectSdk.exe to install the SDK plug-in
on the Lenders menu and place an entry in each of the Interfaces menu categories. A
18 CalyxSoftware
SDK installation
separate exe file also installs the WebConnect technical documentation and samples on
your system.
The Point Calyx Closing v2_6_Mapping.xls spreadsheet details the xpaths and export logic for
Point data fields. The Calyx Closing version 2.6 is based on the MISMO Closing version
2.6 with Calyx extensions. Calyx Closing 2.6 does not validate against MISMO Closing 2.6
because the MISMO Closing 2.6 DTD denies any extensions. The WebConnect SDK zip
file includes a Calyx Closing version 2.6 schema xsd file for defining and validating the
XML format.
The samples contain selected exports of Point files to illustrate the various Point datasets.
These files are located at C:\WINPOINT\WebConnectSDK\SamplePointFiles.
To use the sample files in Point, copy all of the files to the BORROWER subdirectory in a
Point data folder. To use the default Primary Data Folder created during Point installation,
copy all of the files to C:\PNTDATA\BORROWER.
20 CalyxSoftware
SDK installation
Important
The sample loans are now included in the loan list. Use these examples to view loan data
in Point and interact with your WebConnect website, for example, transfer loan data from
Point, work with the file on your website, the transfer the data back in to Point.
2 Click Search.
3 Open a sample loan file from the search result by double-clicking on the loan.
22 CalyxSoftware
Launching the interface
b Click the Launch <Company Website> button to access the URL confirmation
dialog box.
The dialog box with the providers for the selected interface is displayed.
Important
If you plan to list your company under multiple categories, the following
information applies:
• You must use a unique company name for each category.
• You must specify the categories and URLs on the Interface
Submission Form.
• Your agreement must allow for multiple listings in Point as multiple
listings incur additional costs.
24 CalyxSoftware
Launching the interface
c Click the Launch <Company Website> button to access the URL confirmation
dialog box.
This dialog box does not exist in the Point production environment and is not visible to
the Point user. Calyx WebConnect SDK opens this dialog box to confirm the URL you
want the WebConnect browser to launch. The most recent URL entered in this dialog
box is remembered.
Calyx provides a test page for use with the WebConnect SDK. You can access this
site from the following link:
https://webconnect.calyxsoftware.com/WebConnect/data/
WebConnectSdkSample.html
6 Enter the URL of the web page that you want to launch when the Point user clicks the
Launch button on your <Company Website> page and click OK or click OK to
accept the existing URL.
You can use this dialog box to work in different environments, for example,
development, integration, and QA at the implementation stage.
You can also customize the Getting Started link to point to your development Getting
Started page rather than the default Calyx Software page. The Getting Started link is
used in the SDK version only to aid with your development. The dialog box does not
exist in the production environment and the link goes directly to the
CompanyGettingStartedLink that you specified in your profile.
7 Access the Getting Started link dialog box.
• If you are a lender, access the Getting Started link dialog box by selecting
Lenders > <WebConnect SDK> > Getting Started.
• If you are a service provider, select Interfaces > Category, select the
<WebConnect SDK> option from the list, and click the More Information button.
The Getting Started link on the <Company Website> page immediately opens an
Internet Explorer browser window to the URL that was specified in your company
profile for the Getting Started link. The Point loan data is not accessible from this
window.
26 CalyxSoftware
Methods 6
Your running website can interact with Point and the current loan file by having the client-
side script call methods referenced by window.external.<methodname>.
The WebConnect methods are available only when your site is launched through the
embedded web browser. The methods are NOT available if the sites are accessed directly
from Internet Explorer, so your website scripts should properly handle the error.
The general format of the method is [out] Integer window.external.<method
name>([parameter]).
There is always a return value for every method to indicate success or error. If success, it
returns 0, otherwise it returns an error code. The error message can be retrieved by the
function GetCalyxErrorMessage (Error Code, Error Message).
All the functions that retrieve data (functions starting with Get) will return a result in string
type if the functions were executed successfully and the result can be retrieved by the
GetResult() function.
For example:
In this topic
• Method names
• Samples
• Versions
Method names
When calling methods, keep in mind which methods are billable and which ones are not.
Most methods are except those that return fields give to your initial landing page.
Method Billable
GetCalyxLoanData() Yes
SetCalyxLoanData() Yes
SetCompanyStatusDocs() Yes
GetCompanyLoanID() No
SetCompanyLoanID() Yes
GetCalyxLoanGUID() No
GetCalyxApplicationName() No
27
Methods
Method Billable
GetCalyxApplicationVersion() No
GetCalyxApplicationBuild() No
GetCalyxApplicationUpdateVersions() No
Calyx counts your billable transactions by the number of Point Loan GUIDs (unique
physical Point files) on which you call billable methods. Once you call any billable method
on a Point file, that Point Loan GUID will be considered a billable transaction, so you can
call other billable methods on that Point file without incurring additional transaction fees (if
done within the time-frame specified in the contract).
Note
To easily reconcile transactions easily with Calyx, the following actions are recommended:
• Whenever you call a billable method on a Point file, make sure you also call
SetCompanyLoanID() if that Point file doesn't already have a Loan ID stored in it.
In doing so, Calyx will be able to echo back to you your own Loan ID in the
monthly billable transactions report we send you.
• Whenever you call a billable method on a Point file, you might want to log the
Point Loan GUID involved. In doing so, you can easily reconcile the monthly
billable transactions report we send you, as we count billable transactions by the
Point Loan GUIDs on which you call billable methods.
GetResult()
Return Value
GetResult() returns the result of the previously called function if its return value
was zero. The value will be returned in string type.
Comments
• Call this function right after the function for which the caller wants to get the
result and before any other functions get called.
• Call this function only when the previous function has a return value of zero.
28 CalyxSoftware
Method names
GetCalyxLoanData(format)
Parameters
Return value
Comments
• This function is to capture the open Point file as a single string in the specified
format.
• You are required to implement this function for at least one of your pages in
order to make sure that the transactions really occur via the WebConnect
interfaces.
• You are required to implement this function meaningfully on your website, to
ensure that your WebConnect interface is functional to the end user.
• End of life (EOL) data formats described in the versions section of this
document are still available from this function but should not be used for new
implementations and should be phased out of existing implementations. The
end of life data formats might be removed in the future.
SetCalyxLoanData(loandata)
Parameters
Return value
Comments
• It is possible to do the update only when the primary Social Security Number
(SSN) in the Point file is blank or the SSN exists in data and the user accepts
30 CalyxSoftware
Method names
the changes. The user is prompted to accept the update with the following
dialog box whenever this method is called:
• For single-occurrence fields (for example, Loan Amount), the values in the
string are overlaid into the Point file. Accordingly, fields that are not included in
the string are left untouched in the Point file.
• For multiple-occurrence fields (for example, Liabilities), the items in Point are
first removed, then replaced by the items in the string. The following sections,
among others, are considered as multiple-occurrence. See the element
headers in the mapping spreadsheet for more detail.
– ASSET
– LIABILITY
– REO_PROPERTY
– EMPLOYER
– BORROWER/_RESIDENCE
– HMDA_RACE/@_Type
• Point will automatically re-calculate all of the necessary values following
updated data (if needed).
• The description for the loandata parameter for the CALYX CLOSING 2.6 data
format from above, repeated here, is a concise statement of how the CALYX
CLOSING 2.6 data format is automatically detected. In simpler terms, for the
data format to be identified as CALYX CLOSING 2.6, the root element in the
XML must be //LOAN/, the DATA_VERSION element for
_Name=“CalyxDataFormat” must have _Number=“CalyxClosing” and the
version of the format, CalyxVersionIdentifier, must be“2.6”.
CALYX CLOSING 2.6 data format is identified by:
– Root element: //LOAN/
– //LOAN/_APPLICATION/_DATA_INFORMATION
/DATA_VERSION[@_Name="CalyxDataFormat"]/
@_Number="CalyxClosing"
– //LOAN/@CalyxVersionIdentifier=“2.6”
SetCompanyStatusDocs(docdata)
Parameters
Return value
Comments
• This function accepts a Calyx-defined XML string to update statuses and
documents in the currently open Point file. The new values are “overlaid” into
the Point file, so items not included in the XML string are left untouched in the
Point file.
• Point will use _ID in STATUS to determine if new values are overlaid or
appended.
• Attribute _DateTime values must end with Z.
• _DateTime="2001-08-03T18:12:51Z" with indicating the UTC (UTC+0) time
zone. Time zone offsets are not allowed after the “Z” since they are
ignored. If the Z is missing, the time is set as a local time which is
ambiguous when the loan file is interpreted in different time zones.
Date and time should always be exchanged in UTC with the client
application applying the local time adjustment at display time based on
the user’s time zone.
• The document file format will accept PDF, HTML, and TXT.
Note
32 CalyxSoftware
Method names
<STATUS _ID="LOCK1234"
The status ID is determined by your system, not by Calyx, and can be set to any
string. If on a second visit to the website, a status or document has the same
status ID as on the first visit, then that status or document will be replaced by the
new information. If on a second visit, the website creates a new status ID for the
new status/document information, then it will leave the previous statuses/docs in
Point and add new statuses/docs to the list. This allows your website to either
update an existing document by replacing it or simply add the updated document
as an additional updated version. It is usually recommended that prior statuses
not be overwritten so that the list of statuses will preserve a record of what
happened with the loan and preserves when the user’s visits occurred.
_Name and _Results
The Name attribute is for a name of the status or document and the Results
attribute is the actual status or purpose of the status or document. A description is
a separate attribute for each document. These attributes are defined by the
interface company and they fill in the corresponding columns on the Profile screen
in Point.
DateTime="2001-08-03T18:12:51Z"
The intent of this date and time is to display the website server’s time when a
status or document was updated. Point assumes the time format is in Coordinated
Universal Time (UTC) as Zero Meridian time zone. So, the local servers time
should be converted to the Zero Meridian time and the Z added to indicate this
when the status or document is sent to Point. Then when Point receives the time
Point converts to the local user’s time zone. In this way the time will reflect correct
times for when the statuses or documents changed on the website. If the Z is
missing on the end of the time string, Point will display it as is, which will usually
be incorrect for the user’s time zone. Refer to question Step 14 in FAQs, on
page 53, for more clarification on the date/time format.
GetCompanyLoanID()
Parameters
No.
Return value
Comments
• This function returns your Loan ID that was set in the open Point file by the
function, SetCompanyLoanID.
• This is passed to you at the time of initial URL launch.
34 CalyxSoftware
Method names
SetCompanyLoanID(companyloanid)
Parameters
Return value
Comments
• This function accepts an alphanumeric string to set the Loan ID in the
currently open Point file.
• It is important to set this as soon as a new number is assigned, so subsequent
launches of the website are able to reference it.
• The Loan ID will be passed when the website is launched. It also can be
retrieved anytime by calling the function GetCompanyLoanID.
• It is recommended that you implement this function on your website.
GetCalyxLoanGUID()
Parameters
No.
Return value
Comments
• This function returns the Calyx Loan GUID of the currently open Point file.
• The Calyx Loan GUID is passed to you at the time of initial URL launch.
• Calyx will be using the Calyx Loan GUID to count the number of loans
transacted for the billing; the GUID will be unique for each physical Point file.
GetCalyxErrorMessage(code)
Parameters
Return value
This function returns a string of error message(s) that correspond to the input
code with string type.
Comments
The error messages returned by this might not be suitable to display on your
website since it contains minimal information. In this case, you will need to
handle the error case(s) properly by the error code.
GetCalyxApplicationName()
Parameters
No.
Return value
Comments
• This function returns the name of the Calyx application that provides the
WebConnect browser.
• Calyx might extend the functions available from the WebConnect interface
within a Calyx application in the future. The application name is one of the
factors that determines what functionality is available.
GetCalyxApplicationVersion()
Parameters
No.
36 CalyxSoftware
Method names
Return value
Comments
• This function returns the version of the Calyx application that provides the
WebConnect browser.
• Calyx might extend the functions available from the WebConnect interface in
the future. The application version is one of the factors that determines what
functionality is available.
• This function is most useful for displaying the version to a user. The easiest
way to test for a minimum version is to use GetCalyxApplicationBuild().
Important
GetCalyxApplicationBuild()
Parameters
No.
Return value
Comments
• This function returns the build of the Calyx Application providing the
WebConnect browser.
• Calyx might extend the functions available from the WebConnect interface in
the future. The application build is one of the factors in determining what
functionality is available.
• This function is the easiest way to test for a minimum version. Refer to
Versions, on page 44, for code samples.
GetCalyxApplicationUpdateVersions()
Parameters
No.
Return value
Comments
• This function returns the semi-colon space, that is, “; “, separated list of
component update versions of the Calyx application that provide the
WebConnect browser.
• You can omit the semi-colon space, “; “, when there is only one component
update version.
• I-Update is currently the only component in Point with an update version.
Calyx might add update versions for new components in the future.
Samples
The following sample shows how to implement the server-side code with an example. The
sample HTML site has three buttons:
• Get Loan Data retrieves the loan data from the currently open Point file and sets
the Loan ID into the Point file.
• Set Loan Data updates the loan data that can be modified on screen into the
Point file.
38 CalyxSoftware
Samples
Note
The simplified XML format that the sample uses handles only a small
portion of the entire MISMO.
function getdata_onclick()
{
var companyid = "123456789";
try
{
i = window.external.GetCalyxLoanData(7); // Get Point data in Calyx Closing 2.6 format.
if( i == 0)
{
point_file.value = window.external.GetResult();
window.external.SetCompanyLoanID( companyid);
}
else
{
alert( window.external.GetCalyxErrorMessage( i));
}
}
catch( e)
{
alert( "Calyx WebConnect methods are NOT available.");
}
}
The code should catch the exception to check the availability of WebConnect
method. The WebConnect method is only defined when the sites are browsed in
the WebConnect browser.
function getdata_onclick()
{
try
{
...
}
catch( e)
{
alert( "Calyx WebConnect methods are NOT available.");
}
}
40 CalyxSoftware
Samples
After you receive Point loan data, you might need to set a specific Loan ID to the
Point file to establish the connection between the loan data stored on your system
and the loan data in the Point file.
window.external.SetCompanyLoanID( companyid);
If GetCalyxLoanData returns an error code, you will need to process the error
either by the code or the error message, which can be retrieved from the function
GetCalyxErrorMessage.
i = window.external.GetCalyxLoanData( 1);
if( i == 0)
{
...
}
else
{
alert( window.external.GetCalyxErrorMessage( i));
}
function setdata_onclick()
{
var companyid = "123456789";
var v = ““;
try
{
if( window.external.GetCompanyLoanID() == 0)
{
v = window.external.GetResult();
}
if( v == companyid || v == "")
{
i = window.external.SetCalyxLoanData( point_file.value);
if( i == 0)
alert( "Point file has been successfully updated.");
else
alert( window.external.GetCalyxErrorMessage( i));
}
else
{
alert( "The Company ID in Point file is different from the id of the loan you are trying to update.");
}
}
catch( e)
{
alert( "Calyx WebConnect methods are NOT available.");
}
}
Before updating the loan data, you should try to capture the Loan ID from the
Point file; if it is not blank and is not the same as the one in your system, the
update should not proceed.
42 CalyxSoftware
Samples
To see how SetCalyxLoanData works in the sample HTML, receive the loan data
by clicking Get Loan Data. Then you can modify values in the XML and click Set
Loan Data.
The modified data in the XML is then updated to the Point file.
function getinfo_onclick()
{
var guid = "";
try
{
if( window.external.GetCalyxLoanGUID() == 0)
{
guid = window.external.GetResult();
}
alert( “GUID of the currently open Point file: " + guid);
}
catch( e)
{
alert( "Point WebConnect methods are NOT available.");
}
}
GetCalyxApplicationBuild()
GetCalyxApplicationBuild() is an easy way to check for a minimum version to
determine what functionality is supported.
function ShowGetCalyxApplicationBuild() {
var errorcode;
try {
errorcode = window.external.GetCalyxApplicationBuild();
if ( errorcode == 0 ) {
appbuild = window.external.GetResult();
alert( “Calyx application build: " + appbuild);
// check for minimum functionality here by comparing appbuild with the minimum build number
that supports the desired functionality, e.g. if (appbuild > 1095) {…Do some neat functionality…}
}
}
catch( e )
{
alert( "Point WebConnect methods are NOT available.");
}
}
Versions
The WebConnect interface works with multiple Point versions. You can include your
interface in all prior Point versions that are supported in the I-Update that has that type of
interface.
To exclude your interface from a particular Point release, verify that the
GetCalyxApplicationName() setting is Point and GetCalyxApplicationBuild() is greater (or
less) than the desired build number. To deny the interface for some Point versions, issue
an appropriate message to the user on your web page. For example:
44 CalyxSoftware
Versions
Solar Bank of Odessa works best with Point8.0 and later. Upgrade to Point 8.0 or later
for the best experience and quickly lead your company to greater profits!
Important
End of Life (EOL) data formats do not have bug fixes or enhancements.
Therefore, you should not use EOL data formats for new
implementations and should phase them out at your earliest
convenience. Refer to previous versions of the WebConnect SDK if you
must use an earlier version of an EOL data format.
Attention
47
Data format notes
borrower file in Point in the sequence that they are received as borrower or
co-borrower based on PrintPositionType. New co-borrower files are created
as needed and borrower is considered empty if Social Security Number field
is missing. If PrintPositionType is missing, the borrower will not be imported.
– Borrowers without Social Security Numbers are not imported.
– Borrowers in Point with Social Security Numbers are never deleted.
– BorrowerID must be populated to associate assets, liabilities, and REOs with
the borrower.
48 CalyxSoftware
Interface updates 8
Your WebConnect interface is easily added by distributing your profile files in Point. The
profile distribution is done by Calyx’s I-Update process.
I-Update is an automatic process that was designed for adding and deleting interface
service providers and lenders independently from Point releases. You can also make
profile updates during I-Updates, however, changes to the underlying WebConnect
platform code is not possible.
Calyx maintains the I-Update servers and whenever Point is launched, it checks for
updates. When a new update is available, Point automatically downloads the update.
When Point is closed, the update is installed. Point users can see the updated lists in the
menu the next time they launch Point.
Currently, the I-Update release occurs every month. Based on recent statistics, after Calyx
has released a new update, it takes roughly two weeks for most active Point users to
receive the update. The I-Update release schedule is located at http://calyxsupport.com/
interface.
Refer to the WebConnect Project Management Guide for further details about I-Update
timelines.
49
Transaction registration 9
To ensure that accurate transaction billing occurs each month, Point notifies the Calyx
Transaction Management Server (TMS) when a Point user orders a report. The following
fields are reported:
• Point Version (for example, 8.0)
• Point Account ID (for example, 1234567MS)
• Company Account ID (for example, 1234567CC)
• Company Server Name (for example, (www.abcmortgage.com)
• Company Server IP Addresses
• Client IP Addresses
• Point File GUID and Request GUID
• Report ID
• Product Name and Product Type
• Request Action and Response Status
Because TMS is critical to our billing, if the server cannot be reached for any reason, Point
will display the following message:
51
FAQs 1
This information can assist you in your development of the DirectConnect interface. Refer
to Product assistance and support, on page vii, for further assistance.
1 What are the general formatting rules for data types within Calyx MISMO?
Date
The MISMO preferred format is YYYY-MM-DD for a date. A month is YYYY-MM
and a year is YYYY.
Examples:
– May 4th, 2006: 2006-05-04
– May 2006: 2006-05
– 2006: 2006
– December 25th, 2007: 2007-12-25
Time
Time is in 24 hour format, i.e., HH:MM:SS. All fields and digits are required,
including leading zeros (0). There is no time zone. Range: 00:00:00 to 23:59:59
Format is XML Schema time datatype.
Examples:
– 12:28 AM: 00:28:00
– 4:49 AM: 04:49:00
– 2:32:01 PM: 14:32:01
– 8:00 PM:: 20:00:00
– 11:59:59 PM: 23:59:59
Number (money, rates, etc.)
There are no restrictions on the number of decimal places.
– 5.000 can be sent as 5, 5.0, or 5.0000
Zip Code
– 5 or 9 digit with or without a hyphen (-)
– 95120
– 95120-3364
– 951203364
2 Can Point accept an entirely empty node? For example,
<CONSTRUCTION_REFINANCE_DATA/>. It would be completely empty; no
elements or attributes.
Empty elements without child elements or attributes are ignored. It's best MISMO
practice to not send empty elements.
3 Can we send you elements that are included in the MISMO DTD, but not listed in the
MISMO LDD? For example, /LOAN_APPLICATION/BORROWER/BorrowerID.
We send you and you have to send us BorrowerID when you want to do things like
match liabilities to borrowers. MISMO does not include the ID fields in their Logical
Data Dictionaries (LDD).
4 How will Calyx handle a code that is sent over that is not available in its options list?
For example, for Contact Point, MISMO provides the contact type of Other; however,
53
FAQs
the Calyx documentation does not indicate that an Other contact type is available. If
we send Other as a contact point type to Calyx, what will happen?
The entire CONTACT_POINT element containing the unsupported value is ignored.
5 How does Calyx handle more than the expected number of occurrence being passed
to it? For example, if Calyx only expects 0..12 occurrence, and we send 13 values,
what will Calyx do? Error off? Only process the first 12? If only processing the first 12,
what order should the values be sent in? Or, can Calyx process all 13, but only display
the first 12?
The first occurrences are accepted, up to the supported number of occurrences.
Subsequent occurrences are ignored. In general, sending more elements than Calyx
supports should be avoided since most elements contribute to some calculation.
When your system uses more elements in a calculation than Calyx supports then the
calculated values in the systems will differ.
6 Calyx's documentation indicates that within certain collections only X number of
certain types of values should be received. For example, in Liabilities, 0..2 Job
Related Expenses should be sent. What happens if 3 are sent to Point? Would all 3
error off? Would all 3 be processed? Would only 2 be processed? If so, which 2?
The first occurrences are accepted, up to the supported number of occurrences.
Subsequent occurrences are ignored.
In general, sending more elements than Calyx supports should be avoided since most
elements contribute to some calculation. When the company’s system uses more
elements in a calculation than Calyx supports then the calculated values in the
systems will differ.
7 Notes found in the mapping spreadsheet indicate that null values should not be sent.
For elements, this makes sense. What about for attributes?
MISMO does not support null values. Parameter="" is an empty string which is
different from a null value. If the attribute is present and supported, its value will be
updated into Point.
8 How does Calyx handle null values being passed in? Does it ignore the null value? Or,
if there is data already present in the Calyx system, does it delete the data?
MISMO does not support null values. Parameter="" is an empty string which is
different from a null value. If the attribute is present and supported, its value will be
updated into Point, including the empty string which will overwrite the existing value in
Point.
9 Are there any rules for number types? When completing the MISMO mortgage
application extract for Fannie Mae, there were instances where certain
numbers\values had to be sent over with a given format. For example, a given number
of decimal places where required.
There are no restrictions on the number of decimal places.
5.000 can be sent as 5, 5.0, 5.0000
10 Are we able to test our XML through the Sample Interface application? If our XML is
malformed per Calyx standards or errors off, are we able to capture those error
messages? If we are not able to test through the Sample Interface application, can we
send Calyx an XML file and have them process it for us?
The Sample Interface application is an excellent way to test the XML export and
import to Calyx.
54 CalyxSoftware
FAQs
You can easily start testing with the Sample Interface application by taking the
following actions:
• Enter data in Point
• Launch the Sample Interface site
• Click GetCalyxLoanData to get and review the XML exported by Point
• Modify the XML as desired or cut and paste XML into the Sample Interface site
• Click SetCalyxLoanData to import the modified XML back into Point
• Observe Loan Data Import updated fields dialog
• Close the Sample Interface site
• See the updated values in Point.
You can also validate your XML against the schema for that data format provided
in the WebConnect SDK using a tool that validates XML like XMLSpy or many
others.
11 How do you associate borrowers and co-borrowers when more than one is present?
These determine how borrowers appear on 1003 loan applications (*.brw or *.cb files):
• JointAssetBorrowerID
Borrowers appearing on the same 1003 loan application (*.brw or *.cb file) have
the attribute JointAssetBorrowerID referencing (identical value) the BorrowerID of
the other borrower on the 1003 (for a joint application).
• PrintPositionType
PrintPositionType determines whether the borrower appears on the left
(Borrower) or right (Co-Borrower) of the 1003 loan application.
• 1003 loan application order
Imported borrowers that do not match existing borrowers in the Point file are
assigned to 1003 applications in the order of the <BORROWER> elements in the
imported XML.
12 What are the string limits for Item, Results, Date, and Document in Point?
• Item – Unlimited in the file, display limited to 259 characters
• Results - Unlimited in the file, display limited to 259 characters
• Date – Limited to valid dates.
Note
When statuses and documents are set to Point, there is no limit on how
much data can be sent to be saved with the local Point file. However
Point’s display only allows you to see a width of 259 characters (done by
the user expanding the columns with the mouse). If a long status or
document is read by the website after being saved in Point, all the data is
available with the Get data function. Only the display in Point is limited.
14 When setting statuses to Point, are dates converted to the local system time zone?
Point converts times specified in UTC (Zero Meridian) to local time. Any offsets to
UTC are ignored.
Example:
2006-09-29T18:41:59Z
A time without a UTC specification is considered local time and displayed without
conversion.
Example:
2006-09-29T18:41:59
A good practice is for the web server to specify the time in the UTC Zero Meridian time
format so that the user sees it in their local time zone and not the time zone of the web
server. For more information about UTC time, see
http://en.wikipedia.org/wiki/Coordinated_Universal_Time.
15 How can I prevent the same browser session from being used for different loans?
The browser session is associated with the Point process that provides the browser
window. Consequently, a user can submit a loan to your site, return to Point and select
another loan and then submit that different loan to your site using the same browser
session. You can force a new session for each loan submission to your site by using
the JavaScript window.onUnload event when the user closes the root WebConnect
browser to clear the session.
56 CalyxSoftware
Index
A
assistance vii
B
billing 51
C
contacts vii
F
FAQs 53
P
Point support vii
product support vii
R
registering transactions 51
resources vii
S
Sales support vii
support vii
T
Transaction Management Server 51
transaction registration 51
57