VMP Integration Documentation


Introduction

Mercury Network Web services allow other divisions and companies to interface with the Mercury Network programmatically.  The integration has no restrictions for platform or language.  Any platform or language that supports calling and receiving data from Web services may be used to access various features of the Mercury Network.


  Web Services

Login

The Login service verifies that the username and password submitted are valid on the Mercury Network.  Once the login is verified, a unique Session GUID is returned which must be used to call other Web services.  The session is valid for 30 minutes from the time it is created.

Usage

This Web service is called using SOAP (1.1 or 1.2), an HTTP GET, or an HTTP POST to the following URL:

https://​www.mercurynetworkapi.com/​mercuryAPI.asmx/​Login?username=string&password=string

Parameters

The following elements should be part of the URL Querystring:

Username
 — 
Mercury Network Username
Password
 — 
Password for Mercury Network Username

An XML stream is returned that looks something like this:

<?xml version="1.0" encoding="utf-8"?>
<ServiceTicket>
  <IsAuthenticated>​true​</IsAuthenticated>
  <SessionKey>​38ed57f0-849e-4dbf-9f5b-18316b038bca​</SessionKey>
  <Expiration>​2003-10-30T12:30:50.2830000-06:00​</Expiration>
  <EntityID>​965487​</EntityID>
  <SubAccounts>
    <SubAccount>
      <EntityID>​966722​</EntityID>
      <FullName>​Jane Doe​</FullName>
    </SubAccount>
  </SubAccounts>
  <FullName>​John Doe​</FullName>
</ServiceTicket>
IsAuthenticated
 — 
True if logged in, False if not
SessionKey
 — 
If logged in successfully, a unique key for that login
Expiration
 — 
Long DateTime of when SessionKey will expire

Back to top


GetVMPOrderFormFields

The GetVMPOrderFormFields Web service authenticates a Mercury Network user and returns the values for fields that use an enumerated list.

Usage

This Web service is called using SOAP (1.1 or 1.2), an HTTP GET, or an HTTP POST to the following URL:

https://​www.mercurynetworkapi.com/​mercuryAPI.asmx/​GetVMPOrderFormFields?Sessionkey=string&AppraiserID=string

Parameters

The following elements should be part of the URL Querystring:

SessionKey
 — 
Mercury Network SessionKey returned from Login Web service
AppraiserID
 — 
This value will be hardcoded for each VMP XSite

An XML stream is returned that looks something like this:

<GetVMPOrderFormFieldsResponse xmlns="http://mercuryvmp.com/">
  <GetVMPOrderFormFieldsResult>
    <RESULT xmlns="">
      <ERROR>
        <ERRORCODE/>
        <ERRORDESCRIPTION/>
      </ERROR>
      <FIELD Name="GDSTYPE">
        <VALUECOUNT>​3​</VALUECOUNT>
        <VALUES>
          <VALUE Num="1" Description="2 to 4 Unit Building">​2 to 4 Unit Building​</VALUE>
          <VALUE Num="2" Description="5+ Unit Building">​5+ Unit Building​</VALUE>
          <VALUE Num="3" Description="Apartment">​Apartment​</VALUE>
        </VALUES>
      </FIELD>
      <FIELD Name="LOANTYPE">
        <VALUECOUNT>​3​</VALUECOUNT>
        <VALUES>
          <VALUE Num="1" Description="CMHC">​CMHC​</VALUE>
          <VALUE Num="2" Description="Conventional">​Conventional​</VALUE>
          <VALUE Num="3" Description="FHA">​FHA​</VALUE>
        </VALUES>
      </FIELD>
      <FIELD Name="TYPE_OF_APPRAISAL">
        <VALUECOUNT>​3​</VALUECOUNT>
        <VALUES>
          <VALUE Num="1" Description="Uniform Residential Appraisal (FNMA 1004)">​Uniform Residential Appraisal (FNMA 1004)​</VALUE>
          <VALUE Num="2" Description="Uniform Residential Appraisal w/ REO (FNMA 1004)">​Uniform Residential Appraisal w/ REO (FNMA 1004)​</VALUE>
          <VALUE Num="3" Description="FHA Appraisal (FNMA 1004)">​FHA Appraisal(FNMA 1004)​</VALUE>
        </VALUES>
      </FIELD>
      <FIELD Name="CLIENTGROUPID">
        <VALUECOUNT>​3​</VALUECOUNT>
        <VALUES>
          <VALUE Num="1" Description="Mercury Lending">​283​</VALUE>
          <VALUE Num="2" Description="New Penn Financial, LLC">​1452​</VALUE>
          <VALUE Num="3" Description="Priority Lending">​1771​</VALUE>
        </VALUES>
      </FIELD>
      <FIELD Name="OCCUPANCYTYPE">
        <VALUECOUNT>​3​</VALUECOUNT>
        <VALUES>
          <VALUE Num="1" Description="New Construction">​New Construction​</VALUE>
          <VALUE Num="2" Description="Owner">​Owner​</VALUE>
          <VALUE Num="3" Description="Owner's Second Home">​Owner's SecondHome​</VALUE>
        </VALUES>
      </FIELD>
    </RESULT>
  </GetVMPOrderFormFieldsResult>
</GetVMPOrderFormFieldsResponse>
Error
 — 
Error details will be provided in the ErrorCode and ErrorDescription elements if unsuccessful.
ErrorCode
 — 
Error number
ErrorDescription
 — 
Error description
Field
 — 
Contains an attribute indicating which fields values are being returned
ValueCount
 — 
The number of available values for a particular field
Values
 — 
Contains a list of numbered value elements
Value
 — 
Each value for a field will be numbered and contain a description.  The Description attribute will be what can be passed in the XML for that field, while the actual value can be displayed to the end user.

Back to top


PlaceAppraisalOrderEx

The PlaceAppraisalOrder Web service allows for data to be posted via an HTTP Post.  The Web service will create an Appraisal Order on the Mercury Network and send it to the specified appraiser.

Usage

This Web service is called using SOAP (1.1 or 1.2), an HTTP GET, or an HTTP POST to the following URL:

https://​www.mercurynetworkapi.com/​mercuryAPI.asmx/​PlaceAppraisalOrderEx

Parameters

The following elements should be in a HTML form element:

SessionKey
 — 
Mercury Network SessionKey returned from Login Web service
XMLPost
 — 
XML data to be posted (Refer to PlaceAppraisalOrderEx Field List.xlsx)

An XML stream is returned that looks something like this:

<OrderResponse>
  <bResult>​true​</bResult>
  <iError>​0​</iError>
  <szError />
  <TrackingID>​555​</TrackingID>
  <TrackingNumber>​MERC‑555​</TrackingNumber>
</OrderResponse>
bResult
 — 
True if successful, False if not.  Check iError and szError for error details
iError
 — 
Error number
szError
 — 
Error description
TrackingID
 — 
Mercury Network Tracking ID used to reference order
TrackingNumber
 — 
Tracking number visible to vendor

Back to top


UpdateAppraisalStatusEx

The UpdateAppraisalStatusEx Web service provides an interface to update the status of an appraisal order.

Usage

This Web service is called using SOAP (1.1 or 1.2), an HTTP GET, or an HTTP POST to the following URL:

https://​www.mercurynetworkapi.com/​mercuryAPI.asmx/​UpdateAppraisalStatusEx

Parameters

The following elements should be in a HTML form element:

SessionKey
 — 
Mercury Network SessionKey returned from Login Web service
XMLPost
 — 
XML data to be posted (Refer to updateappraisalstatusex.dtd)

An XML stream is returned that looks something like this:

<?xml version="1.0" encoding="utf-8" ?>
<OrderResponse>
  <bResult>​true​</bResult>
  <iError>​0​</iError>
  <szError />
</OrderResponse>
bResult
 — 
True if successful, False if not.  Check iError and szError for error details
iError
 — 
Error number
szError
 — 
Error description

Back to top


GetCurrentStatusXSiteClientEx

The GetCurrentStatusXSiteClientEx Web service authenticates an XSite client and gets the most recent status for the order along with any associated documents.

Usage

This Web service is called using SOAP (1.1 or 1.2), an HTTP GET, or an HTTP POST to the following URL:

https://​www.mercurynetworkapi.com/​mercuryAPI.asmx/​UpdateAppraisalStatus?SessionKey=string&ProductItemID=string

Parameters

The following elements should be passed:

SessionKey
 — 
Mercury Network SessionKey returned from Login Web service
ProductItemID
 — 
TrackingID returned by PlaceAppraisalOrderEx web service.

An XML stream is returned that looks something like this:

<?xml version="1.0" encoding="utf-8" ?>
<CurrentStatusEx xmlns:xsd="http://​www.w3.org/​2001/​XMLSchema" xmlns:xsi="http://​www.w3.org/​2001/​XMLSchema-instance" xmlns="http://​mercuryvmp.com/">
  <Success>​true​</Success>
  <Message>​Call to GetCurrentStatus successful​</Message>
  <ProductItemID>​67993​</ProductItemID>
  <StatusID>​301000​</StatusID>
  <StatusName>​Completed​</StatusName>
  <StatusDocuments>
    <StatusDocument>
      <Type>​PDF​</Type>
      <FileName>​513OregonTrail.pdf​</FileName>
      <Base64Document>​Base64 Encoded Document​</Base64Document>
    </StatusDocument>
    <StatusDocument xsi:nil="true" />
    <StatusDocument>
      <Type>​XML​</Type>
      <FileName>​Report.xml​</FileName>
      <Base64Document>​Base64 Encoded Document​</Base64Document>
    </StatusDocument>
    <StatusDocument>
      <Type>​XML​</Type>
      <FileName>​Review.xml​</FileName>
      <Base64Document>​Base64 Encoded Document​</Base64Document>
    </StatusDocument>
    <StatusDocument xsi:nil="true" />
  </StatusDocuments>
  <StatusTime>​3/25/2010 08:42:16​</StatusTime>
</CurrentStatusEx>
Sucess
 — 
True if successful, False if not
Message
 — 
Error message, if there is one
ProductItemID
 — 
TrackingID from PlaceAppraisalOrderEx web service
StatusID
 — 
Unique ID for the current stats
StatusName
 — 
Name of the current status
Type
 — 
Type of the document
FileName
 — 
File name of the document
Base64Document
 — 
Base64 Encoded Document
StatusTime
 — 
Time that the current status was set

Back to top


GetOrderDocumentList

The GetOrderDocumentList Web service authenticates an XSite Client and gets a list of documents attached to the order.

Usage

This Web service is called using SOAP (1.1 or 1.2), an HTTP GET, or an HTTP POST to the following URL:

https://​www.mercurynetworkapi.com/​mercuryAPI.asmx/​GetOrderDocumentList?SessionKey=string&TrackingID=string

Parameters

The following elements should be passed:

SessionKey
 — 
Mercury Network SessionKey returned from Login Web service
TrackingID
 — 
TrackingID returned by PlaceAppraisalOrderEx web service.

An XML stream is returned that looks something like this:

<GetOrderDocumentListResponse xmlns="http://mercuryvmp.com/">
  <GetOrderDocumentListResult>
    <Order TrackingID="82450" TrackingNumber="401575‑83639" xmlns="">
      <ErrorMessage/>
      <StatusDocuments>
        <StatusDocument NUM="1">
          <DocumentDate>​2/17/2012 4:11:00 PM​</DocumentDate>
          <FileName>​Invoice_45449.PDF​</FileName>
          <Type>​Attached Invoice​</Type>
          <Description>​02/17/2012​</Description>
          <DocumentID>​10742​</DocumentID>
        </StatusDocument>
        <StatusDocument NUM="2">
          <DocumentDate>​2/17/2012 4:34:25 PM​</DocumentDate>
          <FileName>​SSR_FNM_2339.pdf​</FileName>
          <Type>​FNM SSR​</Type>
          <Description>​FannieMae Submission Summary Report​</Description>
          <DocumentID>​2339​</DocumentID>
        </StatusDocument>
        <StatusDocument NUM="3">
          <DocumentDate>​2/17/2012 4:34:25 PM​</DocumentDate>
          <FileName>​SSR_FRE_2339.pdf​</FileName>
          <Type>​FRE SSR​</Type>
          <Description>​FreddieMac Submission Summary Report​</Description>
          <DocumentID>​2339​</DocumentID>
        </StatusDocument>
      </StatusDocuments>
    </Order>
  </GetOrderDocumentListResult>
</GetOrderDocumentListResponse>
ErrorMessage
 — 
Error Message if there is one
StatusID
 — 
Unique ID for the current stats
StatusName
 — 
Name of the current status
StatusTime
 — 
Time that the current status was set
Message
 — 
Status Message
DocumentDate
 — 
Date document attached to the order
FileName
 — 
File name of the document
Type
 — 
Type of the document
Description
 — 
Document description
DocumentID
 — 
Unique identification number for the document

Back to top


GetOrderDocumentEx

The GetOrderDocumentEx service authenticates an XSite client and downloads attached documents.

Usage

This Web service is called using SOAP (1.1 or 1.2), an HTTP GET, or an HTTP POST to the following URL:

https://​www.mercurynetworkapi.com/​mercuryAPI.asmx/​GetOrderDocument?SessionKey=string&DocumentID=string

Parameters

The following elements should be passed:

SessionKey
 — 
Mercury Network SessionKey returned from Login Web service
DocumentID
 — 
DocumentID returned by the GetOrderDocumentList or GetOrderStatusHistoryClient web services
DocumentType
 — 
DocumentType returned by the GetOrderDocumentList Web service

An XML stream is returned that looks something like this:

<?xml version="1.0" encoding="utf-8"?>
<GetOrderDocumentExResponse xmlns="http://mercuryvmp.com/">
  <GetOrderDocumentExResult>
    <StatusDocument DocumentID="2339" xmlns="">
      <ErrorMessage/>
      <DocumentDate>​2/17/2012 4:34:25 PM​</DocumentDate>
      <FileName>​SSR_FNM_2339.pdf​</FileName>
      <Type>​FNM SSR​</Type>
      <Description>​FannieMae Submission Summary Report​</Description>
      <Base64Document>​base 64 string​</Base64Document>
      <DocFileID>​110006HH0G​</DocFileID>
    </StatusDocument>
  </GetOrderDocumentExResult>
</GetOrderDocumentExResponse>
ErrorMessage
 — 
Error Message if there is one
DocumentDate
 — 
Date document attached to the order
FileName
 — 
File name of the document
Type
 — 
Type of the document
Description
 — 
Document description
Base64Document
 — 
Base64 Encoded Document

Back to top


Doc Details

VMP Integration Documentation

  • Document 9603
  • Created: 06/25/2014 MJY

The Big Picture

This document outlines exposed .NET Web services on the Mercury Network.