EAD Direct Integration - Technical Integration Guide v1 - 4
EAD Direct Integration - Technical Integration Guide v1 - 4
Version 1.4
Last Updated: March 19, 2015
Document Revisions
Date
5/5/2014
12/29/2014
Version
1.1
1.2
Change
Initial Version
Updated description fields related to HUD Case Number to reflect
name change: 'FHA Case Number'. Updated RI to indicate that
RequestDateTime is required. Updated SubmitAppraisal CO to
indicate that RECIPIENT_FHA is conditional.
3/4/2015
1.3
Updated Hard Stop Codes and Hard Stop Override Codes Sections under
Appendix A: Hard Stop, Override, and Error Codes with new FHA hard
stops.
3/19/2015
1.4
Table of Contents
1
4
5
Introduction .......................................................................................................................................... 5
1.1
Overview............................................................................................................................. ............... 5
1.2
Glossary ............................................................................................................................................... 6
EAD Integration Services .................................................................................................................... 7
2.1
Overview ....................................................................................................................................... 7
2.1.1 EAD Integration ................................................................................................................................. 7
2.1.2 EAD Integration URL ........................................................................................................................ 7
2.2
Connection Models ....................................................................................................................... 7
2.2.2 PostBack ............................................................................................................................................ 8
2.3
XML/MIME Data Format ..........................................................................................................10
2.3.1 HTTP and MIME ............................................................................................................................. 10
2.3.2 Request Format ................................................................................................................................ 11
2.3.3 Response Format .............................................................................................................................. 12
2.4
Routing Information ...................................................................................................................14
2.4.1 Request Group ................................................................................................................................. 14
2.4.2 Response Group ............................................................................................................................... 16
2.5
STATUS_LOG ............................................................................................................................19
EAD Business Services ........................................................................................................................20
3.1
Overview ......................................................................................................................................20
3.1.1 Submit Appraisal ............................................................................................................................. 20
3.1.2 Get Findings ..................................................................................................................................... 20
3.1.3 Get Findings Wait ............................................................................................................................ 20
3.1.4 Get Reports ...................................................................................................................................... 20
3.1.5 Successful Transaction Workflow ................................................................................................... 21
3.1.6 Hard Stop - Override Workflow ...................................................................................................... 22
3.2
Submit Appraisal.........................................................................................................................23
Description .................................................................................................................................................... 23
Routing Input ................................................................................................................................................. 23
Control Input ................................................................................................................................................. 24
Business Input ............................................................................................................................................... 29
Control Output ............................................................................................................................................... 29
3.3
Get Findings .................................................................................................................................30
Description .................................................................................................................................................... 30
Routing Input ................................................................................................................................................. 31
Control Input ................................................................................................................................................. 31
Control Output ............................................................................................................................................... 32
Business Output ............................................................................................................................................. 37
3.4
Get Findings Wait .......................................................................................................................40
Description .................................................................................................................................................... 40
Routing Input ................................................................................................................................................. 40
Control Input ................................................................................................................................................. 40
Control Output ............................................................................................................................................... 40
Business Output ............................................................................................................................................. 40
3.5
Get Reports ..................................................................................................................................40
Description .................................................................................................................................................... 40
Routing Input ................................................................................................................................................. 41
Control Input ................................................................................................................................................. 41
Control Output ............................................................................................................................................... 42
Business Output ............................................................................................................................................. 43
Error Handling ....................................................................................................................................44
EAD Integration Recommendations ..................................................................................................46
Overview ....................................................................................................................................................... 46
5.1
Validate Input XML Files during Development .............................................................................. 46
EAD Technical Integration Guide Version 1.4 Page 3 of 55
Confidential and Proprietary
5.2
Record the Business Service Request GUID ................................................................................... 46
5.3
Use a Conversation ID ..................................................................................................................... 46
5.4
Monitoring and Health Checks ........................................................................................................ 46
5.5
DNS Best Practices .......................................................................................................................... 46
5.6
Set Appropriate Network Socket Timeout Intervals ........................................................................ 47
5.7
MIME Best Practices ....................................................................................................................... 47
Appendix A: Hard Stop, Override, and Error Codes ..............................................................................48
Hard Stop Codes.............................................................................................................................................48
Hard Stop Override Request Codes ..................................................................................................................49
Hard Stop Override Decision Codes............................................................................................ ...................50
Status/Error Codes ......................................................................................................................................... 51
Recipient Status Codes .................................................................................................................................. 52
Appendix B: EAD Error Codes (Routing Output) ...................................................................................53
Appendix C: Round Trip Test using Timeserver .....................................................................................54
Description .................................................................................................................................................... 54
Routing Input ................................................................................................................................................. 54
Introduction
1.1
Overview
The Electronic Appraisal Delivery (EAD) portal is the portal through which lenders will electronically submit
appraisal reports for delivery to the Federal Housing Administration (FHA). The Electronic Appraisal Delivery
Technical Integration Guide (EAD TIG) is intended for lenders and third-party vendors that are developing
interfaces to submit appraisal data to EAD. Direct Integration projects must be managed in consultation with the
third-party vendor selected by FHA, Veros Real Estate Solutions.
For designated appraisal report forms, lenders will be required to deliver electronic appraisal data through EAD
to FHA.
The following three appraisal report forms must be submitted in MISMO 2.6 Errata 1 format:
Small Residential Income Property Appraisal Report (Freddie Mac Form 72/Fannie Mae Form 1025)
Manufactured Home Appraisal Report (Freddie Mac Form 70B/Fannie Mae Form 1004C)
Appraisal Update and/or Completion Report (Freddie Mac Form 442/Fannie Mae Form 1004D)
The following two appraisal report forms must be submitted in MISMO 2.6 GSE Extended format and must also
meet the standards provided in the Uniform Appraisal Dataset (UAD) Specification:
Uniform Residential Appraisal Report (Freddie Mac Form 70/Fannie Mae Form 1004)
Individual Condominium Unit Appraisal Report (Freddie Mac Form 465/Fannie Mae Form 1073)
The UAD includes all data points required for a complete appraisal report form and standardizes key appraisal
data elements for a subset of fields.
1.2
Glossary
DTD
Document Type Definitions (DTDs) are a set of rules that define the structure of an XML document.
The Routing Input/Output and Control Input/Output defined in this specification comprise a proprietary
message header to complete an EAD transaction. The xml structures are defined using DTDs which are
provided in the Integration Tool Kit available from Veros. There are multiple examples rendered within
the specification which conform to the DTD structure.
GUID
A Globally Unique Identifier (GUID) is a value returned via the EAD response file. In the PostBack
connectivity model, the GUID is used as the unique identifier to reference the original request when receiving
the complete request response file. A GUID is returned with all requests.
HTML
Hypertext Markup Language (HTML) is the primary markup language used to create Web pages. It is a return
file format option for EAD response files.
HTTPS
HyperText Transfer Protocol Secure (HTTPS) is a secure protocol used on the Web to transfer hypertext
media. It is a stateless application level protocol, which takes place over TCP/IP using the default port 443.
MIME
Multipurpose Internet Mail Extensions (MIME) refers to an official Internet standard that specifies how
messages must be formatted so that they can be exchanged between different mail systems. MIME messages
can contain text, images, audio, video, or other application-specific data.
URL
A Uniform Resource Locator (URL) is the file or place in a file on a particular machine where a resource is
located. Most users are familiar with URLs as domain names.
UAD
The Uniform Appraisal Dataset (UAD) has been developed to improve the quality and consistency of appraisal
data on delivered loans. The UAD includes all data points required for a complete appraisal report form and
standardizes key data points.
XML
Extensible Markup Language (XML) is a set of standardized rules for marking-up documents that can be
shared on the Internet. It provides data independence from formatting constraints.
2.1
Overview
2.1.1
EAD Integration
Executing transactions in the EAD XML environment involves posting a multi-part MIME containing a well-formed
Extensible Markup Language (XML) file to the appropriate URL. The XML file contains a user id, password, and
connection mode specification (e.g. Synchronous) as well as data specific to the requested business service. The XML
file must be formatted according to the required Document Type Definition (DTD) for the transaction. Format validation
should be done on the client side. A Hypertext Transfer Protocol(s) (HTTPS) POST command is used to submit
transactions to EAD and receive responses. When the transaction is complete, a response multi-part MIME file will be
returned.
2.1.2
The following URLs are used to connect to the EAD integration services:
EAD URLs
URL
https://direct-intg.electronicappraisaldelivery.com/servicerequest/
https://direct.electronicappraisaldelivery.com/servicerequest/
Network
Internet
Internet
Environment
Integration
Production
To minimize customer impact when we make internal changes we do not publish the IP Addresses for the EAD
URLs. If you have a network configuration that requires this information, please contact Veros.
2.2
Connection Models
The XML Integration Server supports two connection models: Synchronous and PostBack. The following
sections describe the flow of each model.
2.2.1
Synchronous
Definition
Synchronous is a model of communication where the request and the response are processed in a single
operation. The requestor initiates the synchronous mode by setting the element: <CONNECTION
_ModeIdentifier="Synchronous"/> in the service request XML. Posting of a synchronous request will result in
EAD returning a response XML envelope and any service output file(s).
Synchronous Transaction
Client
EAD
Service Request
Service Response
Usage
The table below lists business services that can be requested synchronously. If the service is unavailable or the
request was not received, the user should send the initial request again.
Business Service
SubmitAppraisal
GetFindings
GetReports
MONITOR (Time Service)
2.2.2
Average Execution
Time
10 seconds
10 seconds
10 seconds
1 second
Timeout Interval
2 minutes
2 minutes
2 minutes
30 seconds
PostBack
Definition
PostBack is an additional model of communication in which data is transmitted to the customer when results are
ready. The customer will specify a URL where the responses will be delivered. This model of communication
eliminates the need for the customer to poll for the initial EAD response; the initial response will be delivered
when ready to the customers designated PostBack URL. If a request is submitted to more than one investor and
there is a delay between the investor response times, additional PostBack requests will be required as explained
on page 10.
The requestor initiates the PostBack mode by setting the following element and attributes: <CONNECTION
ModeIdentifier="PostBack" PostBackURLIdentifier="https://www.url.com" /> in the RI XML file. It is
important that the customer indicates a valid PostBack URL for the transmission to work.
Usage
PostBack is designed for long running business services. The table below lists the EAD services that can be
requested using PostBack.
Business Service
Average Execution
Time
10 seconds
GetFindingsWait
Timeout Interval
2 minutes
Submission of a PostBack request will result in EAD returning a GUID within the response XML envelope. It is
recommended that the returned GUID be placed in a persistent datastore for use later after the output from the
requested service is received from the EAD PostBack session. The GUID should be used to correlate the request
to the PostBack response. It is also recommended that you utilize the Conversation ID for request/response
correlation which can be defined by the client at the creation of the request.
In the Session 1 diagram below a service request is made in the PostBack mode. The EAD server will return a
GUID to the requestor and close the connection. The requestor stores the returned GUID for later use.
The EAD system will initiate Session 2 at a later time (based on business service requirements) and make a
PostBack to the designated URL from the original request. The EAD server will return any available results from
the initial service request at this time and close the connection. The diagram below demonstrates the PostBack
workflow for a GetFindingsWait transaction. The first PostBack response is initiated when the
RECIPIENT_STATUS changes.
PostBack Transaction
Client
EAD
Session 1
Service Request
(Conversation ID)
RECIPIENT_STATUS
Service Response
(GUID)
In Progress/FHA
Session 2
Service Response
to www.url.com
FHA Findings (if available)
HTTP Response
RECIPIENT_STATUS
Successful/FHA
2.3
MIME was originally developed as a standard for defining the types of files attached to standard Internet mail
messages. The MIME standard has come to be used in many situations where one computer program needs to
communicate with another program about what kind of file is being sent.
EAD requests and responses are each composed of one or multiple sections, and a multipart MIME structure
allows the caller and the service to communicate about and identify these sections.
Refer to Section 5.7 MIME Best Practices for additional guidance.
2.3.1
When your customer application submits a request, the EAD service expects to receive an HTTP header and multipart
MIME stream in the body of the HTTP message. The HTTP header must include the following:
HTTP Post Message Header Request
Content-Type must be multipart/form-data. This refers to the MIME header parameter in the
message header. All requests must be UTF-8 encoded.
Boundary parameter must be set and utilized as outlined in RFC 1521. The numbers of dashes
that mark the boundary are significant. The header line that sets the boundary (i.e., boundary="-----------92A1B91BE760813DD832E784") always has two less dashes than the actual boundary lines. The final
boundary line always ends in two dashes.
Content-Disposition must be present in each body header and set to form-data. The name and
filename parameters are used as:
i. Name parameter is required for all body sections. See example below for required string
values.
ii. Filename parameter is optional and can represent the source filename for Business Input
file data.
Content-Type may be required to specify the type of Business Input file data. See the business
service definitions in Section 3.
When you receive a response from EAD, the HTTP header will include the following:
HTTP Post Message Header Response
Content-Type will be multipart/form-data. This refers to the MIME header parameter in the
message header.
Boundary parameter is set and utilized as outlined in RFC 1521. The numbers of dashes that
mark the boundary are significant. The value of the boundary string is entirely arbitrary. Client
applications must read it and use it to parse the body of the response message, but must make no
assumptions about its value.
2.3.2
Content-Disposition will be present in each body header and set to form-data. The name and
filename parameters are used as:
i. Name parameter is required for all body sections. See example below for required string
values.
ii. Filename parameter may be returned in the response Business Output sections. See the
business service definitions in Section 3.
Request Format
The content of the HTTP post to EAD is multi-part MIME which contains the request XML files and any
business data files. Your multipart MIME implementation must conform to the IETF Guidelines. Please refer to
RFC 2388, RFC 1806, RFC 822 and RFC 1521 at http://www.ietf.org for further information.
The MIME is comprised of three parts: Routing Input, Control Input, and Business Input.
Routing Input, RI, is an XML file containing information that identifies the requestor, the service
requested and the transaction model. See the Encryption Addendum for additional details.
Control Input, CI, is an XML file containing data required by the service, but not contained in a
business data file.
Business Input, BI, can be any file containing the business data required by a service e.g. an appraisal
file.
The HTTP headers and MIME section boundaries/headers conform to the requirements in section 2.3.1 above.
The table below lists the headers required for each section of the MIME:
MIME Section
Secure Routing Input
Control Input
Business Input
Content-Disposition
form-data
form-data
form-data
Name
EAD_RI
CI
Specific data file identifier i.e.
APPRAISAL_1
2.3.3
Response Format
The format of the response from EAD is multi-part MIME, which contains the response XML files and any
attached output data files. The MIME is comprised of three parts: Routing Output, Control Output, and Business
Output.
Routing Output, RO, is an XML file containing information that identifies the requestor, the service
requested and the transaction model. The input RI will be returned in the response file.
Control Output, CO, is an XML file containing data returned by the service, but not contained in a data
file e.g. Hard Stops, Status, etc.
Business Output, BO, can be any file containing the business data returned from a service e.g. a findings
file.
The HTTP headers and MIME section boundaries/headers conform to the requirements in section 2.3.1 above.
The table below lists the headers required for each section of the MIME:
MIME
Section
Routing
Output
Control
Output
Business
Output
ContentDisposition
form-data
Content-Type
Name
text/plain
EAD_RO
form-data
text/plain
EAD_CO
form-data
varies
2.4
Routing Information
2.4.1
Request Group
This section defines the elements associated with making a request to EAD. The envelope elements serve as a
wrapper around the request data. The Routing Input is required by all services. The Routing Input must also be
encrypted before it is transmitted; please see the Encryption Addendum for details.
Routing Input
DTD Reference: RequestGroup.dtd
ELEMENT:
Required:
Cardinality:
Description:
REQUEST_GROUP
Yes
1
This element contains general information to make a request.
Attribute
Format
Required
REQUESTING_PARTY
RECEIVING_PARTY
SUBMITTING_PARTY
REQUEST
Element
Element
Element
Element
N
N
N
Y
ELEMENT:
Required:
Cardinality:
Description:
Description
Not used at this time.
Not used at this time.
Not used at this time.
Refer to REQUEST element.
REQUEST
Yes
1
Contains the calling users credentials and the business service to be called.
Attribute
RequestDatetime
InternalAccountIdentifier
LoginAccountIdentifier
LoginAccountPassword
KEY
REQUEST_DATA
Format
Required
#
$
$
Element
Element
N
Y
Y
N
Y
Description
Date time stamp of request. This must be current and
contain valid time zone information to avoid the
request being rejected due to expiration. The
DateTime format must be in RFC 3339 format.
Examples are 2010-06-30T08:43:10-05:00 for
Eastern Standard Time or 2010-06-30T13:43:10Z
for UTC (Coordinated Universal Time).
Not used at this time.
EAD User ID.
EAD Password.
Refer to KEY element.
Refer to REQUEST_DATA element.
ELEMENT:
Required:
Cardinality:
Description:
KEY
No
0 or 1
The Conversation ID will persist the transaction and can be used for tracking
purposes.
Attribute
Format
Required
_Name
_Name = ConversationID
_Value
ELEMENT:
Required:
Cardinality:
Description:
REQUEST_DATA
Yes
1
This element defines the EAD Service and Connection mode.
Attribute
Format
Required
_GloballyUniqueIdentifier
PRODUCT
$
Element
N
Y
ELEMENT:
Required:
Cardinality:
Description:
Description
Not used at this time.
See PRODUCT element.
PRODUCT
Yes
1
Identifies the business service requested. Please see section 3 for the available
business services.
Attribute
Format
Required
_Name
_FunctionName
_VersionNumber
CONNECTION
$
$
$
Element
Y
Y
Y
Y
ELEMENT:
Required:
Cardinality:
Description:
Description
Description
Identifies the name of the system, e.g. EAD.
Identifies the service requested, e.g. SubmitAppraisal.
Identifies the version of the service requested.
Refer to CONNECTION element.
CONNECTION
Yes
1
Identifies the connection model and relevant information for this request.
Attribute
Format
Required
_ModeIdentifier
PostBackURLIdentifier
Description
Identifies the communication model used to submit the
request.
Values:
Synchronous
PostBack
The URL of the web server where the response will be
posted. Required if ModeIdentifier = PostBack.
2.4.2
Response Group
This section defines the elements associated with receiving a response from EAD. The envelope elements
serve as a wrapper around the response data. The Routing Output is returned by all services. Please refer to the
business services in Section 3 for Control Output and Business Output requirements.
Routing Output
DTD Reference: ResponseGroup.dtd
ELEMENT:
Required:
Cardinality:
Description:
RESPONSE_GROUP
Yes
1
This element contains information returned in a response.
Attribute
Format
Required
RESPONDING_PARTY
RESPOND_TO_PARTY
RESPONSE
Element
Element
Element
N
N
Y
ELEMENT:
Required:
Cardinality:
Description:
Description
Not used at this time.
Not used at this time.
Refer to RESPONSE element.
RESPONSE
Yes
1
This element contains information returned in a response.
Attribute
Format
Required
ResponseDatetime
InternalAccountIdentifier
LoginAccountIdentifier
LoginAccountPassword
KEY
RESPONSE_DATA
STATUS
$
#
$
$
Element
Element
Element
N
N
N
N
N
N
Y
Description
Date time stamp of response.
Not used at this time.
Not used at this time.
Not used at this time.
Refer to KEY element.
Refer to RESPONSE _DATA element.
Refer to STATUS element.
ELEMENT:
Required:
Cardinality:
Description:
KEY
No
0 or 1
The Conversation ID will persist the transaction and can be used for tracking
purposes.
Attribute
Format
Required
_Name
_Name = ConversationID
_Value
ELEMENT:
Required:
Cardinality:
Description:
RESPONSE_DATA
No
0 or 1
Element contains the GUID returned by EAD.
Attribute
_GloballyUniqueIdentifier
PRODUCT
ELEMENT:
Required:
Cardinality:
Description:
_Condition
_ Name
_Description
_Code
Required
Element
Description
Globally Unique Identifier (GUID) that is returned by
EAD and is used to retrieve the results.
See PRODUCT element.
No
0 or 1
Identifies the EAD product or service requested.
_Name
_FunctionName
_VersionNumber
Attribute
Format
PRODUCT
Attribute
ELEMENT:
Required:
Cardinality:
Description:
Description
Format
Required
$
$
$
Y
Y
Y
Description
Identifies the name of the system, e.g. EAD.
Identifies the service requested, e.g. SubmitAppraisal.
Identifies the version of the service requested.
STATUS
Yes
1
Contains EAD application level error information if one occurs. Please note this
element does not include errors from the requested business service. Please refer to
Appendix B, EAD Error Codes, for a list of potential errors.
Format
Required
$
$
$
$
Y
Y
Y
Y
Description
The EAD error condition.
The EAD error name.
The text description of the error from EAD.
Code that identifies the EAD error.
2.5
STATUS_LOG
When a failure occurs or UAD messages are present the STATUS_LOG will be returned as Business Output and
should be parsed and displayed to the end user. The STATUS_LOG provides additional detailed information that
helps the user identify what action is required. The information also assists in the troubleshooting process if
contacting a help desk is necessary. The STATUS_LOG is returned in the MIME section
name=EAD_STATUS_LOG.
Service Errors
If a request encounters multiple errors, only a single error code can be returned in the EAD_CO STATUS
element, but all applicable errors will be returned in the STATUS_LOG.
----------ieoau._._+2_8_GoodLuck8.3-ds0d0J0S0Kl234324jfLdsjfdAuaoei----Content-Disposition: form-data; filename=EAD_STATUS_LOG; name=EAD_STATUS_LOG
Content-Type: text/plain; charset=UTF-8
<?xml version="1.0" encoding="utf-8"?>
<STATUS_LOG>
<SERVICE_ERRORS>
<SERVICE_ERROR _Code="200001" _Description="Lender Loan Number is required, but was
not provided."/>
<SERVICE_ERROR _Code="200042" _Description="Invalid Software Provider ID (must be 9
characters). "/>
</SERVICE_ERRORS>
</STATUS_LOG>
3.1
Overview
3.1.1
_Name
_FunctionName
EAD
EAD
EAD
EAD
MONITOR
SubmitAppraisal
GetFindings
GetFindingsWait
GetReports
ReturnEST
_VersionNumber
1.0
1.0
1.0
1.0
2.0
Submit Appraisal
This service is used to submit appraisal data prior to loan endorsement. Appraisals may be submitted in one of
the supported XML formats (MISMO 2.6, MISMO 2.6 Errata 1, MISMO 2.6GSE). Submissions in XML format
must also include an embedded copy of the first-generation appraisal PDF file.
Upon first submission, the request will be assigned a Document File ID by EAD. If submitting a
resubmission/correction, this identifier should be referenced to avoid having the submission rejected as a
duplicate submission for the loan. For product types where two or three appraisals are required, multiple
appraisals may be submitted together, and will be associated with the same Document File ID.
After submission, an initial confirmation of receipt will be returned. Findings may be retrieved through the
GetFindings service and/or through the EAD web portal.
3.1.2
Get Findings
This service is used to retrieve findings generated by EAD after your submission has been evaluated.
The processing status of the submission (in progress, success, failure, override requested) is returned by this
service. It is recommended that submitters poll the Get Findings service to ensure that their submissions have
been processed successfully, to retrieve findings, or to retrieve Hard Stop messages in the case of a failure.
If a submission has failed and Hard Stop messages have been received through this service, a request to override
some types of Hard Stops can be submitted through the Submit Appraisal service.
3.1.3
This service is a variant of the Get Findings Service that is designed for clients who implement a PostBack
service.
3.1.4
Get Reports
This service is used to retrieve reports from EAD. Currently, the Submission Summary Report (SSR) is available
through this service.
3.1.5
The diagram below demonstrates a successful Submit Appraisal request and two subsequent Get Findings
requests to obtain the results. While EAD is processing the appraisal, Get Findings returns the recipient status
IN PROGRESS. Once the appraisal has been processed and has no hard stops that need to be addressed, Get
Findings returns the recipient status SUCCESSFUL.
3.1.6
The diagram below demonstrates the workflow for resolving an overridable hard stop. As above, the Submit
Appraisal request results in the issuance of a Document File ID. After the appraisal has been processed by EAD,
the call to Get Findings indicates that the recipient status of NOT SUCCESSFUL and returns the hard stops
that apply to the appraisal. The submitter then calls Submit Appraisal again to submit a hard stop override
request, and after that request is approved by the system, a final call to Get Findings indicates that the recipient
status is now SUCCESSFUL.
3.2
Submit Appraisal
Description
This service is used to submit appraisal data in designated XML format, or to provide updates or corrections to
an existing submission.
The format for a Submit Appraisal request is comprised of the following files and MIME sections:
MIME Section
Routing Input
Control Input
Business Input
Business Input
Business Input
Content-Disposition
Form-data
Form-data
Form-data
Form-data
Form-data
Name
EAD_RI
CI
APPRAISAL_1
APPRAISAL_2 *
APPRAISAL_3 *
* A single appraisal is required for the vast majority of submissions to EAD. Where there are changes to the
single appraisal, those updates should be resubmitted as a replacement/update to Appraisal 1. A secondary or
tertiary appraisal data file should only be submitted where additional appraisals are used as part of the
underwriting decision or if an update or report of reinspection is required.
The format for a Submit Appraisal response is comprised of the following files and MIME sections
MIME Section
Routing Output
Control Output
Content-Disposition
Form-data
Form-data
Name
EAD_RO
EAD_CO
Routing Input
The Submit Appraisal service supports the Synchronous connection mode.
PRODUCT
_Name:
_FunctionName:
_VersionNumber:
EAD
SubmitAppraisal
1.0
Control Input
DTD Reference: EADSubmitAppraisalRequest_v1_0.dtd
ELEMENT:
Required:
Cardinality:
Description:
SUBMIT_APPRAISAL_REQUEST
Yes
1
This element contains all required information for a Submit Appraisal request.
Attribute
Format
Required
LenderLoanNumber
$15
EADDocumentFileIdentifier
$10
EADBusinessUnitNumber
$8
SOFTWARE_PROVIDER
RECIPIENT_FHA
DATA_FILE
OVERRIDE_REQUEST
DELETE_FILE
Element
Element
Element
Element
Element
Y
C
N
N
N
Description
Number used by the Lender to identify a loan. This
number must be provided on initial submissions and
may be included on resubmissions if it has changed.
A unique number generated by EAD to track the
appraisal documents submitted for a loan. This
number must be provided when sending a
resubmission/correction.
Identifies the business unit with which an initial
submission should be associated. This value must
only be provided for initial submissions (it may not
be changed after the initial submission).
Please see SOFTWARE_PROVIDER element.
Please see RECIPIENT_FHA element.
Please see DATA_FILE element.
Please see OVERRIDE_REQUEST element.
Please see DELETE_FILE element.
On an initial submission:
When an appraisal is initially submitted to EAD, the Lender Loan Number, DATA_FILE,
SOFTWARE_PROVIDER and RECIPIENT_FHA are required. The Business Unit Number must also
be specified.
If you are a lender, your EAD lender administrator may have configured multiple business units in EAD
to represent your company's organizational hierarchy. The business unit you specify will determine
which users may access your submission. Please contact your EAD lender administrator to determine
the proper Business Unit Number to be used.
If you are a lender agent, you have the ability to submit appraisals on behalf of one or more lenders. The
business unit you specify will determine which lender you are submitting for, and which Lender IDs are
available for use. Please contact your EAD lender agent administrator to determine the proper Business
Unit Number to be used for each lender.
On a resubmission:
The DocumentFileIdentifier is generated by EAD after the initial submission of appraisal data for a
loan. To resubmit appraisal data for updates or corrections, this identifier must be populated with the
proper value; otherwise, a duplicate check will reject the submission.
If the Lender Loan Number has changed, it may be updated through direct integration or the EAD web
portal. To correct a value through direct integration, provide the new value in the
SUBMIT_APPRAISAL_REQUEST element.
A resubmission may include any one or more of the following: (1) updates to the Lender Loan Number
or FHA attributes, (2) an updated appraisal file to replace a previously submitted file, or (3) a new
Secondary Appraisal file to be added to a previous submission.
SOFTWARE_PROVIDER
Yes
1
This element provides the account information.
Attribute
Format
_AccountNumber
ELEMENT:
Required:
Cardinality:
Description:
$9
Required
Y
Description
Please contact Veros for your account number.
RECIPIENT_FHA
No
0 or 1
This element contains all information specific to a submission to FHA. It must be
included when initially submitting an appraisal to FHA. It may also be included when
making subsequent updates to FHA attributes.
Attribute
Format
Required
FHALenderID
#5
HUDCaseNumber
$11
Description
The Title II Lender ID of the lender by which the
appraisal(s) will be delivered to FHA. This value is
required on an initial submission. When making
updates to FHA attributes, this value is not required
if it has not changed.
The FHA Case Number associated with the
property being appraised. This value is required on
an initial submission. When making updates to
FHA attributes, this value is not required if it has
not changed. Format must be ###-#######. Any
program type suffix should not be included.
ELEMENT:
Required:
Cardinality:
Description:
DATA_FILE
No
0 or more
The APPRAISAL file in any of the supported formats is required. When required, the
1004MC Market Conditions Addendum data should be included in the same file as
the appraisal. For some products, an APPRAISAL_2 and/or APPRAISAL_3 file may
also be required. Submissions in designated XML format should also include an
embedded copy of the appraisal first generation PDF file.
The following appraisal form types are supported:
Uniform Residential Appraisal Report (FNM 1004/FRE 70)
Manufactured Home Appraisal Report (FNM 1004C/FRE 70B)
Small Residential Income Property Appraisal Report (FNM 1025/FRE 72)
Individual Condominium Unit Appraisal Report (FNM 1073/FRE 465)
Appraisal Update and/or Completion Report (FNM 1004D/FRE 442) *
* The Appraisal Update and/or Completion Report form may only be submitted as an
APPRAISAL_2 or APPRAISAL_3 file. One of the other supported appraisal form
types must be submitted or be already present as APPRAISAL_1.
Attribute
Format
Required
_Type
_FormatType
_VersionNumber
$
$
Y
C
Description
Values:
1004/70
1004C/70B
1025/72
1073/465
1004D/442
MISMO
The version number indicates whether the appraisal file is UAD
compliant. UAD specifications are not available for all forms. Valid
values for all forms are listed below.
Valid Values for reviewed for UAD Compliance (1004/70, 1073/465):
UAD = indicates appraisal is UAD compliant
Blank = indicates appraisal is legacy form prior to UAD
standard
Valid values for all other Forms (1004C/70B, 1025/72, 1004D/442)
Blank = indicates appraisal is form to which UAD standard
does not apply
_Name
APPRAISAL_1
APPRAISAL_2
APPRAISAL_3
ELEMENT:
Required:
Cardinality:
Description:
OVERRIDE_REQUEST
No
0 or more
This element provides a request for a Hard Stop override.
Attribute
Format
Required
_Name
_HardStopCode
_ReasonCode
$250
_ReasonComment
Description
The name of the file that caused the Hard Stop.
This attribute must be included if the Hard Stop is
file-specific. Possible values:
APPRAISAL_1
APPRAISAL_2
APPRAISAL_3
The code representing the Hard Stop type that
should be overridden. Please see Appendix A for a
list of potential values.
The code representing the reason why the Hard
Stop should be overridden. Please see Appendix A
for a list of potential values.
A brief comment to help justify the reason for
requesting the override. Any text over 250
characters in length will be truncated.
Attribute
_Name
DELETE_FILE
No
0 or more
This element allows you to remove a secondary or tertiary file from the submission if
it was uploaded in error.
Format
Required
Description
The name of the file to be deleted from the
document file. Possible values:
APPRAISAL_2
APPRAISAL_3
Typically, a file that requires corrections should be replaced with an updated file using the DATA_FILE
element. However, if a file was uploaded in error and should be deleted completely from the document
file, use the DELETE_FILE element. Every Document File must have an APPRAISAL_1 file, so the
APPRAISAL_1 file cannot be deleted, only replaced.
Example Control Input SubmitAppraisal (Change FHA Case Number and Loan Number)
<?xml version="1.0" encoding="UTF-8"?>
<SUBMIT_APPRAISAL_REQUEST LenderLoanNumber="NewLoan#"
EADDocumentFileIdentifier="DocumentFileId">
<SOFTWARE_PROVIDER _AccountNumber="Account#"/>
<RECIPIENT_FHA HUDCaseNumber="NewFHACaseNo"/>
</SUBMIT_APPRAISAL_REQUEST>
</SUBMIT_APPRAISAL_REQUEST>
Business Input
For an initial Submit Appraisal Request the appraisal XML file must be included as Business Input. The
secondary appraisal file is Optional. Files must be UTF-8 encoded. The following Content-Type declaration
must be included in the Business Input BI MIME section:
XML files: use either
Content-Type: text/xml
Content-Type: text/plain
Control Output
DTD Reference: EADSubmitAppraisalResponse_v1_0.dtd
ELEMENT:
Required:
Cardinality:
Description:
SUBMIT_APPRAISAL_RESPONSE
Yes
1
This element contains the response to the submission.
Attribute
Format
DocumentFileIdentifier
LenderLoanNumber
STATUS
RECIPIENT_FHA
ELEMENT:
Required:
Cardinality:
Description:
Required
$10
$15
Element
Element
Y
Y
C
Description
A unique number generated by EAD to track the
appraisal documents submitted for a loan. A
DocumentFileIdentifier may not be generated for
new submissions that contain errors.
Number used by the Lender to identify a loan.
Please see the STATUS element.
Please see the RECIPIENT_FHA element.
STATUS
Yes
1
This element contains error messages from the requested business service.
Attribute
Format
Required
_Condition
_ Name
$
$
Y
Y
Description
SUCCESS or FAILURE.
SERVICE
_Description
_Code
$
$
ELEMENT:
Required:
Cardinality:
Description:
Y
Y
RECIPIENT_FHA
Conditional
0 or 1
This element contains information specific to a submission to FHA.
Attribute
Format
Required
FHALenderID
#5
HUDCaseNumber
$11
Description
The Title II Lender ID of the lender by which the
appraisal(s) will be delivered to FHA.
The FHA Case Number associated with the
property being appraised. Format will be ##########. Any program type suffix will not be
included.
3.3
Get Findings
Description
This service is used to check on the status of an appraisal submission and retrieve findings.
The format for a Get Findings request is comprised of the following MIME sections:
MIME Section
Routing Input
Control Input
Content-Disposition
Form-data
Form-data
Name
EAD_RI
CI
The format for a Get Findings response is comprised of the following files and MIME sections:
MIME Section
Routing Output
Control Output
Business Output
Content-Disposition
Form-data
Form-data
Form-data
Name
EAD_RO
EAD_CO
0 or more files based on
_RETURN_FILE element if
findings are available
Routing Input
The Get Findings Service supports the Synchronous connection mode only. For the PostBack connection mode, use the
GetFindingsWait service described in section 3.4 below.
PRODUCT
_Name:
_FunctionName:
_VersionNumber:
EAD
GetFindings
1.0
Control Input
DTD Reference: EADGetFindingsRequest_v1_0.dtd
ELEMENT:
Required:
Cardinality:
Description:
GET_FINDINGS_REQUEST
Yes
1
This element contains all required information for a Get Findings request.
Attribute
Format
Required
EADDocumentFileIdentifier
$10
_RETURN_FILE
SOFTWARE_PROVIDER
Element
Element
N
Y
ELEMENT:
Required:
Cardinality:
Description:
Description
A unique number generated by EAD to track the
appraisal documents submitted for a loan.
Please see _RETURN_FILE element.
Please see SOFTWARE_PROVIDER element.
_RETURN_FILE
No
0 or more
This element contains the list of requested return files.
Attribute
Format
Required
_FileType
Description
Values:
FHA_FINDINGS_XML
FHA_FINDINGS_HTML
Note: No Output Files are returned to the
ELEMENT:
Required:
Cardinality:
Description:
SOFTWARE_PROVIDER
Yes
1
This element provides the account information.
Attribute
Format
_AccountNumber
$9
Required
Y
Description
Please contact Veros for your account number.
Control Output
DTD Reference: EADGetFindingsResponse_v1_0.dtd
ELEMENT:
Required:
Cardinality:
Description:
GET_FINDINGS_RESPONSE
Yes
1
This element contains the available information for the specified Document File.
Attribute
Format
DocumentFileIdentifier
LenderLoanNumber
STATUS
RECIPIENT_STATUS
RECIPIENT_FHA
HARD_STOP
FINDINGS_SUMMARY
ELEMENT:
Required:
Cardinality:
Description:
Attribute
_Condition
_ Name
_Description
_Code
ELEMENT:
Required:
Cardinality:
Description:
Attribute
Required
$10
$15
Element
Element
Element
Element
Element
Y
Y
C
C
N
N
Description
A unique number generated by EAD to track the
appraisal documents submitted for a loan.
Number used by the Lender to identify a loan.
Please see the STATUS element.
Please see the RECIPIENT_STATUS element.
Please see the RECIPIENT_FHA element.
Please see the HARD_STOP element.
Please see the FINDINGS_SUMMARY element.
STATUS
Yes
1
This element contains error messages from the requested business service.
Format
Required
$
$
$
$
Y
Y
Y
Y
Description
SUCCESS or FAILURE.
SERVICE
Text Description of the error.
Code associated with the error. Please see Appendix A
for a list of potential values.
RECIPIENT_STATUS
Yes
0 or more
This element contains error messages from the processing of the submission by EAD.
This element may not be returned if the service call resulted in an error (see STATUS
element above).
Format
Required
_Name
_Condition
_Description
Description
Recipient name
Values:
FHA: Federal Housing Administration
SUCCESSFUL, IN PROGRESS, OVERRIDE
REQUESTED or NOT SUCCESSFUL.
Text Description of the status.
_Code
ELEMENT:
Required:
Cardinality:
Description:
RECIPIENT_FHA
Conditional
0 or 1
This element contains all information specific to a submission to FHA.
Attribute
Format
Required
FHALenderID
#5
HUDCaseNumber
$11
ELEMENT:
Required:
Cardinality:
Description:
Format
Required
_Name
_Description
_Code
$
$
Y
Y
_OverrideStatus
_OverrideDecisionCode
$
$
N
N
_OverrideDecisionDescription
_OverrideDecisionComment
$
$
N
N
Element
HARD_STOP_RECIPIENT
Attribute
_Name
HARD_STOP
No
0 or more
These elements contain the Hard Stop errors encountered while processing the
appraisal submission. Appendix A lists the current Hard Stop codes, but since new
codes may be added in the future, your implementation must not fail when
encountering a code that is not recognized.
Attribute
ELEMENT:
Required:
Cardinality:
Description:
Description
Description
The name of the file that caused the Hard Stop. This
attribute will be included if the Hard Stop is filespecific. Possible values:
APPRAISAL_1
APPRAISAL_2
APPRAISAL_3
Text Description of the error.
Code associated with the error. Please see Appendix
A for a list of potential values.
APPROVED, IN PROGRESS, DENIED
The code representing the reason why the Hard Stop
override request was approved or denied. Please see
Appendix A for a list of potential values.
Text description of the override decision.
A brief comment providing additional information
about the override request approval or denial.
Please see the HARD_STOP_RECIPIENT element.
HARD_STOP_RECIPIENT
Yes
1 or more
This element identifies the recipient to whom the hard stop is associated.
Format
Required
Description
Recipient name
Values:
FHA: Federal Housing Administration
ELEMENT:
Required:
Cardinality:
FINDINGS_SUMMARY
No
0 or more
Description: This element identifies the Findings Report files returned.
Attribute
Format
Required
_Recipient
_Format
Description
Recipient name
Values:
FHA: Federal Housing Administration
Values:
HTML
XML
The returned format(s) are determined by the
input element _RETURN_FILE.
_Name
_Filename
Example Control Output Get Findings (Hard Stop Override Request in Progress)
In the following example, one Hard Stop override request has been accepted, but the other is still pending:
<?xml version="1.0" encoding="UTF-8"?>
<GET_FINDINGS_RESPONSE DocumentFileIdentifier="DocumentFileId" LenderLoanNumber="Loan#">
<STATUS _Condition="SUCCESS" _Name="SERVICE" _Code="0" _Description="Request
Successful"/>
<RECIPIENT_STATUS _Name="FHA" _Condition="OVERRIDE REQUESTED" _Code="IS0002"
_Description="Your Hard Stop override request(s) are in the process of being reviewed."/>
<RECIPIENT_FHA FHALenderID="FHALenderID" HUDCaseNumber="FHACaseNo"/>
<HARD_STOP _Name="APPRAISAL_1" _Code="302" _Description="Unknown subject address"
_OverrideStatus="IN PROGRESS">
<HARD_STOP_RECIPIENT _Name="FHA"/>
</HARD_STOP>
<HARD_STOP _Name="APPRAISAL_1" _Code="202" _Description="Unverified appraiser license
information" _OverrideStatus="APPROVED" _OverrideDecisionCode="OD002"
_OverrideDecisionDescription="Override request accepted. Submitter's delegated authority
accepted">
<HARD_STOP_RECIPIENT _Name="FHA"/>
</HARD_STOP>
<FINDINGS_SUMMARY/>
</GET_FINDINGS_RESPONSE>
Example Control Output Get Findings (Hard Stop Override Requests Approved)
<?xml version="1.0" encoding="UTF-8"?>
<GET_FINDINGS_RESPONSE DocumentFileIdentifier="DocumentFileId" LenderLoanNumber="Loan#">
<STATUS _Condition="SUCCESS" _Name="SERVICE" _Code="0" _Description="Request
Successful"/>
<RECIPIENT_STATUS _Name="FHA" _Condition="SUCCESSFUL" _Code="IS0000"
_Description="Submission Successful"/>
<RECIPIENT_FHA FHALenderID="FHALenderID" HUDCaseNumber="FHACaseNo"/>
<HARD_STOP _Name="APPRAISAL_1" _Code="302" _Description="Unknown subject address"
_OverrideStatus="APPROVED" _OverrideDecisionCode="OD002"
_OverrideDecisionDescription="Override request accepted. Submitter's delegated authority
accepted" _OverrideDecisionComment="Optional comment here">
<HARD_STOP_RECIPIENT _Name="FHA"/>
</HARD_STOP>
Example Control Output Get Findings (Hard Stop Override Request Denied)
In the following example, one of the Hard Stop override requests has been denied, so the submission has not
been accepted:
<?xml version="1.0" encoding="UTF-8"?>
<GET_FINDINGS_RESPONSE DocumentFileIdentifier="DocumentFileId" LenderLoanNumber="Loan#">
<STATUS _Condition="SUCCESS" _Name="SERVICE" _Code="0" _Description="Request
Successful"/>
<RECIPIENT_STATUS _Name="FHA" _Condition="NOT SUCCESSFUL" _Code="IS0004"
_Description="Hard Stop override request(s) have been denied. Review the HARD_STOP elements
for details."/>
<RECIPIENT_FHA FHALenderID="FHALenderID" HUDCaseNumber="FHACaseNo"/>
<HARD_STOP _Name="APPRAISAL_1" _Code="302" _Description="Unknown subject address"
_OverrideStatus="DENIED" _OverrideDecisionCode="OD003" _OverrideDecisionDescription="Override
request denied. Resubmit a corrected appraisal file">
<HARD_STOP_RECIPIENT _Name="FHA"/>
</HARD_STOP>
<HARD_STOP _Name="APPRAISAL_1" _Code="202" _Description="Unverified appraiser license
information" _OverrideStatus="APPROVED" _OverrideDecisionCode="OD002"
_OverrideDecisionDescription="Override request accepted. Submitter's delegated authority
accepted">
<HARD_STOP_RECIPIENT _Name="FHA"/>
</HARD_STOP>
<FINDINGS_SUMMARY/>
</GET_FINDINGS_RESPONSE>
Business Output
The Business Output for a GetFindings Request will include the STATUS LOG if an error or one or more UAD
Messages is encountered. The Business Output will also include FHA findings if requested in the Control Input
and available. The following table lists the current file and its location within the MIME Response.
File Description
MIME Location
Name
EAD_STATUS_LOG
Derived from Control Output
Derived from Control Output
Status Log
FHA Findings XML
FHA Findings HTML
FileName
EAD_STATUS_LOG
Derived from Control Output
Derived from Control Output
STATUS_LOG
No
1
This element contains error messages and UAD compliance messages.
Attribute
Format
Required
SERVICE_ERRORS
UAD_COMPLIANCE_ERRORS
Element
Element
N
N
ELEMENT:
Required:
Cardinality:
Description:
No
0 or 1
This element contains one or more error message from EAD.
Format
Required
SERVICE_ERROR
Element
Attribute
SERVICE_ERRORS
Attribute
ELEMENT:
Required:
Cardinality:
Description:
Description
Description
Please see the SERVICE_ERROR element.
SERVICE_ERROR
No
1 or more
This element contains a specific error message from EAD.
Format
Required
_Code
_Description
Description
Code associated with the error. Please see Appendix A
for a list of potential values.
Text Description of the error.
ELEMENT:
Required:
Cardinality:
Description:
UAD_COMPLIANCE_ERRORS
No
0 or 1
This element contains one or more UAD messages from EAD.
Attribute
Format
Required
$
Element
Y
Y
_Name
SubmissionDateTime
UAD_COMPLIANCE_ERROR
ELEMENT:
Required:
Cardinality:
Description:
UAD_COMPLIANCE_ERROR
Attribute
No
1 or more
This element contains a specific UAD message from EAD.
Format
Required
_Code
$4000
FormSection
$4000
FormField
$4000
DataPoint
$4000
$14
ActionMessage
$1000
_Severity
$4000
PropertyAffected
Description
Description
Code associated with the error. Please see the UAD
Message List.
Identifies the section within the appraisal to which the
message is related.
Identifies the form field within the appraisal to which
the message is related.
Identifies the specific data point within the appraisal to
which the message is related.
Identifies the affected property within the appraisal to
which the message is related.
Description of the action needed to resolve the
message.
Describes the severity of the message:
- Fatal
- Warning
FINDINGS_MESSAGES_LOG
Yes
1
This element contains findings for up to three appraisals, based on how many
appraisals were submitted to EAD and have findings available.
Attribute
Format
Required
FINDINGS_MESSAGES
Element
ELEMENT:
Required:
Cardinality:
Description:
Description
Please see the FINDINGS_MESSAGES element.
FINDINGS_MESSAGES
Yes
1 or more
This element contains one or more findings messages for the specified appraisal.
Attribute
Format
Required
_Name
Recipient
SubmissionDateTime
$
$
Y
Y
Element
FINDINGS_MESSAGE
ELEMENT:
Required:
Cardinality:
Description:
Attribute
Description
FINDINGS_MESSAGE
Yes
1 or more
This element contains a specific Findings Message.
Format
Required
_Code
$10
FormSection
$100
FormField
$300
DataPoint
$100
PropertyAffected
$100
ActionMessage
$4000
_Severity
$100
Description
Code associated with the message. Please contact FHA
for complete list of messages.
Identifies the section within the appraisal to which the
message is related.
Identifies the form field within the appraisal to which
the message is related.
Identifies the specific data point within the appraisal to
which the message is related.
Identifies the affected property within the appraisal to
which the message is related.
Description of the action needed to resolve the
message.
Describes the severity of the message:
- Fatal
- Warning
- Overridable
3.4
Description
This service is used to check on the status of an appraisal submission and retrieve findings. The GetFindingsWait
service is identical to the GetFindings function described above, but its response model is tailored for the
PostBack connection mode.
Clients that choose to implement the PostBack model will typically want the EAD Service to wait to respond if
the specified Document File ID is still being processed by the system. Utilizing the GetFindingsWait service call
allows the client to make reduced calls to the service, and receive a PostBack response only when the processing
of the desired Document File has resulted in a SUCCESSFUL or NOT SUCCESSFUL status. If processing
results are complete when the request is received, the PostBack response will be sent immediately.
Routing Input
The GetFindingsWait Service supports the PostBack connection mode only. For the Synchronous connection mode, use
the GetFindings service described in section 3.3 above.
PRODUCT
_Name:
_FunctionName:
_VersionNumber:
EAD
GetFindingsWait
1.0
Control Input
DTD Reference: EADGetFindingsRequest_v1_0.dtd
The Control Input is identical to that of GetFindings.
Control Output
DTD Reference: EADGetFindingsResponse_v1_0.dtd
The Control Output is identical to that of GetFindings.
Business Output
The Business Output is identical to that of GetFindings.
3.5
Get Reports
Description
This service is used to retrieve reports from EAD. Currently, the Submission Summary Report (SSR) is available
through this service.
The format for a Get Reports request is comprised of the following MIME sections:
MIME Section
Routing Input
Control Input
Content-Disposition
Form-data
Form-data
Name
EAD_RI
CI
The format for a Get Reports response is comprised of the following files and MIME sections:
MIME Section
Routing Output
Control Output
Business Output
Content-Disposition
Form-data
Form-data
Form-data
Name
EAD_RO
EAD_CO
0 or more files based on
availability of reports
Routing Input
The GetReports Service supports the Synchronous connection mode only.
PRODUCT
_Name:
_FunctionName:
_VersionNumber:
EAD
GetReports
1.0
Control Input
DTD Reference: EADGetReportsRequest_v1_0.dtd
ELEMENT:
Required:
Cardinality:
Description:
GET_REPORTS_REQUEST
Yes
1
This element contains all required information for a Get Reports request.
Attribute
Format
RETURN_SSR
SOFTWARE_PROVIDER
ELEMENT:
Required:
Cardinality:
Description:
Required
Element
Element
N
Y
Description
Please see RETURN_SSR element.
Please see SOFTWARE_PROVIDER element.
RETURN_SSR
No
0 or 1
This element contains the details of a Submission Summary Report (SSR) request.
Attribute
Format
Required
$10
_EADRecipient
_Format
EADDocumentFileIdentifier
Description
A unique number generated by EAD to track the
appraisal documents submitted for a loan.
Recipient name
Values:
FHA: Federal Housing Administration
ALL: Federal Housing Administration
Values:
ELEMENT:
Required:
Cardinality:
Description:
SOFTWARE_PROVIDER
Yes
1
This element provides the account information.
Attribute
Format
_AccountNumber
Required
$9
Description
Please contact Veros for your account number.
Control Output
DTD Reference: EADGetReportsResponse_v1_0.dtd
ELEMENT:
Required:
Cardinality:
Description:
GET_REPORTS_RESPONSE
Yes
1
This element contains the requested reports.
Attribute
Format
Required
STATUS
RETURN_SSR_DATA
Element
Element
Y
N
ELEMENT:
Required:
Cardinality:
Description:
STATUS
Yes
1
This element contains error messages from the requested business service.
Attribute
_Condition
_ Name
_Description
_Code
ELEMENT:
Required:
Cardinality:
Description:
Description
Format
Required
$
$
$
$
Y
Y
Y
Y
Description
SUCCESS or FAILURE.
SERVICE
Text Description of the error.
Code associated with the error. Please see Appendix A
for a list of potential values.
RETURN_SSR_DATA
No
0 or more
This element identifies the SSR report files returned.
Attribute
Format
DocumentFileIdentifier
$10
Required
Y
Description
A unique number generated by EAD to track the
appraisal documents submitted for a loan.
_Recipient
_Format
_Name
_Filename
Recipient name
Values:
FHA: Federal Housing Administration
Values:
PDF
The name parameter for the Business Output MIME
Section containing the report data.
The filename parameter for the Business Output
MIME Section containing the report data.
Business Output
The Business Output for a Get Reports request corresponds to the RETURN_SSR_DATA elements in the
Control Output. Each returned report indicated in the Control Output will have a corresponding Business Output
MIME section. Files in PDF format will be Base64 encoded. The Business Output MIME sections for the above
Control Output example are shown below:
---------------------7d93d82e30658
Content-Disposition: form-data; filename="SSR_FHA_DocumentFileID.pdf", name="BO_EAD1"
Content-Type: application/pdf
Content-Transfer-Encoding: base64
012345ABC
... base64 PDF data here ...
012345ABC
---------------------7d93d82e30658--
Error Handling
There are two types of errors that can occur using the EAD interface: EAD errors and Business Service errors.
EAD Errors are specific to the formatting of the MIME file and the validation of the user id. If any part of the
MIME file is not well formatted or is missing data you will receive an EAD Error. You will also receive an EAD
error if the User ID is not authenticated for the requested business service. For a complete list of EAD Errors
please refer to Appendix B. These errors will be returned in the STATUS element of the Routing Output
response xml file.
Example RO STATUS Element:
<STATUS _Condition="ERROR" _Name="EAD" _Description="User not authenticated" _Code="1"/>
When there is not an EAD error, the STATUS element will contain the following parameters:
<STATUS _Condition="DONE" _Name="SERVICE" _Description="Service Request Completed"
_Code="0"/>
Business Errors are errors returned from the service requested e.g. SubmitAppraisal, GetFindings, etc.
Examples of such errors include invalid Control Input request parameters or structure, or user account
authorization. When a Business error occurs, the _Condition attribute in the STATUS element in the Control
Output response file will be FAILURE. The _Description and _Code attributes will contain information about
the critical error. For a complete list of errors please refer to Appendix A (Status/Error Codes).
When a failure occurs the STATUS_LOG will be returned as Business Output and should be displayed to the end
user. The STATUS_LOG provides additional detailed information that helps the user identify what action is
required. The information also assists in the trouble shooting process if contacting a help desk is necessary.
Please refer to the next pages for an Example Error Workflow and STATUS_LOG.
Example CO STATUS Element:
<STATUS _Condition="FAILURE" _Name="SERVICE" _Code="200001" _Description="Lender
Loan Number is required, but was not provided."/>
Error Handling
Response
MIME file
Routing
Output
_Condition =
ERROR
Check
STATUS_Condition
attribute
_Condition =
PROCESSING
Using Appendix B
determine request status
from _Code Attribute
_Condition = DONE
Control
Output
Check Attribute
STATUS_Condition
for "FAILURE" or
"SUCCESS"
SUCCESS
Using Appendix B
determine error from
_Code Attribute
Process
Successful
Response Data
FAILURE
Perform exception
processing based on
_Code and _Description
Attribute
Business
Output
STATUS_LOG
Display STATUS_
LOG to user
Overview
Whether you are building or buying specific components for your solution, your implementation must take into
account the EAD Integration Recommendations. This is critical to ensure the efficient flow of information
through the EAD interface.
5.1
It is important for client applications to validate input and output XML files during development. EADs best
practice is to build the customer application so that validation is an optional behavior, turned off by default,
which can be turned on by editing a configuration file.
5.2
This is critical for troubleshooting in case of a business service error. The customer application should always
log service request GUIDs, along with enough information to correlate them with specific customer requests.
5.3
Use a Conversation ID
Conversation IDs are another useful aid to troubleshooting. Since they are set by the customer system, they
provide proof of end-to-end service completion from the customer perspective.
5.4
Customers desiring to perform automated, scheduled checks of EAD system health may do so by sending a
MONITOR request not more often than once every five minutes.
Customers must not perform SubmitAppraisal or other business service requests to test system health.
5.5
The EAD URL Names are resolvable across the Internet. We strongly recommend following the DNS Practices
to ensure reliability of your connections to EAD:
Customers should use one DNS server to resolve all queries to EAD. This server should be able to do
recursive DNS queries and another DNS server should be used only if the first one fails to respond.
It is strongly suggested that customers not round robin their DNS queries.
Customers should allow DNS to perform queries for address resolution from the authoritative source,
and honor the default Time To Live (TTL).
Caching of the DNS resolution beyond 60 seconds can cause application problems. Note: Unexpected
sources of DNS caching include the Unix Name Service Caching Daemon (NSCD) as well as the Java
JVM. NSCD should not be allowed to cache host resolution beyond 60 seconds. For Java,
the problematic setting is networkaddress.cache.ttl.
5.6
The network driver on the customers computer is designed to gracefully timeout and return control to the calling
application if normal operations exceed a predetermined interval. The default value of the network timeout can
be as long as five minutes. If the customer system does not set network timeout intervals, the user may be forced
to wait longer than necessary in the event of a network problem.
EAD strongly recommends that customer systems set the timeout intervals for network events as follows, and
that the timeout intervals are configurable within the application, using these:
We also recommend that these timeout intervals be configurable in the application, with the default values as
shown above.
5.7
Common pitfalls can occur when creating a MIME request or when processing the MIME response. The
following is a list of recommendations:
Creating MIME
Use a Third Party MIME solution
Follow RFC 2046 guidelines regarding boundaries.
Processing MIME
If you decided to use a string comparison method:
Consider issues with case comparison.
Trim spaces to avoid leading blanks, etc.
Use classes like HTTPClient.Util to get the Boundary by parsing the contentType
string and take care of spaces and delimiters. See example below:
HTTPClient.Util.getParameter("boundary", contentType);
Avoid hard coding expected order.
Need to have ability to handle changes to header sections.
Do not merge header lines into a single line, i.e. merge of Content-Type and ContentDisposition declarations.
Override Allowed
(Manual Request)
N
Y
N
N
Y
N
N
N
N
N
N
Y
Auto1
N
Auto1
N
N
N
Auto1
N
Auto1
Auto1
Auto1
Auto1
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
Y
N
N
Code
FHA4205 2
FHA5000
FHA5005
FHA5010
FHA5015
FHA5016
FHA5100
FHA5200
FHA5400
FHA5401
FHA5405
FHA5410
FHA6000
FHA6005
1
Override Allowed
(Manual Request)
N
N
N
N
N
N
N
N
N
N
N
N
N
N
appraisal with unknown subject address if year built is equal to 2 years old or less
appraisal with unknown subject address that is in Puerto Rico, U.S. Virgin Islands, or Guam
appraisal with subject address that cannot be validated against the property associated with the FHA
Case Number
appraisal with XML digital signature that is missing or could not be validated
UAD Compliance check failure (warnings only)
The Hard Stop will be recorded, automatically overridden and included in the response. These automatic
overrides may be changed to manual overrides or hard stops with a fatal severity in future releases.
Comment Required
N
Y
Comment Required
N
N
N
N
N
Y
Comment Required
N
Y
FHA4001: Appraisal Update indicates that the market value of the subject property has declined in value
Code
RQFHA40011
Comment Required
Request Accepted
Y
Y
N
Status/Error Codes
Error Messages may be returned in the Control Output STATUS Element and/or the STATUS_LOG.
Service
Response
Code
Error Description
SubmitAppraisal
Request Successful
SubmitAppraisal
SubmitAppraisal
SubmitAppraisal
200001
200003
200004
SubmitAppraisal
200007
SubmitAppraisal
SubmitAppraisal
200008
200010
SubmitAppraisal
200011
SubmitAppraisal
SubmitAppraisal
SubmitAppraisal
SubmitAppraisal
SubmitAppraisal
SubmitAppraisal
200012
200013
200014
200015
200016
200019
SubmitAppraisal
200022
SubmitAppraisal
SubmitAppraisal
SubmitAppraisal
SubmitAppraisal
SubmitAppraisal
200023
200024
200025
200026
200030
SubmitAppraisal
SubmitAppraisal
200031
200032
Comments
The SubmitAppraisal request is
successful, but you must use the
GetFindings service to determine
whether your submission was
processed successfully.
SubmitAppraisal
200033
SubmitAppraisal
200034
SubmitAppraisal
SubmitAppraisal
200035
200036
SubmitAppraisal
SubmitAppraisal
SubmitAppraisal
SubmitAppraisal
SubmitAppraisal
200042
200043
200044
200045
300001
SubmitAppraisal
SubmitAppraisal
SubmitAppraisal
300002
300003
300004
SubmitAppraisal
SubmitAppraisal
SubmitAppraisal
SubmitAppraisal
SubmitAppraisal
SubmitAppraisal
300005
300006
300007
300008
300009
300010
SubmitAppraisal
SubmitAppraisal
300011
300012
GetFindings/GetFindingsWait
GetFindings/GetFindingsWait
GetFindings/GetFindingsWait
GetFindings/GetFindingsWait
210001
210002
210007
GetFindings/GetFindingsWait
GetFindings/GetFindingsWait
GetFindings/GetFindingsWait
210009
210010
210011
The
GetFindings/GetFindingsWait
request is successful, but check
the RECIPIENT_STATUS
element(s) for the processing
status of your submission.
GetReports
GetReports
GetReports
GetReports
0
220001
220002
220003
GetReports
GetReports
GetReports
GetReports
220005
220006
220007
320004
Request Successful
Only one report may be specified per request.
Requested report must be provided.
Document File ID %DOCFILEID% was not found, or you do not have permission to access
it.
RETURN_SSR element contains an invalid format code.
Invalid Software Provider ID (must be 9 characters).
Software Provider ID is required, but was not provided.
RETURN_SSR element contains an invalid recipient code.
_Condition Value
_Code
Value
Status Description
GetFindings/GetFindingsWait
SUCCESSFUL
IS0000
Submission Successful
GetFindings/GetFindingsWait
GetFindings/GetFindingsWait
IS0001
IS0002
GetFindings/GetFindingsWait
IN PROGRESS
OVERRIDE
REQUESTED
NOT SUCCESSFUL
GetFindings/GetFindingsWait
NOT SUCCESSFUL
IS0004
IS0003
Comments
The submission for the specified
Document File ID has been
successfully processed for the
indicated Recipient.
_Condition
Attribute
Value
_Name
Attribute
Value
_Description
Attribute Value
_Code
Attribute
Value
ERROR
EAD
ERROR
EAD
ERROR
EAD
ERROR
EAD
ERROR
EAD
ERROR
EAD
ERROR
EAD
ERROR
EAD
10
ERROR
EAD
11
ERROR
EAD
12
ERROR
EAD
13
ERROR
EAD
14
ERROR
EAD
15
PROCESSING
SERVICE
PROCESSING
SERVICE
DONE
SERVICE
Content-Disposition
Form-data
Name
EAD_RI
The format for a Timeserver response is comprised of the following files and MIME sections:
MIME Section
Routing Output
Control Output
Content-Disposition
Form-data
Form-data
Name
EAD_RO
EAD_CO
Routing Input
Please refer to section 2.4.1 for detailed description of the Routing Input.
PRODUCT
_Name:
MONITOR
_VersionName:
ReturnEST
_VersionNumber
2.0
Example Routing Input Timeserver Service
<?xml version="1.0" encoding="UTF-8"?>
<REQUEST_GROUP>
<REQUEST RequestDateTime="2014-06-08T10:04:00-05:00" LoginAccountIdentifier="userid"
LoginAccountPassword="password">
<REQUEST_DATA>
<PRODUCT _FunctionName="ReturnEST" _Name="MONITOR" _VersionNumber="2.0">
<CONNECTION _ModeIdentifier="Synchronous"/>
</PRODUCT>
</REQUEST_DATA>
</REQUEST>
</REQUEST_GROUP>