Extension: MSP - quandis/qbo3-Documentation GitHub Wiki

The qbo.MSP plugin enables communication with BFKS's MSP platform.

MSP Configuration

To use this plugin you will need to create a service entry that invokes the MSP entitled service.

Service configuration for MSP endpoint

For this example, we will invoke MSP's FlexAccountView endpoint

From Design > Configuration > Modules, choose a module to extend with a Service entry, such as Loan. From the Services tab, add a service:

  • Name: MSPFAV
  • Return Type: XmlReader
  • Plugin Type: qbo.MSP.MSP, qbo.MSP
  • Endpoint: Soap Action based on endpoints schema FlexAccountView/v2.15/FlexAccountViewRead
  • RequestTransform: XSLT to create the outbound SOAP request; e.g.:
Templates/Mortgage/MSP/MSP.FlexAccountViewRead.Request.xslt?Element=LoanActiveStatusFlag,LoanCreditQualityPreviousCode,CurrentPaymentOutstandingBalance
  • ResponseTransform: XSLT to transform the results from MSP Templates/Mortgage/MSP/MSP.QBO.Response.xslt

Once configured, you may call Loan/MSPFAV?Output=Xml

Development

Mock

Services configured for this plugin allows for the usage of a 'Mock' parameter. When 'Mock' is defined, dummy information gets substituted for certain parts of the request, and after the request is built, the relative path value inside of Mock is used to find an xml file to return as the response instead. Serializing to JSON and everything else happens after this point.

The files to use for this are sample responses from MSP. Please feel free to add more to the project under Templates/Samples/MSP, and during a build process these files should propagate to the server for this usage.

An example value of 'Mock' using a file that exists in the project now would be Templates/Samples/MSP/FAV.xml

FlexAccountView Entitlement

MSPFAV - FlexAccountView Configuration

Configured service entry in QBO as Loan/MSPMSPFAV with:

  • Endpoint - FlexAccountView/v2.15/FlexAccountViewRead
  • RequestTransform - Templates/Mortgage/MSP/MSP.FlexAccountViewRead.Request.xslt
  • RequestTransform Parameters - Optional Element param which can be overridden by supplying Element when invoking the endpoint
  • ResponseTransform - Templates/Mortgage/MSP/MSP.QBO.Response.xslt

The Element node in RequestTransform gives you the ability to create custom views to extract different elements from MSP. A service config entry can be created for MSPFAVDetails which would have one set of elements listed giving you a detailed view into the Loan. An additional service config entry could be configured for MSPFAVDefault which would give you default related elements. This give you the ability to control the elements being accessed by different roles.

<ConfigurationEntryItem>
      <ConfigurationEntry>MSPFAV</ConfigurationEntry>
      <Source>Loan.config</Source>
      <ConfigurationType>qbo.Application.Configuration.ServiceCollection</ConfigurationType>
      <ConfigurationKey>MSPFAV</ConfigurationKey>
      <ConfigurationXml>
        <Service Name="MSPFAV" 
                 Type="qbo.MSP.MSP, qbo.MSP, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" 
                 ReturnType="XmlReader" 
                 RequestTransform="Templates/Mortgage/MSP/MSP.FlexAccountViewRead.Request.xslt?Element=LoanActiveStatusFlag,LoanCreditQualityPreviousCode,LoanCurrentYearPaymentReceivedTable,LoanDischargeDate,LoanInterestInAdvanceCode,LoanLossReserveFlatAmount,LoanLossReservePercentage" 
                 ResponseTransform="Templates/Mortgage/MSP/MSP.QBO.Response.xslt" 
                 EndPoint="FlexAccountView/v2.15/FlexAccountViewRead" 
                 Async="False" 
                 RequireStream="False" 
                 CompleteStep="False" 
                 LogData="True" 
                 Repeatable="OneActive" 
                 AllowInheritance="True" />
      </ConfigurationXml>
    </ConfigurationEntryItem>

MSPFAV Parameters

Parameter Description Required/Optional
Loan Loan number required
Element Elements submitted when invoking the endpoint will overwrite any default element listed in the service config Request Transform optional
ViewName View configured previously in MSP which will return set of elements optional

MSPFAV Request

POST /Mortgage/Loan.ashx/MSPFAV
Loan=123456789
&Element=CurrentPrincipalBalance
&Output=Xml

POST /Mortgage/Loan.ashx/MSPFAV
Loan=123456789
&Output=Xml

MSPFAV SOAP Request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="http://www.fnfis.com/services/Services-Common/FlexAccountView/2.15" xmlns:qbo="http://services.quandis.com/MSP/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soapenv:Body>
    <tns:FlexAccountViewRead>
      <RequestContext>
        <CorrelationId></CorrelationId>
        <UserCompany>Acme</UserCompany>
        <UserId>TestSystem</UserId>
        <Credentials>
          <MSPCredentialList>
            <SystemId>TestSystem</SystemId>
            <MSPCredential>
              <ClientId>123</ClientId>
              <MSPId>MWSTest</MSPId>
              <RACFId>TestUserName</RACFId>
              <RACFPassword>TestCredential</RACFPassword>
            </MSPCredential>
          </MSPCredentialList>
        </Credentials>
        <ApplicationId>123</ApplicationId>
        <Provider>TestProvier</Provider>
        <Locale>
          <ISOCountryCode>US</ISOCountryCode>
          <ISOLanguageCode>en</ISOLanguageCode>
        </Locale>
        <EchoRequestContextFlag>0</EchoRequestContextFlag>
      </RequestContext>
      <FlexAccountViewReadRq>
        <RequestBody>
          <ClientId>123</ClientId>
          <LoanNumber>0000000123</LoanNumber>
          <Element>CurrentPrincipalBalance</Element>
          <Element>CurrentPaymentOutstandingBalance</Element>
        </RequestBody>
      </FlexAccountViewReadRq>
    </tns:FlexAccountViewRead>
  </soapenv:Body>
</soapenv:Envelope>

MSPFAV MSP Response

<?xml version="1.0" encoding="utf-8"?>
<LoanCollection>
	<Results>
		<ResponseHeader>
			<Status>
				<StatusCode>Success</StatusCode>
				<ResultCode>0</ResultCode>
			</Status>
		</ResponseHeader>
		<ResponseBody>
			<ClientId>414</ClientId>
			<LoanNumber>0000107481</LoanNumber>
			<CurrentPrincipalBalance>8821.33</CurrentPrincipalBalance>
			<CurrentPaymentOutstandingBalance>8581.64</CurrentPaymentOutstandingBalance>
		</ResponseBody>
	</Results>
</LoanCollection>

LoanActivity Entitlement

MSPLoanActivity - LoanActivity Configuration

Configured service entry in QBO as Loan/MSPLoanActivity with:

  • Endpoint - LoanActivity/v1.0/LoanActivityRead
  • RequestTransform - Templates/Mortgage/MSP/MSP.LoanActivityRead.Request.xslt
  • ResponseTransform - Templates/Mortgage/MSP/MSP.QBO.Response.xslt
    <ConfigurationEntryItem>
      <ConfigurationEntry>MSPLoanActivity</ConfigurationEntry>
      <Source>Loan.config</Source>
      <ConfigurationType>qbo.Application.Configuration.ServiceCollection</ConfigurationType>
      <ConfigurationKey>MSPLoanActivity</ConfigurationKey>
      <ConfigurationXml>
        <Service Name="MSPLoanActivity" 
                 Type="qbo.MSP.MSP, qbo.MSP, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" 
                 ReturnType="XmlReader" 
                 RequestTransform="Templates/Mortgage/MSP/MSP.LoanActivityRead.Request.xslt" 
                 ResponseTransform="Templates/Mortgage/MSP/MSP.QBO.Response.xslt" 
                 EndPoint="LoanActivity/v1.0/LoanActivityRead" 
                 Async="False" 
                 RequireStream="False" 
                 CompleteStep="False"
                 LogData="True" 
                 Repeatable="OneActive" 
                 AllowInheritance="True" />
      </ConfigurationXml>
    </ConfigurationEntryItem>

MSPLoanActivity Parameters

Parameter Description Required/Optional Possible Values
Loan Loan number required
Filters Enumerated filter options. At maximum comma delimited list of 4 filters are allowed optional CustomerServiceActivity, CommentLogs, LetterWriterAndLossMitigation, Tasks, CollectionLogs

MSPLoanActivity Request

POST /Mortgage/Loan.ashx/MSPLoanActivity 
Loan=123456789
&Output=Xml

POST /Mortgage/Loan.ashx/MSPLoanActivity 
Loan=123456789
&Filters=CustomerServiceActivity,CommentLogs
&Output=Xml

MSPLoanActivity SOAP Request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.fnfis.com/services/Services-Common" xmlns:tns="http://www.fnfis.com/services/Services-Common/LoanActivityRead/1.0" xmlns:qbo="http://services.quandis.com/MSP/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<soapenv:Body>
		<ns:LoanActivityRead>
			<RequestContext>
				<CorrelationId></CorrelationId>
				<UserCompany>Acme</UserCompany>
				<UserId>TestSystem</UserId>
				<Credentials>
					<MSPCredentialList>
						<SystemId>TestSystem</SystemId>
						<MSPCredential>
							<ClientId>123</ClientId>
							<MSPId>MWSTest</MSPId>
							<RACFId>TestUserName</RACFId>
							<RACFPassword>TestCredential</RACFPassword>
						</MSPCredential>
					</MSPCredentialList>
				</Credentials>
				<ApplicationId>123</ApplicationId>
				<Provider>TestProvier</Provider>
				<Locale>
					<ISOCountryCode>US</ISOCountryCode>
					<ISOLanguageCode>en</ISOLanguageCode>
				</Locale>
				<EchoRequestContextFlag>0</EchoRequestContextFlag>
			</RequestContext>
			<LoanActivityReadRq>
				<RequestBody>
					<ClientId>123</ClientId>
					<LoanNumber>0000000123</LoanNumber>
				</RequestBody>
			</LoanActivityReadRq>
		</ns:LoanActivityRead>
	</soapenv:Body>
</soapenv:Envelope>

MSPLoanActivity MSP Response

<?xml version="1.0" encoding="utf-8"?>
<LoanCollection>
	<Results>
		<ResponseHeader>
			<Status>
				<StatusCode>Success</StatusCode>
				<ResultCode>0</ResultCode>
			</Status>
		</ResponseHeader>
		<ResponseBody>
			<ClientId>123</ClientId>
			<LoanNumber>0000000123</LoanNumber>
			<LoanActivity>
				<ActivityType>LET</ActivityType>
				<ActivityDate>2018-12-31</ActivityDate>
				<ActivityUserID>***</ActivityUserID>
				<CommentLogCode>YE018</CommentLogCode>
				<ActivityDescriptions>
					<ActivityDescription>A00 - ARMINDA O CERRUTO</ActivityDescription>
				</ActivityDescriptions>
			</LoanActivity>
			<LoanActivity>
				<ActivityType>LET</ActivityType>
				<ActivityDate>2018-07-26</ActivityDate>
				<ActivityUserID>NCI</ActivityUserID>
				<CommentLogCode>ST799</CommentLogCode>
				<ActivityDescriptions>
					<ActivityDescription>001 - ARM Adjustment LTR 07/25/18</ActivityDescription>
				</ActivityDescriptions>
			</LoanActivity>
		</ResponseBody>
	</Results>
</LoanCollection>

LoanSearch Entitlement

MSPLoanSearch - LoanSearch Configuration

Configured service entry in QBO as Loan/MSPLoanSearch with:

  • Endpoint - LoanSearch/v3.04/LoanSearchRead
  • RequestTransform - Templates/Mortgage/MSP/MSP.LoanSearchRead.Request.xslt?MultiClientSearchFlag=false&MaxReturnSize=25
  • ResponseTransform - Templates/Mortgage/MSP/MSP.QBO.Response.xslt

RequestTransform can have optional parameters:

  • MultiClientSearchFlag - Boolean flag to indicates if all all Client Numbers for the MSP customer are searched
  • MaxReturnSize - Number of rows to return. Max size is 500
    <ConfigurationEntryItem>
      <ConfigurationEntry>MSPLoanSearchRequest</ConfigurationEntry>
      <Source>Loan.config</Source>
      <ConfigurationType>qbo.Application.Configuration.ServiceCollection</ConfigurationType>
      <ConfigurationKey>MSPLoanSearchRequest</ConfigurationKey>
      <ConfigurationXml>
        <Service Name="MSPLoanSearchRequest"
                 Type="qbo.MSP.MSP, qbo.MSP, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
                 ReturnType="XmlReader"
                 RequestTransform="Templates/Mortgage/MSP/MSP.LoanSearchRead.Request.xslt?MultiClientSearchFlag=false&amp;MaxReturnSize=25"
                 ResponseTransform="Templates/Mortgage/MSP/MSP.QBO.Response.xslt"
                 EndPoint="LoanSearch/v3.04/LoanSearchRead"
                 Async="False"
                 RequireStream="False"
                 CompleteStep="False"
                 LogData="True"
                 Repeatable="OneActive"
                 AllowInheritance="True" />
      </ConfigurationXml>
    </ConfigurationEntryItem>

MSPLoanSearch Parameters

The following categories can be used to search loans in MSP

  • Borrower/CoBorrower
  • Property/Mailing/REO Addresses
  • Key Loan Identifiers
  • Credit Card Information
Parameter Search Category Description Required/Optional Possible Values
BorrowerType Borrower Type of contact being searched optional Borrower, CoBorrower, EitherBorrower
LastName Borrower Last name of borrower optional
FirstName Borrower First name of borrower optional
SSN Borrower Loan Search will not identify loans that have TIN as opposed to a SSN assigned (Max Len 16) optional
AddressType Address Type of property searched optional Mailing, Property, REO_LossMitt, PropertyOrMailing
Address Address Street number and street name portion of the property or mailing address optional
City Address City name optional
State Address State abbreviation optional
PostalCode Address Address postal code optional
Element Key Identifier Enumerated key field that will be used for searching optional LoanNumber, OldLoanNumber, PropertyTaxID,TaxServicerNumber, FHANumber, BankruptcyCaseNumber, PreExpandedLoanNumber, HELOCLoanNumber, HELOCBankAccountNumber, HazardPolicyNumber, InvestorLoanNumber, VALoanNumber, PMIGuarantyNumber, MERSMinNumber, HELOCLinkNumber, PhoneOrFaxNumber, EmailAddress
Value Key Identifier Value to search for when Element Key is used optional
CCNumber Credit Card Credit Card number search optional

MSPLoanSearch Request

POST /Mortgage/Loan.ashx/MSPLoanSearch
BorrowerType=Borrower
&LastName=SMITH
&Output=Xml

POST /Mortgage/Loan.ashx/MSPLoanSearch
BorrowerType=CoBorrower
&SSN=000112222
&Output=Xml

POST /Mortgage/Loan.ashx/MSPLoanSearch
AddressType=Property
&Address=Thomas Ave
&Output=Xml

POST /Mortgage/Loan.ashx/MSPLoanSearch
AddressType=Mailing
&Address=Thomas Ave
&City=Rancho Santa Margarita
&State=CA
&Output=Xml

POST /Mortgage/Loan.ashx/MSPLoanSearch
Element=LoanNumber
&Value=0000000123
&Output=Xml

POST /Mortgage/Loan.ashx/MSPLoanSearch
Element=PhoneOrFaxNumber
&Value=9495500000
&Output=Xml

MSPLoanSearch SOAP Request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.fnfis.com/services/Services-Common" xmlns:tns="http://www.fnfis.com/services/Services-Common/LoanSearch/3.04" xmlns:qbo="http://services.quandis.com/MSP/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<soapenv:Body>
		<tns:LoanSearchRead>
			<RequestContext>
				<CorrelationId></CorrelationId>
				<UserCompany>Acme</UserCompany>
				<UserId>TestSystem</UserId>
				<Credentials>
					<MSPCredentialList>
						<SystemId>TestSystem</SystemId>
						<MSPCredential>
							<ClientId>123</ClientId>
							<MSPId>MWSTest</MSPId>
							<RACFId>TestUserName</RACFId>
							<RACFPassword>TestCredential</RACFPassword>
						</MSPCredential>
					</MSPCredentialList>
				</Credentials>
				<ApplicationId>123</ApplicationId>
				<Provider>TestProvier</Provider>
				<Locale>
					<ISOCountryCode>US</ISOCountryCode>
					<ISOLanguageCode>en</ISOLanguageCode>
				</Locale>
				<EchoRequestContextFlag>0</EchoRequestContextFlag>
			</RequestContext>
			<LoanSearchReadRq>
				<RequestBody>
					<ClientId>123</ClientId>
					<MultiClientSearchFlag>false</MultiClientSearchFlag>
					<MaxReturnSize>25</MaxReturnSize>
					<SearchCriteria>
						<NameSearchInfo>
							<BorrowerIndicator>Borrower</BorrowerIndicator>
							<LastName>LASTY</LastName>
						</NameSearchInfo>
					</SearchCriteria>
				</RequestBody>
			</LoanSearchReadRq>
		</tns:LoanSearchRead>
	</soapenv:Body>
</soapenv:Envelope>

MSPLoanSearch MSP Response

<?xml version="1.0" encoding="utf-8"?>
<LoanCollection>
	<Results>
		<ResponseHeader>
			<Status>
				<StatusCode>Success</StatusCode>
				<ResultCode>0</ResultCode>
			</Status>
		</ResponseHeader>
		<ResponseBody>
			<RecordCount>2</RecordCount>
			<LoanSearchResults>
				<LoanSearchResult>
					<ClientId>123</ClientId>
					<LoanNumber>0000000123</LoanNumber>
					<Name>
						<BorrowerIndicator>Borrower</BorrowerIndicator>
						<LastName>LASTY</LastName>
						<FirstName>FIRSTY</FirstName>
						<MiddleName>O</MiddleName>
					</Name>
					<Address>
						<AddressType>Mailing</AddressType>
						<StreetName>111 COLD STREET</StreetName>
						<CityName>TACOMA</CityName>
						<StateAbbreviation>WA</StateAbbreviation>
						<PostalCode>98407</PostalCode>
					</Address>
					<Address>
						<AddressType>Property</AddressType>
						<StreetName>12345 DEEPWOOD CREEK DR</StreetName>
						<CityName>OKLAHOMA CITY</CityName>
						<StateAbbreviation>OK</StateAbbreviation>
						<PostalCode>73142</PostalCode>
					</Address>
				</LoanSearchResult>
				<LoanSearchResult>
					<ClientId>123</ClientId>
					<LoanNumber>0000000456</LoanNumber>
					<Name>
						<BorrowerIndicator>Borrower</BorrowerIndicator>
						<LastName>LASTY</LastName>
						<FirstName>RONALD</FirstName>
						<MiddleName>Q</MiddleName>
					</Name>
					<Name>
						<BorrowerIndicator>CoBorrower</BorrowerIndicator>
						<LastName>BLAD</LastName>
						<FirstName>OSCAR</FirstName>
					</Name>
					<Address>
						<AddressType>Mailing</AddressType>
						<StreetName>12545 SW HARVEST BERRY LNDG</StreetName>
						<CityName>SPOKANE</CityName>
						<StateAbbreviation>WA</StateAbbreviation>
						<PostalCode>99207</PostalCode>
					</Address>
					<Address>
						<AddressType>Property</AddressType>
						<StreetName>4580 NARROWS RD N</StreetName>
						<CityName>STATEN ISLAND</CityName>
						<StateAbbreviation>NY</StateAbbreviation>
						<PostalCode>10305</PostalCode>
					</Address>
				</LoanSearchResult>
			</LoanSearchResults>
		</ResponseBody>
	</Results>
</LoanCollection>

PropertyProfile Entitlement

MSPProperty - PropertyProfile Configuration

Configured service entry in QBO as Loan/MSPProperty with:

  • Endpoint - PropertyProfile/v4.0/PropertyProfileRead
  • RequestTransform - Templates/Mortgage/MSP/MSP.PropertyProfileRead.Request.xslt
  • ResponseTransform - Templates/Mortgage/MSP/MSP.QBO.Response.xslt
    <ConfigurationEntryItem>
      <ConfigurationEntry>MSPProperty</ConfigurationEntry>
      <Source>Loan.config</Source>
      <ConfigurationType>qbo.Application.Configuration.ServiceCollection</ConfigurationType>
      <ConfigurationKey>MSPProperty</ConfigurationKey>
      <ConfigurationXml>
        <Service Name="MSPProperty" 
                 Type="qbo.MSP.MSP, qbo.MSP, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" 
                 ReturnType="XmlReader" 
                 RequestTransform="Templates/Mortgage/MSP/MSP.PropertyProfileRead.Request.xslt" 
                 ResponseTransform="Templates/Mortgage/MSP/MSP.QBO.Response.xslt" 
                 EndPoint="PropertyProfile/v4.0/PropertyProfileRead" 
                 Async="False" 
                 RequireStream="False" 
                 CompleteStep="False" 
                 LogData="True" 
                 Repeatable="OneActive" 
                 AllowInheritance="True" />
      </ConfigurationXml>
    </ConfigurationEntryItem>

MSPProperty Parameters

Parameter Description Required/Optional Possible Values
Loan Loan number required
Exclude Comma delimited list of information to exlude optional ExcludePropertyAddressInfo, ExcludePropertyConditionInfo​, ExcludePropertyDwellingInfo​, ExcludePropertyFloodInfo​, ExcludePropertyLocationInfo​, ExcludePropertyOccupancyInfo​, ExcludePropertyValueInfo​, ExcludeMortgageRecordingInfo​, ExcludePropertyCondoInsuranceInfooptional

MSPProperty Request

POST /Mortgage/Loan.ashx/MSPProperty
Loan=0000000123
&Output=Xml

POST /Mortgage/Loan.ashx/MSPProperty
Loan=0000000123
&Exclude=ExcludePropertyAddressInfo,ExcludePropertyDwellingInfo
&Output=Xml

MSPProperty SOAP Request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.fnfis.com/services/Services-Common/PropertyProfile/4.0" xmlns:tns="http://www.fnfis.com/services/Services-Common/PropertyProfileRead/1.0" xmlns:qbo="http://services.quandis.com/MSP/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<soapenv:Body>
		<ns:PropertyProfileRead>
			<RequestContext>
				<CorrelationId></CorrelationId>
				<UserCompany>Acme</UserCompany>
				<UserId>TestSystem</UserId>
				<Credentials>
					<MSPCredentialList>
						<SystemId>TestSystem</SystemId>
						<MSPCredential>
							<ClientId>123</ClientId>
							<MSPId>MWSTest</MSPId>
							<RACFId>TestUserName</RACFId>
							<RACFPassword>TestCredential</RACFPassword>
						</MSPCredential>
					</MSPCredentialList>
				</Credentials>
				<ApplicationId>123</ApplicationId>
				<Provider>TestProvier</Provider>
				<Locale>
					<ISOCountryCode>US</ISOCountryCode>
					<ISOLanguageCode>en</ISOLanguageCode>
				</Locale>
				<EchoRequestContextFlag>0</EchoRequestContextFlag>
			</RequestContext>
			<PropertyProfileReadRq>
				<RequestBody>
					<ClientId>123</ClientId>
					<LoanNumber>00000123</LoanNumber>
					<ExcludePropertyAddressInfo>true</ExcludePropertyAddressInfo>
					<ExcludePropertyDwellingInfo>true</ExcludePropertyDwellingInfo>
				</RequestBody>
			</PropertyProfileReadRq>
		</ns:PropertyProfileRead>
	</soapenv:Body>
</soapenv:Envelope>

MSPProperty MSP Response

<?xml version="1.0" encoding="utf-8"?>
<LoanCollection>
	<Results>
		<ResponseHeader>
			<Status>
				<StatusCode>Success</StatusCode>
				<ResultCode>0</ResultCode>
				<InformationalMessage>-=SPOC=-                               LOAN PAST DUE   3 MONTHS</InformationalMessage>
				<InformationalMessage>30 DAYS PAST INSPECTION REQUEST</InformationalMessage>
			</Status>
		</ResponseHeader>
		<ResponseBody>
			<ClientId>123</ClientId>
			<LoanNumber>0000000123</LoanNumber>
			<PropertyFloodInfo>
				<FIRMInfo>
					<CommunityParticipationStartDate>1974-07-02</CommunityParticipationStartDate>
					<CommunityNumber>530148</CommunityNumber>
					<PanelNumber>0005</PanelNumber>
					<MapSuffixNumber>B</MapSuffixNumber>
					<PanelEffectiveDate>1983-12-01</PanelEffectiveDate>
					<ProgramType>R</ProgramType>
				</FIRMInfo>
				<LOMA_R>
					<LetterOfMapChangeCode>N</LetterOfMapChangeCode>
					<LOMADeterminationDate>2013-09-17</LOMADeterminationDate>
					<Zone>C</Zone>
					<PartialZoneCode>N</PartialZoneCode>
					<ContractType>L</ContractType>
					<ComplianceCompanyPartyID>FARET</ComplianceCompanyPartyID>
					<MappingCompany>FARET</MappingCompany>
					<MappingFeeAmount>5.00</MappingFeeAmount>
					<CertificateNumber>1309689632</CertificateNumber>
				</LOMA_R>
			</PropertyFloodInfo>
			<PropertyLocationInfo>
				<LegalDescriptions>
					<ExtendedLegalDescriptionCompleteFlag>false</ExtendedLegalDescriptionCompleteFlag>
					<PrimaryLegalDescription>
						<MultiplePropertyFlag>false</MultiplePropertyFlag>
					</PrimaryLegalDescription>
				</LegalDescriptions>
				<StateAndCountyCodesInfo>
					<IBMStateCode>46</IBMStateCode>
					<IBMCountyCode>053</IBMCountyCode>
					<IBMCityCode>0750</IBMCityCode>
					<SMSACode>8200</SMSACode>
					<SMSACensusTractCode>0006.03</SMSACensusTractCode>
					<FIPSStateCode>53</FIPSStateCode>
				</StateAndCountyCodesInfo>
			</PropertyLocationInfo>
			<PropertyOccupancyInfo>
				<OccupancyInfo>
					<CurrentOccupancyPurpose>1</CurrentOccupancyPurpose>
					<CurrentOccupancyStatus>1</CurrentOccupancyStatus>
					<MasterOccupancyStatusCode>1</MasterOccupancyStatusCode>
					<MasterOccupancyStatusCodeDescription>ORIGINAL OWNER</MasterOccupancyStatusCodeDescription>
				</OccupancyInfo>
			</PropertyOccupancyInfo>
			<PropertyValueInfo>
				<OriginalPropertyAndLandValueAmount>115000</OriginalPropertyAndLandValueAmount>
				<CurrentPropertyAndLandValueAmount>115000</CurrentPropertyAndLandValueAmount>
			</PropertyValueInfo>
		</ResponseBody>
	</Results>
</LoanCollection>

MSPPropertyUpdate - PropertyProfileUpdate Configuration

Configured service entry in QBO as Loan/MSPProperty with:

  • Endpoint - PropertyProfile/v4.0/PropertyProfileUpdate
  • RequestTransform - Templates/Mortgage/MSP/MSP.PropertyProfileUpdate.Request.xslt
  • ResponseTransform - Templates/Mortgage/MSP/MSP.QBO.Response.xslt
    <ConfigurationEntryItem>
	<ConfigurationEntry>MSPPropertyUpdate</ConfigurationEntry>
	<Source>Loan.config</Source>
	<ConfigurationType>qbo.Application.Configuration.ServiceCollection</ConfigurationType>
	<ConfigurationKey>MSPPropertyUpdate</ConfigurationKey>
	<ConfigurationXml>
		<Service Name="MSPPropertyUpdate"
                 Type="qbo.MSP.MSP, qbo.MSP, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
                 ReturnType="XmlReader"
                 RequestTransform="Templates/Mortgage/MSP/MSP.PropertyProfileUpdate.Request.xslt"
                 ResponseTransform="Templates/Mortgage/MSP/MSP.QBO.Response.xslt"
                 EndPoint="PropertyProfile/v4.0/PropertyProfileUpdate"
                 Async="False"
                 RequireStream="False"
                 CompleteStep="False"
                 LogData="True"
                 Repeatable="OneActive"
                 AllowInheritance="True" />
	</ConfigurationXml>
</ConfigurationEntryItem>

MSPPropertyUpdate Parameters

The following categories can be used when supplying parameters to update property related information

  • PropertyAddressInfo
  • PropertyDwellingInfo
  • PropertyFloodInfo
  • PropertyLocationInfo
  • PropertyOccupancyInfo
  • PropertyValueInfo
  • MortgageRecordingInfo
  • PropertyCondoInsuranceInfo
Parameter Description Required/Optional Possible Values
Loan Loan number required

PropertyAddressInfo Parameters

Parameter Description Required/Optional Possible Values
PropertyAddressInfo.HouseNumber House number for the property address optional
PropertyAddressInfo.StreetDirectionPrefix Street direction optional
PropertyAddressInfo.StreetName Street name of property address optional
PropertyAddressInfo.CityName City of property address optional
PropertyAddressInfo.StateAbbreviation 2 char state abbreviation optional
PropertyAddressInfo.UnitID Unit identification for property optional
PropertyAddressInfo.PostalCode Zip code for property optional
PropertyAddressInfo.PostalCodeSuffix Zip suffix code of the property optional

PropertyDwellingInfo Parameters

Parameter Description Required/Optional Possible Values
PropertyDwellingInfo.Types.YearBuilt Year property was built optional
PropertyDwellingInfo.Types.DevelopmentType optional
PropertyDwellingInfo.Types.OwnerType Code indicating the type of ownership for the property, such as fee simple, leasehold and installment contract optional
PropertyDwellingInfo.Types.PropertyType optional
PropertyDwellingInfo.Types.UserDefiniedProperty Client-defined code indicating the type of property securing the loan (max len 3) optional
PropertyDwellingInfo.Types.FNMAProjectType optional

PropertyFloodInfo Parameters

Parameter Description Required/Optional Possible Values
PropertyFloodInfo.FIRMInfo.CommunityParticipationStartDate - - -
PropertyFloodInfo.FIRMInfo.CommunityNumber - - -
PropertyFloodInfo.FIRMInfo.PanelNumber - - -
PropertyFloodInfo.FIRMInfo.MapSuffixNumber - - -
PropertyFloodInfo.FIRMInfo.PanelEffectiveDate - - -
PropertyFloodInfo.FIRMInfo.ProgramType - - -
PropertyFloodInfo.LOMA_R.LetterOfMapChangeCode - - -
PropertyFloodInfo.LOMA_R.LOMADeterminationDate - - -
PropertyFloodInfo.LOMA_R.Zone - - -
PropertyFloodInfo.LOMA_R.PartialZoneCode - - -
PropertyFloodInfo.LOMA_R.ComplianceCompanyPartyID - - -
PropertyFloodInfo.LOMA_R.OutsourcerID - - -
PropertyFloodInfo.LOMA_R.MappingCompany - - -

PropertyLocationInfo Parameters

Parameter Description Required/Optional Possible Values
PropertyLocationInfo.CommunityInfo.CRACommunityFlag Flag used to indicate whether or not the property is located in a Community Reinvestment Act (CRA) community - -
PropertyLocationInfo.CommunityInfo.LowIncomeFlag Flag used to indicate whether or not the property is located in a low income area - -
PropertyLocationInfo.CommunityInfo.ModerateIncomeFlag Flag used to indicate whether or not the property is located in a moderate income area - -
PropertyLocationInfo.CommunityInfo.SubstantiallyMinorityFlag Flag used to indicate whether or not the property is located in a substantially minority populated area. - -
PropertyLocationInfo.LegalDescriptions.ExtendedLegalDescriptionCompleteFlag Flag used to indicate whether or not the legal description is complete or not - -
PropertyLocationInfo.LegalDescriptions.MetesAndBoundsExtendedLegalDescription Metes and bounds as described in the legal documents (deed or mortgage) which secure the Note; part of a property's legal description - -
PropertyLocationInfo.LegalDescriptions.PrimaryLegalDescription.SubdivisionAndFHLMCClassDescription Name of the subdivision (as described in the legal documents (deed or mortgage) - -
PropertyLocationInfo.LegalDescriptions.PrimaryLegalDescription.LegalSection Section description as described in the legal documents (deed or mortgage) which secure the Note; - -
PropertyLocationInfo.LegalDescriptions.PrimaryLegalDescription.LegalBlock Block description as described in the legal documents (deed or mortgage) which secure the Note; - -
PropertyLocationInfo.LegalDescriptions.PrimaryLegalDescription.LotNumber Lot number of the property as defined in the deed - -
PropertyLocationInfo.LegalDescriptions.PrimaryLegalDescription.MultiplePropertyFlag Flag used to indicate whether or not more than one property or parcel exists on the loan - -
PropertyLocationInfo.LegalDescriptions.PrimaryLegalDescription.ANSICode A seven digit numeric code used to identify the census-designated place - -
PropertyLocationInfo.LegalDescriptions.PrimaryLegalDescription.AdditionalLegalDescriptions - -

PropertyOccupancyInfo Parameters

Parameter Description Required/Optional Possible Values
PropertyOccupancyInfo.OccupancyInfo.OriginalOccupancyPurpose Code identifying the intended use of the property at the time the loan was closed, such as occupied, not occupied, or investment property. Do not use for loan purpose. Also known as Original Occupancy Code - -
PropertyOccupancyInfo.OccupancyInfo.OccupancyStatusDescription Description of the property occupancy status - -
PropertyOccupancyInfo.OccupancyInfo.CurrentOccupancyPurpose Code indicating the current intended use of the property, such as occupied, not occupied, or investment property - -
PropertyOccupancyInfo.OccupancyInfo.CurrentOccupancyStatus Code that indicates who is living in the property, if the property is secured or not secured, or if it is partially vacant (multi-family dwelling). - -
PropertyOccupancyInfo.OccupancyInfo.MasterOccupancyStatusCode Code used to designate the current occupancy status - -
PropertyOccupancyInfo.OccupancyInfo.MasterOccupancyStatusCodeDescription Description for the corresponding Occupancy Status Code that indicates who is living in the property, whether or not the property is secured, not secured, or if the property is partially vacant (multi-family dwelling) - -
PropertyOccupancyInfo.OccupancyInfo.OccupancyVerifiedComment Indicates how the property occupancy was verified - -
PropertyOccupancyInfo.OccupancyInfo.FirstKnownVacancyDate Date the occupants vacated the property - -
PropertyOccupancyInfo.OccupancyInfo.FirstTimeVacantCode Code used to indicate whether or not the property has been vacated for the first time - -
PropertyOccupancyInfo.OccupancyInfo.AsOfVacancyDate Date the servicer received the first report giving notice that the dwelling was vacant - -
PropertyOccupancyInfo.TenantInfo.LeasingCompanyID The name and address identifier indicating the company handling the lease. - -
PropertyOccupancyInfo.TenantInfo.LeasingCompanyName {Leasing Company Name} Name of the company administering the lease. - -
PropertyOccupancyInfo.TenantInfo.LeasingCompanyPhoneNumber Telephone number of the company administering the lease. - -
PropertyOccupancyInfo.TenantInfo.LeaseStartDate {Lease Start Date} Start date of the lease. - -
PropertyOccupancyInfo.TenantInfo.LeaseEndDate {Lease End Date} End date of the lease. - -
PropertyOccupancyInfo.TenantInfo.LeasePeriod {Lease Period} The length of the lease in days. - -
PropertyOccupancyInfo.TenantInfo.TenantID {Tenant ID} The name and address identifier for the tenant. - -
PropertyOccupancyInfo.TenantInfo.TenantName {Tenant Name} Name of the tenant. - -
PropertyOccupancyInfo.TenantInfo.TenantPhoneNumber {Tenant Telephone Number} Telephone number of the tenant. - -
PropertyOccupancyInfo.TenantInfo.TenantFollowUpDate {Tenant Follow Up Date} The date chosen to follow up on this item - -
PropertyOccupancyInfo.TenantInfo.TenantFollowUpCompletedDate {Tenant Follow Up Completed Date} Date that the follow-up was completed. - -
PropertyOccupancyInfo.TenantInfo.LeaseSecurityDepositAmount {Lease Security Deposit Amount} The amount of security deposit paid. - -
PropertyOccupancyInfo.TenantInfo.MonthlyRentAmount {Monthly Rent Amount} Amount of the monthly rent payment. - -
PropertyOccupancyInfo.TenantInfo.NextRentDueDate {Next Rent Due Date} Due date of the next rent payment. - -

PropertyValueInfo Parameters

Parameter Description Required/Optional Possible Values
PropertyValueInfo.OriginalAppraisalDate {Real Estate Owned Original Appraisal Date} Date of the appraisal done at loan origination. -
PropertyValueInfo.OriginalPropertyAndLandValueAmount {Loan Original Combined Property and Land Value Amount} Dollar amount of the combined land/structure appraisal at the time of loan origination. - -
PropertyValueInfo.OriginalLandOnlyValueAmount {Loan Original Land Value Amount} Dollar amount of the land only appraisal at the time of loan origination. - -
PropertyValueInfo.CurrentAppraisalDate {Loan Current Appraisal Date} Date of the most recent appraisal. - -
PropertyValueInfo.CurrentPropertyAndLandValueAmount {Loan Current Combined Property and Land Value Amount} Dollar amount of the most recent combined land/structure appraisal. - -
PropertyValueInfo.CurrentLandOnlyValueAmount {Loan Current Land Value Amount} Dollar amount of the most recent land only appraisal. - -

MortgageRecordingInfo Parameters

Parameter Description Required/Optional Possible Values
MortgageRecordingInfo.BookNumberRecorded - -
MortgageRecordingInfo.PageNumberRecorded - -
MortgageRecordingInfo.DateRecorded - -

MSPPropertyUpdate Request

POST /Mortgage/Loan.ashx/MSPPropertyUpdate
Loan=123456789
&PropertyAddressInfo.HouseNumber=111111
&Output=Xml

POST /Mortgage/Loan.ashx/MSPPropertyUpdate
Loan=123456789
&PropertyDwellingInfo.Types.YearBuilt=1942
&Output=Xml

POST /Mortgage/Loan.ashx/MSPPropertyUpdate
Loan=123456789
&PropertyDwellingInfo.Types.YearBuilt=1942
&PropertyAddressInfo.HouseNumber=111111
&Output=Xml

POST /Mortgage/Loan.ashx/MSPPropertyUpdate
Loan=123456789
&PropertyLocationInfo.LegalDescriptions.PrimaryLegalDescription.LotNumber=45
&Output=Xml

MSPPropertyUpdate SOAP Request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.fnfis.com/services/Services-Common/PropertyProfile/4.0" xmlns:tns="http://www.fnfis.com/services/Services-Common/PropertyProfileUpdate/1.0" xmlns:qbo="http://services.quandis.com/MSP/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<soapenv:Body>
		<ns:PropertyProfileUpdate>
			<RequestContext>
				<CorrelationId></CorrelationId>
				<UserCompany>ServiceMac</UserCompany>
				<UserId>414system1</UserId>
				<Credentials>
					<MSPCredentialList>
						<SystemId>P2</SystemId>
						<MSPCredential>
							<ClientId>414</ClientId>
							<MSPId>MWS</MSPId>
							<RACFId>STMWS</RACFId>
							<RACFPassword>mws1234@</RACFPassword>
						</MSPCredential>
					</MSPCredentialList>
				</Credentials>
				<ApplicationId>311</ApplicationId>
				<Provider>ServiceMac</Provider>
				<Locale>
					<ISOCountryCode>US</ISOCountryCode>
					<ISOLanguageCode>en</ISOLanguageCode>
				</Locale>
				<EchoRequestContextFlag>0</EchoRequestContextFlag>
			</RequestContext>
			<PropertyProfileUpdateRq>
				<RequestBody>
					<ClientId>414</ClientId>
					<LoanNumber>0000107481</LoanNumber>
					<PropertyLocationInfo>
						<LegalDescriptions>
							<PrimaryLegalDescription>
								<LotNumber>45</LotNumber>
							</PrimaryLegalDescription>
						</LegalDescriptions>
					</PropertyLocationInfo>
				</RequestBody>
			</PropertyProfileUpdateRq>
		</ns:PropertyProfileUpdate>
	</soapenv:Body>
</soapenv:Envelope>

MSPPropertyUpdate MSP Response

<LoanCollection>
	<Results>
		<ResponseHeader>
			<Status>
				<StatusCode>Success</StatusCode>
				<ResultCode>0</ResultCode>
			</Status>
		</ResponseHeader>
	</Results>
</LoanCollection>

BorrowerContact Entitlement

MSPBorrower - BorrowerContactRead Configuration

Configured service entry in QBO as Loan/MSPBorrower with:

  • Endpoint - BorrowerContact/v1.08/{RequestType}
  • RequestTransform - Templates/Mortgage/MSP/MSP.BorrowerContactRead.Request.xslt
  • ResponseTransform - Templates/Mortgage/MSP/MSP.QBO.Response.xslt

Possible Soap Action calls for MSP BorrowerContact/v1.08/{RequestType}

  • Retrieving information:
  • BorrowerContactRead
  • CoBorrowerContactRead​
  • BorrowerCoBorrowerContactRead​
  • AdditionalBorrowerContactRead​
  • ThirdPartyContactRead​
  • OtherLoanContactRead​
  • AdditionalContactInformationRead​
  • TelephoneMaintenanceHistoryRead
<ConfigurationEntryItem>
	<ConfigurationEntry>MSPBorrower</ConfigurationEntry>
	<Source>Loan.config</Source>
	<ConfigurationType>qbo.Application.Configuration.ServiceCollection</ConfigurationType>
	<ConfigurationKey>MSPBorrower</ConfigurationKey>
	<ConfigurationXml>
		<Service Name="MSPBorrower"
                 Type="qbo.MSP.MSP, qbo.MSP, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
                 ReturnType="XmlReader"
                 RequestTransform="Templates/Mortgage/MSP/MSP.BorrowerContactRead.Request.xslt"
                 ResponseTransform="Templates/Mortgage/MSP/MSP.QBO.Response.xslt"
                 EndPoint="BorrowerContact/v1.08/BorrowerContactRead"
                 Async="False"
                 RequireStream="False"
                 CompleteStep="False"
                 LogData="True"
                 Repeatable="OneActive"
                 AllowInheritance="True" />
	</ConfigurationXml>
</ConfigurationEntryItem>

MSPBorrower Parameters

Parameter Description Required/Optional
Loan Loan number required
RequestType Category for the type of borrower information you want returned. This ties to the SoapAction submitted to MSP required

MSPBorrower Request

POST /Mortgage/Loan.ashx/MSPBorrower
Loan=123456789
&RequestType=BorrowerContactRead
&Output=Xml

POST /Mortgage/Loan.ashx/MSPBorrower
Loan=123456789
&RequestType=ThirdPartyContactRead
&Output=Xml

MSPBorrower SOAP Request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="http://www.fnfis.com/services/Services-Common/BorrowerContact/1.08" xmlns:qbo="http://services.quandis.com/MSP/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<soapenv:Body>
		<tns:BorrowerContactRead>
			<RequestContext>
				<CorrelationId></CorrelationId>
				<UserCompany>Acme</UserCompany>
				<UserId>TestSystem</UserId>
				<Credentials>
					<MSPCredentialList>
						<SystemId>TestSystem</SystemId>
						<MSPCredential>
							<ClientId>123</ClientId>
							<MSPId>MWSTest</MSPId>
							<RACFId>TestUserName</RACFId>
							<RACFPassword>TestCredential</RACFPassword>
						</MSPCredential>
					</MSPCredentialList>
				</Credentials>
				<ApplicationId>123</ApplicationId>
				<Provider>TestProvier</Provider>
				<Locale>
					<ISOCountryCode>US</ISOCountryCode>
					<ISOLanguageCode>en</ISOLanguageCode>
				</Locale>
				<EchoRequestContextFlag>0</EchoRequestContextFlag>
			</RequestContext>
			<BorrowerContactReadRq>
				<RequestHeader />
				<RequestBody>
					<ClientId>123</ClientId>
					<LoanNumber>0000000123</LoanNumber>
				</RequestBody>
			</BorrowerContactReadRq>
		</tns:BorrowerContactRead>
	</soapenv:Body>
</soapenv:Envelope>

MSPBorrower Response

<?xml version="1.0" encoding="utf-8"?>
<LoanCollection>
	<Results>
		<ResponseHeader>
			<Status>
				<StatusCode>Success</StatusCode>
				<ResultCode>0</ResultCode>
			</Status>
		</ResponseHeader>
		<ResponseBody>
			<ClientId>123</ClientId>
			<LoanNumber>0000000123</LoanNumber>
			<BorrowerFullName>
				<LastOrOrganizationName>CERRUTO</LastOrOrganizationName>
				<FirstName>ARMINDA</FirstName>
				<MiddleName>O</MiddleName>
			</BorrowerFullName>
			<TelecomInfo>
				<PrimaryTelecomNumber>9496032481</PrimaryTelecomNumber>
				<SecondaryTelecomNumber>0000000000</SecondaryTelecomNumber>
				<FAXNumber>0000000000</FAXNumber>
			</TelecomInfo>
			<EmailAddress>[email protected]</EmailAddress>
			<MoveMailingToBillingAddress>true</MoveMailingToBillingAddress>
			<MailingAddress>
				<Domestic>
					<Street> 65204 S COLD PIONEER HBRS</Street>
					<CityName>TACOMA</CityName>
					<StateAbbreviation>WA</StateAbbreviation>
					<PostalCode>98407</PostalCode>
					<PostalCodeSuffix>1328</PostalCodeSuffix>
				</Domestic>
			</MailingAddress>
			<BillingAddress>
				<Domestic>
					<Street> 65204 S COLD PIONEER H</Street>
					<CityName>TACOMA</CityName>
					<StateAbbreviation>WA</StateAbbreviation>
					<PostalCode>98407</PostalCode>
				</Domestic>
			</BillingAddress>
		</ResponseBody>
	</Results>
</LoanCollection>

MortgageHistory Entitlement

MSPMortgageHistory - MortgageHistory Configuration

Configured service entry in QBO as Loan/MSPMortgageHistory with:

  • Endpoint - MortgageHistory/v3.01/MortgageHistoryRead
  • RequestTransform - Templates/Mortgage/MSP/MSP.MortgageHistoryRead.Request.xslt
  • ResponseTransform - Templates/Mortgage/MSP/MSP.QBO.Response.xslt

RequestTransform can have optional parameters:

  • ReturnZeroOrBlankActivityDetails - Not an MSP data element only in the Service, defaults to False. If set to true all elements are returned regardless of the value which is to be returned. May cause extremely slow response.
  • HistoryRowsRequested - The number of history transactions rows to be returned for a request. If input the value must be even multiples of 50. If it is not input then up to 1500 transactions for the loan will be returned. Valid values are 50 - 1500 in multiples of 50.
<ConfigurationEntryItem>
	<ConfigurationEntry>MSPMortgageHistory</ConfigurationEntry>
	<Source>Loan.config</Source>
	<ConfigurationType>qbo.Application.Configuration.ServiceCollection</ConfigurationType>
	<ConfigurationKey>MSPMortgageHistory</ConfigurationKey>
	<ConfigurationXml>
		<Service Name="MSPMortgageHistory"
                 Type="qbo.MSP.MSP, qbo.MSP, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
                 ReturnType="XmlReader"
                 RequestTransform="Templates/Mortgage/MSP/MSP.MortgageHistoryRead.Request.xslt?HistoryRowsRequested=50"
                 ResponseTransform="Templates/Mortgage/MSP/MSP.QBO.Response.xslt"
                 EndPoint="MortgageHistory/v3.01/MortgageHistoryRead"
                 Async="False"
                 RequireStream="False"
                 CompleteStep="False"
                 LogData="True"
                 Repeatable="OneActive"
                 AllowInheritance="True" />
	</ConfigurationXml>
</ConfigurationEntryItem>

MSPMortgageHistory Parameters

Parameter Description Required/Optional Possible Values
Loan Loan number required
Filters Enumerated filter options. At comma delimited list of filters optional BalanceAdjustment, CorporateAdvance, DefaultExpenses, Disbursement, Hazard, MI, NonMonetary, Payment, Payoff, Tax, TrustFunds
SelectionRange.SelectionStartDate The beginning of a date range to search, a required element if a range is entered optional
SelectionRange.SelectionStopDate The ending of a date range to search, this defaults to todays date optional

MSPMortgageHistory Request

POST /Mortgage/Loan.ashx/MSPMortgageHistory
Loan=123456789
&Output=Xml

POST /Mortgage/Loan.ashx/MSPMortgageHistory
Loan=123456789
&Filters=BalanceAdjustment,CorporateAdvance
&SelectionRange.SelectionStartDate=2019-01-01
&SelectionRange.SelectionStopDate=2019-01-25
&Output=Xml

MSPMortgageHistory SOAP Request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="http://www.fnfis.com/services/Services-Common/MortgageHistory/3.01" xmlns:qbo="http://services.quandis.com/MSP/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<soapenv:Body>
		<tns:MortgageHistoryRead>
			<RequestContext>
				<CorrelationId></CorrelationId>
				<UserCompany>Acme</UserCompany>
				<UserId>TestSystem</UserId>
				<Credentials>
					<MSPCredentialList>
						<SystemId>TestSystem</SystemId>
						<MSPCredential>
							<ClientId>123</ClientId>
							<MSPId>MWSTest</MSPId>
							<RACFId>TestUserName</RACFId>
							<RACFPassword>TestCredential</RACFPassword>
						</MSPCredential>
					</MSPCredentialList>
				</Credentials>
				<ApplicationId>123</ApplicationId>
				<Provider>TestProvier</Provider>
				<Locale>
					<ISOCountryCode>US</ISOCountryCode>
					<ISOLanguageCode>en</ISOLanguageCode>
				</Locale>
				<EchoRequestContextFlag>0</EchoRequestContextFlag>
			</RequestContext>
			<MortgageHistoryReadRq>
				<RequestBody>
					<ClientId>123</ClientId>
					<LoanNumber>0000000123</LoanNumber>
					<ActivitySelectionGroup>
						<BalanceAdjustment>true</BalanceAdjustment>
						<CorporateAdvance>true</CorporateAdvance>
					</ActivitySelectionGroup>
					<SelectionRange>
						<SelectionStartDate>2019-01-01</SelectionStartDate>
						<SelectionStopDate>2019-01-25</SelectionStopDate>
					</SelectionRange>
					<HistoryRowsRequested>50</HistoryRowsRequested>
				</RequestBody>
			</MortgageHistoryReadRq>
		</tns:MortgageHistoryRead>
	</soapenv:Body>
</soapenv:Envelope>

MSPMortgageHistory MSP Response

<?xml version="1.0" encoding="utf-8"?><LoanCollection>
	<Results>
		<ResponseHeader>
			<Status>
				<StatusCode>Success</StatusCode>
				<ResultCode>0</ResultCode>
			</Status>
		</ResponseHeader>
		<ResponseBody>
			<ClientId>123</ClientId>
			<LoanNumber>0000000123</LoanNumber>
			<TotalTransInHistory>1</TotalTransInHistory>
			<TotalTransInSelection>1</TotalTransInSelection>
			<CurrentLoanInformation>
				<HistoryOldestTranDate>2019-01-18</HistoryOldestTranDate>
				<CurrentNextDueDate>2019-01-01</CurrentNextDueDate>
				<CurrentInterestRate>0.0375000</CurrentInterestRate>
				<CurrentFirstPrincipalBalance>350275.00</CurrentFirstPrincipalBalance>
				<CurrentSecondPrincipalBalance>0.00</CurrentSecondPrincipalBalance>
				<CurrentRestrictedEscrowBalance>0.00</CurrentRestrictedEscrowBalance>
				<CurrentSuspenseBalance>0.00</CurrentSuspenseBalance>
				<CurrentEscrowReplaceResrvBalance>0.00</CurrentEscrowReplaceResrvBalance>
				<CurrentHUD_PartBalance>0.00</CurrentHUD_PartBalance>
				<NetPaymentAmount>1622.18</NetPaymentAmount>
				<CurrentPaymentStops>
					<DoNotProcessStop>0</DoNotProcessStop>
					<BadCheckStop>0</BadCheckStop>
					<PaidInFullStop>0</PaidInFullStop>
					<ForeclosureStop>0</ForeclosureStop>
					<NoNoticeStop>0</NoNoticeStop>
					<EscrowAnalysisStop>0</EscrowAnalysisStop>
					<DisbursementStop>0</DisbursementStop>
					<LateChargeStop>0</LateChargeStop>
				</CurrentPaymentStops>
			</CurrentLoanInformation>
			<ActivityDetails>
				<ActivityDetail>
					<HistoryTransactionCode>142</HistoryTransactionCode>
					<TranType>1</TranType>
					<TransactionAppliedDate>2019-01-18</TransactionAppliedDate>
					<HistoryAppliedDateSequenceNumber>1</HistoryAppliedDateSequenceNumber>
					<DueDate>2019-01-01</DueDate>
					<PrincipalPmtAmount>-350275.00</PrincipalPmtAmount>
					<UnpaidPrincipalBalance>350275.00</UnpaidPrincipalBalance>
					<Tran600SequenceNumber>00</Tran600SequenceNumber>
					<HiTypeIndicatorCode>1</HiTypeIndicatorCode>
					<SequenceNumberFromEditReport>000416167</SequenceNumberFromEditReport>
					<SuspenseReasonCode>0000</SuspenseReasonCode>
					<FirstMortgageUnpaidPrincipalBalance>350275.00</FirstMortgageUnpaidPrincipalBalance>
				</ActivityDetail>
			</ActivityDetails>
		</ResponseBody>
	</Results>
</LoanCollection>

RecurringPaymentDrafting Entitlement

MSPRecurringPaymentDrafting - RecurringPaymentDrafting Configuration

Configured service entry in QBO as Loan/MSPRecurringPaymentDrafting with:

  • Endpoint - RecurringPaymentDrafting/v2.0/RecurringPaymentDraftingRead
  • RequestTransform - Templates/Mortgage/MSP/MSP.RecurringPaymentDraftingRead.Request.xslt
  • ResponseTransform - Templates/Mortgage/MSP/MSP.QBO.Response.xslt
    <!-- MSPRecurringPaymentDrafting -->
    <ConfigurationEntryItem>
      <ConfigurationEntry>MSPRecurringPaymentDrafting</ConfigurationEntry>
      <Source>Loan.config</Source>
      <ConfigurationType>qbo.Application.Configuration.ServiceCollection</ConfigurationType>
      <ConfigurationKey>MSPRecurringPaymentDrafting</ConfigurationKey>
      <ConfigurationXml>
        <Service Name="MSPRecurringPaymentDrafting"
                 Type="qbo.MSP.MSP, qbo.MSP, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
                 ReturnType="XmlReader"
                 RequestTransform="Templates/Mortgage/MSP/MSP.RecurringPaymentDraftingRead.Request.xslt"
                 ResponseTransform="Templates/Mortgage/MSP/MSP.QBO.Response.xslt"
                 EndPoint="RecurringPaymentDrafting/v2.0/RecurringPaymentDraftingRead"
                 Async="False"
                 RequireStream="False"
                 CompleteStep="False"
                 LogData="True"
                 Repeatable="OneActive"
                 AllowInheritance="True" />
      </ConfigurationXml>
    </ConfigurationEntryItem>

MSPRecurringPaymentDrafting Parameters

Parameter Description Required/Optional Possible Values
Loan Loan number required
Filters Enumerated filter options. At maximum comma delimited list of 4 filters are allowed optional None...

MSPRecurringPaymentDrafting Request

POST /Mortgage/Loan.ashx/MSPRecurringPaymentDrafting
Loan=123456789
&CurrentPaymentDraftInformationFlag=true
&PendingPaymentDraftInformationFlag=true
&CurrentFlexibleDraftInformationFlag=true
&PreviousPaymentDraftInformationFlag=true
&PendingFlexibleDraftInformationFlag=true
&PreviousFlexibleDraftInformationFlag=true
&Output=Xml

MSPRecurringPaymentDrafting SOAP Request

 
<soapenv:Envelope
	xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
	xmlns:tns="http://www.fnfis.com/services/Services-Common/RecurringPaymentDrafting/2.0"
	xmlns:qbo="http://services.quandis.com/MSP/"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<soapenv:Body>
		<tns:RecurringPaymentDraftingRead>
			<RequestContext>
				<CorrelationId></CorrelationId>
				<UserCompany>Quandis</UserCompany>
				<UserId>TestMSPUserID</UserId>
				<Credentials>
					<MSPCredentialList>
						<SystemId>TestMSPSystemID</SystemId>
						<MSPCredential>
							<ClientId>TestMSPClientID</ClientId>
							<MSPId>TestMSPID</MSPId>
							<RACFId>x</RACFId>
							<RACFPassword>x</RACFPassword>
						</MSPCredential>
					</MSPCredentialList>
				</Credentials>
				<ApplicationId>1</ApplicationId>
				<Provider>Quandis</Provider>
				<Locale>
					<ISOCountryCode>US</ISOCountryCode>
					<ISOLanguageCode>en</ISOLanguageCode>
				</Locale>
				<EchoRequestContextFlag>0</EchoRequestContextFlag>
			</RequestContext>
			<RecurringPaymentDraftingReadRq>
				<RequestBody>
					<ClientId>TestMSPClientID</ClientId>
					<LoanNumber>123456789</LoanNumber>
					<CurrentPaymentDraftInformationFlag>true</CurrentPaymentDraftInformationFlag>
					<PendingPaymentDraftInformationFlag>true</PendingPaymentDraftInformationFlag>
					<PreviousPaymentDraftInformationFlag>true</PreviousPaymentDraftInformationFlag>
					<CurrentFlexibleDraftInformationFlag>true</CurrentFlexibleDraftInformationFlag>
					<PendingFlexibleDraftInformationFlag>true</PendingFlexibleDraftInformationFlag>
					<PreviousFlexibleDraftInformationFlag>true</PreviousFlexibleDraftInformationFlag>
				</RequestBody>
			</RecurringPaymentDraftingReadRq>
		</tns:RecurringPaymentDraftingRead>
	</soapenv:Body>
</soapenv:Envelope>

MSPRecurringPaymentDrafting MSP Response

<?xml version="1.0" encoding="utf-8"?>
<LoanCollection>
	<Results>
		<ResponseContext>
			<MessageId>ca19521f-70a4-496b-9ca6-227c0f00285a</MessageId>
			<SoftwareVersionNumber>7.0.242.5</SoftwareVersionNumber>
		</ResponseContext>
		<ResponseHeader>
			<Status>
				<StatusCode>Success</StatusCode>
				<ResultCode>0</ResultCode>
				<InformationalMessage>LOAN DUE DATE: 01/01/19  MAN CODE: E  PROCESS STOP: 0</InformationalMessage>
				<InformationalMessage>*** LOAN HAS NO PREVIOUS DRAFTING DATA ***</InformationalMessage>
			</Status>
		</ResponseHeader>
		<ResponseBody>
			<ClientId>414</ClientId>
			<LoanNumber>2000198041</LoanNumber>
			<CurrentPaymentDraftingInformation>
				<GeneralInformation>
					<DueDate>2019-01-01</DueDate>
					<BankInformation>
						<BankName>BANK NAME IS NOT AVAILABLE</BankName>
					</BankInformation>
				</GeneralInformation>
			</CurrentPaymentDraftingInformation>
			<CurrentFlexibleDraftingInformation />
			<CurrentAdditionalDraftingInformation>
				<CurrentAdditionalDraftingDetails>
					<AdditionalDueDate>2019-01-01</AdditionalDueDate>
					<AdditionalDraftActionCode>A</AdditionalDraftActionCode>
					<AdditionalDraftBankingInformation />
				</CurrentAdditionalDraftingDetails>
			</CurrentAdditionalDraftingInformation>
			<PendingPaymentDraftingInformation>
				<GeneralInformation>
					<DueDate>2019-01-01</DueDate>
					<BankInformation>
						<BankName>BANK NAME IS NOT AVAILABLE</BankName>
					</BankInformation>
				</GeneralInformation>
			</PendingPaymentDraftingInformation>
			<PendingFlexibleDraftingInformation />
			<PendingAdditionalDraftingInformation>
				<PendingAdditionalDraftingDetails>
					<AdditionalDueDate>2019-01-01</AdditionalDueDate>
					<AdditionalDraftActionCode>A</AdditionalDraftActionCode>
					<AdditionalDraftBankingInformation />
				</PendingAdditionalDraftingDetails>
			</PendingAdditionalDraftingInformation>
		</ResponseBody>
	</Results>
</LoanCollection>

MSPRecurringPaymentDrafting - RecurringPaymentDraftingDelete Configuration

Configured service entry in QBO as Loan/MSPRecurringPaymentDraftingDelete with:

  • Endpoint - RecurringPaymentDrafting/v2.0/RecurringPaymentDraftingDelete
  • RequestTransform - Templates/Mortgage/MSP/MSP.RecurringPaymentDraftingDelete.Request.xslt
  • ResponseTransform - Templates/Mortgage/MSP/MSP.QBO.Response.xslt
    <!-- MSPRecurringPaymentDraftingDelete -->
    <ConfigurationEntryItem>
      <ConfigurationEntry>MSPRecurringPaymentDraftingDelete</ConfigurationEntry>
      <Source>Loan.config</Source>
      <ConfigurationType>qbo.Application.Configuration.ServiceCollection</ConfigurationType>
      <ConfigurationKey>MSPRecurringPaymentDraftingUpdate</ConfigurationKey>
      <ConfigurationXml>
        <Service Name="MSPRecurringPaymentDraftingDelete"
                 Type="qbo.MSP.MSP, qbo.MSP, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
                 ReturnType="XmlReader"
                 RequestTransform="Templates/Mortgage/MSP/MSP.RecurringPaymentDraftingDelete.Request.xslt"
                 ResponseTransform="Templates/Mortgage/MSP/MSP.QBO.Response.xslt"
                 EndPoint="RecurringPaymentDrafting/v2.0/RecurringPaymentDraftingDelete"
                 Async="False"
                 RequireStream="False"
                 CompleteStep="False"
                 LogData="True"
                 Repeatable="OneActive"
                 AllowInheritance="True" />
      </ConfigurationXml>
    </ConfigurationEntryItem>

MSPRecurringPaymentDraftingDelete Parameters

Parameter Description Required/Optional Possible Values
Loan Loan number required

MSPRecurringPaymentDraftingDelete Request

POST /Mortgage/Loan.ashx/MSPRecurringPaymentDraftingDelete
Loan=123456789
&GroupCode=U12
&CurrentPaymentDraftInformationFlag=true
&PendingPaymentDraftInformationFlag=true
&DraftCancellationReasonCode=AA
&Output=Xml

MSPRecurringPaymentDraftingDelete SOAP Request

 
<soapenv:Envelope
	xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
	xmlns:tns="http://www.fnfis.com/services/Services-Common/RecurringPaymentDrafting/2.0"
	xmlns:qbo="http://services.quandis.com/MSP/"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<soapenv:Body>
		<tns:RecurringPaymentDraftingDelete>
			<RequestContext>
				<CorrelationId></CorrelationId>
				<UserCompany>Quandis</UserCompany>
				<UserId>TestMSPUserID</UserId>
				<Credentials>
					<MSPCredentialList>
						<SystemId>TestMSPSystemID</SystemId>
						<MSPCredential>
							<ClientId>TestMSPClientID</ClientId>
							<MSPId>TestMSPID</MSPId>
							<RACFId>x</RACFId>
							<RACFPassword>x</RACFPassword>
						</MSPCredential>
					</MSPCredentialList>
				</Credentials>
				<ApplicationId>1</ApplicationId>
				<Provider>Quandis</Provider>
				<Locale>
					<ISOCountryCode>US</ISOCountryCode>
					<ISOLanguageCode>en</ISOLanguageCode>
				</Locale>
				<EchoRequestContextFlag>0</EchoRequestContextFlag>
			</RequestContext>
			<RecurringPaymentDraftingDeleteRq>
				<RequestBody>
					<ClientId>TestMSPClientID</ClientId>
					<LoanNumber>123456789</LoanNumber>
				</RequestBody>
			</RecurringPaymentDraftingDeleteRq>
		</tns:RecurringPaymentDraftingDelete>
	</soapenv:Body>
</soapenv:Envelope>

MSPRecurringPaymentDraftingDelete MSP Response

<?xml version="1.0" encoding="utf-8"?>
<LoanCollection>
	<Results>
		<ResponseContext>
			<MessageId>6f6275ba-1752-432a-afb1-4255edfabe7d</MessageId>
			<SoftwareVersionNumber>7.0.242.5</SoftwareVersionNumber>
		</ResponseContext>
		<ResponseHeader>
			<Status>
				<StatusCode>RequestError</StatusCode>
				<ResultCode>800-0456-1038</ResultCode>
				<ErrorMessage>RPC error. Message [*** RPC ERROR - INVALID ACTION WITHOUT DELETING TODAY'S MAINTENANCE **] Return code [1001]</ErrorMessage>
				<InformationalMessage>LOAN DUE DATE: 01/01/19  MAN CODE: E  PROCESS STOP: 0</InformationalMessage>
				<InformationalMessage>*** RPC ERROR - INVALID ACTION WITHOUT DELETING TODAY'S MAINTENANCE ***</InformationalMessage>
			</Status>
		</ResponseHeader>
	</Results>
</LoanCollection>

MSPRecurringPaymentDrafting - RecurringPaymentDraftingAdd Configuration

Configured service entry in QBO as Loan/MSPRecurringPaymentDraftingAdd with:

  • Endpoint - RecurringPaymentDrafting/v2.0/RecurringPaymentDraftingAdd
  • RequestTransform - Templates/Mortgage/MSP/MSP.RecurringPaymentDraftingAdd.Request.xslt
  • ResponseTransform - Templates/Mortgage/MSP/MSP.QBO.Response.xslt
    <!-- MSPRecurringPaymentDraftingAdd -->
    <ConfigurationEntryItem>
      <ConfigurationEntry>MSPRecurringPaymentDraftingAdd</ConfigurationEntry>
      <Source>Loan.config</Source>
      <ConfigurationType>qbo.Application.Configuration.ServiceCollection</ConfigurationType>
      <ConfigurationKey>MSPRecurringPaymentDraftingAdd</ConfigurationKey>
      <ConfigurationXml>
        <Service Name="MSPRecurringPaymentDraftingAdd"
                 Type="qbo.MSP.MSP, qbo.MSP, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
                 ReturnType="XmlReader"
                 RequestTransform="Templates/Mortgage/MSP/MSP.RecurringPaymentDraftingAdd.Request.xslt"
                 ResponseTransform="Templates/Mortgage/MSP/MSP.QBO.Response.xslt"
                 EndPoint="RecurringPaymentDrafting/v2.0/RecurringPaymentDraftingAdd"
                 Async="False"
                 RequireStream="False"
                 CompleteStep="False"
                 LogData="True"
                 Repeatable="OneActive"
                 AllowInheritance="True" />
      </ConfigurationXml>
    </ConfigurationEntryItem>

MSPRecurringPaymentDraftingAdd Parameters

Parameter Description Required/Optional Possible Values
Loan Loan number required
TODO: Add other parameters

MSPRecurringPaymentDraftingAdd Request

POST /Mortgage/Loan.ashx/MSPRecurringPaymentDraftingAdd
Loan=123456789
&PendingPaymentDraftingInformation.GeneralInformation.BankInformation.TransitRoutingNumber=011600033
&PendingPaymentDraftingInformation.GeneralInformation.BankInformation.BankAccountNumber=1234567890 
&PendingPaymentDraftingInformation.GeneralInformation.BankInformation.BankAccountName=TestBank 
&PendingPaymentDraftingInformation.GeneralInformation.BankInformation.BankAccountType=C 
&PendingPaymentDraftingInformation.GeneralInformation.DraftEffectiveDate=2019-03-01

TODO: Create full sample.

MSPRecurringPaymentDraftingAdd SOAP Request

 
  
<soapenv:Envelope
	xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
	xmlns:tns="http://www.fnfis.com/services/Services-Common/RecurringPaymentDrafting/2.0"
	xmlns:qbo="http://services.quandis.com/MSP/"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<soapenv:Body>
		<tns:RecurringPaymentDraftingAdd>
			<RequestContext>
				<CorrelationId></CorrelationId>
				<UserCompany>Quandis</UserCompany>
				<UserId>TestMSPUserID</UserId>
				<Credentials>
					<MSPCredentialList>
						<SystemId>TestMSPSystemID</SystemId>
						<MSPCredential>
							<ClientId>TestMSPClientID</ClientId>
							<MSPId>TestMSPID</MSPId>
							<RACFId>x</RACFId>
							<RACFPassword>x</RACFPassword>
						</MSPCredential>
					</MSPCredentialList>
				</Credentials>
				<ApplicationId>1</ApplicationId>
				<Provider>Quandis</Provider>
				<Locale>
					<ISOCountryCode>US</ISOCountryCode>
					<ISOLanguageCode>en</ISOLanguageCode>
				</Locale>
				<EchoRequestContextFlag>0</EchoRequestContextFlag>
			</RequestContext>
			<RecurringPaymentDraftingAddRq>
				<RequestBody>
					<ClientId>TestMSPClientID</ClientId>
					<LoanNumber>123456789</LoanNumber>
					<PendingPaymentDraftingInformation>
						<GeneralInformation>
							<BankInformation>
								<TransitRoutingNumber>011600033</TransitRoutingNumber>
								<BankAccountNumber>1234567890</BankAccountNumber>
								<BankAccountName>TestBank</BankAccountName>
								<BankAccountType>C</BankAccountType>
							</BankInformation>
							<DraftEffectiveDate>2019-03-01</DraftEffectiveDate>
						</GeneralInformation>
					</PendingPaymentDraftingInformation>
				</RequestBody>
			</RecurringPaymentDraftingAddRq>
		</tns:RecurringPaymentDraftingAdd>
	</soapenv:Body>
</soapenv:Envelope>

MSPRecurringPaymentDraftingAdd MSP Response

TODO: Populate Example

MSPRecurringPaymentDrafting - RecurringPaymentDraftingUpdate Configuration

Configured service entry in QBO as Loan/MSPRecurringPaymentDraftingUpdate with:

  • Endpoint - RecurringPaymentDrafting/v2.0/RecurringPaymentDraftingUpdate
  • RequestTransform - Templates/Mortgage/MSP/MSP.RecurringPaymentDraftingUpdate.Request.xslt
  • ResponseTransform - Templates/Mortgage/MSP/MSP.QBO.Response.xslt
    <!-- MSPRecurringPaymentDraftingUpdate -->
    <ConfigurationEntryItem>
      <ConfigurationEntry>MSPRecurringPaymentDraftingUpdate</ConfigurationEntry>
      <Source>Loan.config</Source>
      <ConfigurationType>qbo.Application.Configuration.ServiceCollection</ConfigurationType>
      <ConfigurationKey>MSPRecurringPaymentDraftingUpdate</ConfigurationKey>
      <ConfigurationXml>
        <Service Name="MSPRecurringPaymentDraftingUpdate"
                 Type="qbo.MSP.MSP, qbo.MSP, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
                 ReturnType="XmlReader"
                 RequestTransform="Templates/Mortgage/MSP/MSP.RecurringPaymentDraftingUpdate.Request.xslt"
                 ResponseTransform="Templates/Mortgage/MSP/MSP.QBO.Response.xslt"
                 EndPoint="RecurringPaymentDrafting/v2.0/RecurringPaymentDraftingUpdate"
                 Async="False"
                 RequireStream="False"
                 CompleteStep="False"
                 LogData="True"
                 Repeatable="OneActive"
                 AllowInheritance="True" />
      </ConfigurationXml>
    </ConfigurationEntryItem>

MSPRecurringPaymentDraftingUpdate Parameters

Parameter Description Required/Optional Possible Values
Loan Loan number required
TODO: Add other parameters

MSPRecurringPaymentDraftingUpdate Request

POST /Mortgage/Loan.ashx/MSPRecurringPaymentDraftingAdd
Loan=123456789
&PendingPaymentDraftingInformation.GeneralInformation.BankInformation.TransitRoutingNumber=011600033
&PendingPaymentDraftingInformation.GeneralInformation.BankInformation.BankAccountNumber=1234567890
&PendingPaymentDraftingInformation.GeneralInformation.BankInformation.BankAccountName=TestBank
&PendingPaymentDraftingInformation.GeneralInformation.BankInformation.BankAccountType=C
&PendingPaymentDraftingInformation.GeneralInformation.DraftEffectiveDate=2019-08-01
&PendingPaymentDraftingInformation.GeneralInformation.PrintLetterOverrideFlag=true
&PendingPaymentDraftingInformation.GeneralInformation.PreNoteDate=2019-07-01
&PendingPaymentDraftingInformation.GeneralInformation.DraftType=M
&PendingPaymentDraftingInformation.GeneralInformation.GroupCode=U12

TODO: Create full sample.

MSPRecurringPaymentDraftingUpdate SOAP Request

 
  
  
<soapenv:Envelope
	xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
	xmlns:tns="http://www.fnfis.com/services/Services-Common/RecurringPaymentDrafting/2.0"
	xmlns:qbo="http://services.quandis.com/MSP/"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<soapenv:Body>
		<tns:RecurringPaymentDraftingUpdate>
			<RequestContext>
				<CorrelationId></CorrelationId>
				<UserCompany>Quandis</UserCompany>
				<UserId>TestMSPUserID</UserId>
				<Credentials>
					<MSPCredentialList>
						<SystemId>TestMSPSystemID</SystemId>
						<MSPCredential>
							<ClientId>TestMSPClientID</ClientId>
							<MSPId>TestMSPID</MSPId>
							<RACFId>x</RACFId>
							<RACFPassword>x</RACFPassword>
						</MSPCredential>
					</MSPCredentialList>
				</Credentials>
				<ApplicationId>1</ApplicationId>
				<Provider>Quandis</Provider>
				<Locale>
					<ISOCountryCode>US</ISOCountryCode>
					<ISOLanguageCode>en</ISOLanguageCode>
				</Locale>
				<EchoRequestContextFlag>0</EchoRequestContextFlag>
			</RequestContext>
			<RecurringPaymentDraftingUpdateRq>
				<RequestBody>
					<ClientId>TestMSPClientID</ClientId>
					<LoanNumber>123456789</LoanNumber>
					<PendingPaymentDraftingInformation>
						<GeneralInformation>
							<GroupCode>U12</GroupCode>
							<BankInformation>
								<TransitRoutingNumber>011600033</TransitRoutingNumber>
								<BankAccountNumber>1234567890</BankAccountNumber>
								<BankAccountName>TestBank</BankAccountName>
								<BankAccountType>C</BankAccountType>
							</BankInformation>
							<PrintLetterOverrideFlag>true</PrintLetterOverrideFlag>
							<DraftEffectiveDate>2019-08-01</DraftEffectiveDate>
							<PreNoteDate>2019-07-01</PreNoteDate>
							<DraftType>M</DraftType>
						</GeneralInformation>
					</PendingPaymentDraftingInformation>
				</RequestBody>
			</RecurringPaymentDraftingUpdateRq>
		</tns:RecurringPaymentDraftingUpdate>
	</soapenv:Body>
</soapenv:Envelope>

MSPRecurringPaymentDraftingUpdate MSP Response

TODO: Populate Example

## MilitaryServiceRelief Entitlement
### MSPMilitaryServiceRelief - MilitaryServiceRelief Configuration

Configured service entry in QBO as Loan/MSPMilitaryServiceRelief with: 
* Endpoint - MilitaryServiceRelief/v1.02/MilitaryServiceReliefRead
* RequestTransform - Templates/Mortgage/MSP/MSP.MilitaryServiceReliefRead.Request.xslt
* ResponseTransform - Templates/Mortgage/MSP/MSP.QBO.Response.xslt     


``` xml
    <ConfigurationEntryItem>
      <ConfigurationEntry>MSPMilitaryServiceRelief</ConfigurationEntry>
      <Source>Loan.config</Source>
      <ConfigurationType>qbo.Application.Configuration.ServiceCollection</ConfigurationType>
      <ConfigurationKey>MSPMilitaryServiceRelief</ConfigurationKey>
      <ConfigurationXml>
        <Service Name="MSPMilitaryServiceRelief" 
                 Type="qbo.MSP.MSP, qbo.MSP, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" 
                 ReturnType="XmlReader" 
                 RequestTransform="Templates/Mortgage/MSP/MSP.MilitaryServiceReliefRead.Request.xslt" 
                 ResponseTransform="Templates/Mortgage/MSP/MSP.QBO.Response.xslt" 
                 EndPoint="MilitaryServiceRelief/v1.02/MilitaryServiceReliefRead" 
                 Async="False" 
                 RequireStream="False" 
                 CompleteStep="False" 
                 LogData="True" 
                 Repeatable="OneActive" 
                 AllowInheritance="True" />
      </ConfigurationXml>
    </ConfigurationEntryItem>

MSPMilitaryServiceRelief Parameters

Parameter Description Required/Optional Possible Values
Loan Loan number required

MSPMilitaryServiceRelief Request

GET /Mortgage/Loan.ashx/MSPMilitaryServiceRelief
Loan=0000000123
&Output=Xml

MSPMilitaryServiceRelief SOAP Request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.fnfis.com/services/Services-Common/MilitaryServiceRelief/4.0" xmlns:tns="http://www.fnfis.com/services/Services-Common/MilitaryServiceReliefRead/1.0" xmlns:qbo="http://services.quandis.com/MSP/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<soapenv:Body>
		<tns:MilitaryServiceReliefRead>
			<RequestContext>
				<CorrelationId></CorrelationId>
				<UserCompany>Acme</UserCompany>
				<UserId>TestSystem</UserId>
				<Credentials>
					<MSPCredentialList>
						<SystemId>TestSystem</SystemId>
						<MSPCredential>
							<ClientId>123</ClientId>
							<MSPId>MWSTest</MSPId>
							<RACFId>TestUserName</RACFId>
							<RACFPassword>TestCredential</RACFPassword>
						</MSPCredential>
					</MSPCredentialList>
				</Credentials>
				<ApplicationId>123</ApplicationId>
				<Provider>TestProvier</Provider>
				<Locale>
					<ISOCountryCode>US</ISOCountryCode>
					<ISOLanguageCode>en</ISOLanguageCode>
				</Locale>
				<EchoRequestContextFlag>0</EchoRequestContextFlag>
			</RequestContext>
			<MilitaryServiceReliefReadRq>
				<RequestBody>
					<ClientId>123</ClientId>
					<LoanNumber>00000123</LoanNumber>
				</RequestBody>
			</MilitaryServiceReliefReadRq>
		</tns:MilitaryServiceReliefRead>
	</soapenv:Body>
</soapenv:Envelope>

MSPMilitaryServiceRelief MSP Response

<?xml version="1.0" encoding="utf-8"?>
<LoanCollection>
	...
</LoanCollection>

MSPMilitaryServiceReliefUpdate - MilitaryServiceReliefUpdate Configuration

Configured service entry in QBO as Loan/MSPProperty with:

  • Endpoint - MilitaryServiceRelief/v1.02/MilitaryServiceReliefUpdate
  • RequestTransform - Templates/Mortgage/MSP/MSP.MilitaryServiceReliefUpdate.Request.xslt
  • ResponseTransform - Templates/Mortgage/MSP/MSP.QBO.Response.xslt
    <ConfigurationEntryItem>
	<ConfigurationEntry>MSPMilitaryServiceReliefUpdate</ConfigurationEntry>
	<Source>Loan.config</Source>
	<ConfigurationType>qbo.Application.Configuration.ServiceCollection</ConfigurationType>
	<ConfigurationKey>MSPMilitaryServiceReliefUpdate</ConfigurationKey>
	<ConfigurationXml>
		<Service Name="MSPMilitaryServiceReliefUpdate"
                 Type="qbo.MSP.MSP, qbo.MSP, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
                 ReturnType="XmlReader"
                 RequestTransform="Templates/Mortgage/MSP/MSP.MilitaryServiceReliefUpdate.Request.xslt"
                 ResponseTransform="Templates/Mortgage/MSP/MSP.QBO.Response.xslt"
                 EndPoint="MilitaryServiceRelief/v1.02/MilitaryServiceReliefUpdate"
                 Async="False"
                 RequireStream="False"
                 CompleteStep="False"
                 LogData="True"
                 Repeatable="OneActive"
                 AllowInheritance="True" />
	</ConfigurationXml>
</ConfigurationEntryItem>

MSPMilitaryServiceReliefUpdate Parameters

The following categories can be used when supplying parameters to update military related information

  • ServiceMemberInformation
  • DepartmentOfDefenseData
  • PersonInMilitary
Parameter Description Required/Optional Possible Values
Loan Loan number required

ServiceMemberInformation Parameters

Parameter Description Required/Optional Possible Values
ServiceMemberInformation.TypeOfService
ServiceMemberInformation.BranchOfService
ServiceMemberInformation.ActiveMilitaryDates.ActiveBeginDate
ServiceMemberInformation.ActiveMilitaryDates.ActiveEndDate

DepartmentOfDefenseData Parameters

Parameter Description Required/Optional Possible Values
DepartmentOfDefenseData.DMDCSequenceNumber
DepartmentOfDefenseData.DMDCValidationDate
DepartmentOfDefenseData.DMDCFullName.LastName
DepartmentOfDefenseData.DMDCFullName.FirstName
DepartmentOfDefenseData.DMDCFullName.MiddleName
DepartmentOfDefenseData.DMDCActiveBeginDate
DepartmentOfDefenseData.DMDCActiveStatusCode1
DepartmentOfDefenseData.DMDCServiceAgencyName
DepartmentOfDefenseData.DMDCStatusCode

PersonInMilitary Parameters

Parameter Description Required/Optional Possible Values
PersonInMilitary.PIMSequenceNumber - - -
PersonInMilitary.PIMID - - -
PersonInMilitary.PIMFullName.LastName - - -
PersonInMilitary.PIMFullName.FirstName - - -
PersonInMilitary.PIMFullName.MiddleName - - -

MSPMilitaryServiceReliefUpdate Request

POST /Mortgage/Loan.ashx/MSPMilitaryServiceReliefUpdate
Loan=123456789
&ServiceMemberInformation.TypeOfService=AM
&ServiceMemberInformation.BranchOfService=Army
&ServiceMemberInformation.ActiveMilitaryDates.ActiveBeginDate=2019-01-05
&ServiceMemberInformation.ActiveMilitaryDates.ActiveEndDate=2022-07-13
&DepartmentOfDefenseData.DMDCSequenceNumber=01
&DepartmentOfDefenseData.DMDCValidationDate=2019-04-16
&DepartmentOfDefenseData.DMDCFullName.LastName=Smith
&DepartmentOfDefenseData.DMDCFullName.FirstName=Leonardo
&DepartmentOfDefenseData.DMDCFullName.MiddleName=I
&DepartmentOfDefenseData.DMDCActiveBeginDate=2019-01-12
&DepartmentOfDefenseData.DMDCActiveStatusCode1=X
&DepartmentOfDefenseData.DMDCServiceAgencyName=Army
&DepartmentOfDefenseData.DMDCStatusCode=01
&PersonInMilitary.PIMSequenceNumber=01
&PersonInMilitary.PIMID=M
&PersonInMilitary.PIMFullName.LastName=Smith
&PersonInMilitary.PIMFullName.FirstName=Leonardo
&PersonInMilitary.PIMFullName.MiddleName=I
&Output=Xml

MSPMilitaryServiceReliefUpdate SOAP Request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.fnfis.com/services/Services-Common/MilitaryServiceRelief/4.0" xmlns:tns="http://www.fnfis.com/services/Services-Common/MilitaryServiceReliefUpdate/1.0" xmlns:qbo="http://services.quandis.com/MSP/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<soapenv:Body>
		<tns:MilitaryServiceReliefUpdate>
			<RequestContext>
				<CorrelationId></CorrelationId>
				<UserCompany>ServiceMac</UserCompany>
				<UserId>414system1</UserId>
				<Credentials>
					<MSPCredentialList>
						<SystemId>TestSystem</SystemId>
						<MSPCredential>
							<ClientId>123</ClientId>
							<MSPId>MWSTest</MSPId>
							<RACFId>TestUserName</RACFId>
							<RACFPassword>TestCredential</RACFPassword>
						</MSPCredential>
					</MSPCredentialList>
				</Credentials>
				<ApplicationId>123</ApplicationId>
				<Provider>TestProvier</Provider>
				<Locale>
					<ISOCountryCode>US</ISOCountryCode>
					<ISOLanguageCode>en</ISOLanguageCode>
				</Locale>
				<EchoRequestContextFlag>0</EchoRequestContextFlag>
			</RequestContext>
			<MilitaryServiceReliefUpdateRq>
				<RequestBody>
					<ClientId>123</ClientId>
					<LoanNumber>100000006</LoanNumber>
					<ServiceMemberInformation>
						<TypeOfService>AM</TypeOfService>
						<BranchOfService>Army</BranchOfService>
						<ActiveMilitaryDates>
							<ActiveBeginDate>2019-01-05</ActiveBeginDate>
							<ActiveEndDate>2022-07-05</ActiveEndDate>
						</ActiveMilitaryDates>
					</ServiceMemberInformation>
					<DepartmentOfDefenseData>
						<DMDCSequenceNumber>01</DMDCSequenceNumber>
						<DMDCValidationDate>2019-04-15</DMDCValidationDate>
						<DMDCFullName>
							<LastName>LEAS</LastName>
							<FirstName>LEONARDO</FirstName>
							<MiddleName>I</MiddleName>
						</DMDCFullName>
						<DMDCActiveBeginDate>2019-01-12</DMDCActiveBeginDate>
						<DMDCActiveStatusCode1>X</DMDCActiveStatusCode1>
						<DMDCServiceAgencyName>Army</DMDCServiceAgencyName>
						<DMDCStatusCode>01</DMDCStatusCode>
					</DepartmentOfDefenseData>
					<PersonInMilitary>
						<PIMSequenceNumber>01</PIMSequenceNumber>
						<PIMID>M</PIMID>
						<PIMFullName>
							<LastName>LEAS</LastName>
							<FirstName>LEONARDO</FirstName>
							<MiddleName>I</MiddleName>
						</PIMFullName>
					</PersonInMilitary>
				</RequestBody>
			</MilitaryServiceReliefUpdateRq>
		</tns:MilitaryServiceReliefUpdate>
	</soapenv:Body>
</soapenv:Envelope>

MSPMilitaryServiceReliefUpdate MSP Response

<LoanCollection>
    <Results>
        <ResponseContext>
            <MessageId>10fcb03c-7f81-4425-b511-921ae6319f59</MessageId>
            <SoftwareVersionNumber>7.0.243.2</SoftwareVersionNumber>
        </ResponseContext>
        <ResponseHeader>
            <Status>
                <StatusCode>Success</StatusCode>
                <ResultCode>0</ResultCode>
            </Status>
        </ResponseHeader>
        <ResponseBody>
            <ClientId>123</ClientId>
            <LoanNumber>100000006</LoanNumber>
            <ServiceMemberInformation>
                <MilitaryStatusCode>F</MilitaryStatusCode>
                <LastUpdatedByUser>MWS</LastUpdatedByUser>
                <DateUpdated>2019-04-15</DateUpdated>
                <CurrentMSRate>6.00000</CurrentMSRate>
                <TypeOfService>AM</TypeOfService>
                <BranchOfService>ARMY</BranchOfService>
                <ActiveMilitaryDates>
                    <ActiveBeginDate>2019-01-05</ActiveBeginDate>
                    <ActiveEndDate>2022-07-05</ActiveEndDate>
                </ActiveMilitaryDates>
            </ServiceMemberInformation>
            <DateInformation2 />
            <DepartmentOfDefenseData>
                <DMDCSequenceNumber>01</DMDCSequenceNumber>
                <DMDCValidationDate>2019-04-15</DMDCValidationDate>
                <DMDCFullName>
                    <LastName>LEAS</LastName>
                    <FirstName>LEONARDO</FirstName>
                    <MiddleName>I</MiddleName>
                </DMDCFullName>
                <DMDCActiveBeginDate>2019-01-12</DMDCActiveBeginDate>
                <DMDCActiveStatusCode1>X</DMDCActiveStatusCode1>
                <DMDCServiceAgencyName>ARMY</DMDCServiceAgencyName>
                <DMDCStatusCode>01</DMDCStatusCode>
            </DepartmentOfDefenseData>
            <PersonInMilitary>
                <PIMSequenceNumber>01</PIMSequenceNumber>
                <PIMID>M</PIMID>
                <PIMFullName>
                    <LastName>LEAS</LastName>
                    <FirstName>LEONARDO</FirstName>
                    <MiddleName>I</MiddleName>
                </PIMFullName>
            </PersonInMilitary>
            <PersonInMilitary>
                <PIMSequenceNumber>02</PIMSequenceNumber>
            </PersonInMilitary>
            <PersonInMilitary>
                <PIMSequenceNumber>03</PIMSequenceNumber>
            </PersonInMilitary>
        </ResponseBody>
    </Results>
</LoanCollection>
⚠️ **GitHub.com Fallback** ⚠️