Site Tools


guides:ws_submitterrequest

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
guides:ws_submitterrequest [2022/11/09 23:07] brett.zamoraguides:ws_submitterrequest [2024/01/12 20:53] (current) brett.zamora
Line 4: Line 4:
 The submitterRequest web service is used to send a 'new' submitter request to CeRTNA. The submitterRequest web service is used to send a 'new' submitter request to CeRTNA.
  
-As with other CeRTNA web services, you must use the login workflow to obtain a soft-token that can be used when calling the submitterRequest web service. (The Login workflow is documented in the examples shown below.)+As with other CeRTNA web services, you must use the login workflow to obtain a soft-token that can be used when calling the submitterRequest web service.
  
-Your user credentials allow the backend web service to ensure that your user request is properly assigned to your organzation.+Click this link ([[guides:ws_login|Login Workflow Example]]) to review the Login workflow.
  
 +Your user credentials allow the backend web service to ensure that your user request is properly assigned to your organization.
 +
 +This web service was updated in the CeRTNA January 2024 APEX update. It was expanded to support properties that indicate whether a MOU or COI or both will be submitted in support of this submitterRequest. Set the property values to true or  false to indicate if an MOU or COI or both should be expected to follow via the postDocument request.
 +
 +Additionally, in order to support follow-up resubmissions for requests that are in Failed or Rejected status, this web service now supports the ability for the end-user to provide a Request ID when calling the submitterRequest web service. If providing the Request ID for a resubmission (corrected issue) the current status must be in Failed or Rejected status for the request to be accepted.
  
 <color #7092be>Request Endpoint</color> <color #7092be>Request Endpoint</color>
Line 30: Line 35:
 <color #7092be>Request Parameters</color> <color #7092be>Request Parameters</color>
  
-{{tablelayout?colwidth="150px,75px,100px,275px"&rowsFixed=1&rowsVisible=10&float=center}}+{{tablelayout?colwidth="150px,75px,100px,275px"&rowsFixed=1&rowsVisible=15&float=center}}
 ^ Parm Name ^ Req/Opt ^ Format ^ Description ^ ^ Parm Name ^ Req/Opt ^ Format ^ Description ^
-| RequestID | Required | [string] | Use 0 when calling the web service. |+| RequestID | Required | [string] | Use 0 when for the intial submitterRequest or use a Request ID when re-submitting a corrected submitterRequest. Including instances where an updated MOU or COI will be provided. |
 | SubmitterTypeID | Required | [string] | Must be on of the following numeric codes: 1 (Title Company) 2 (Lender) 8 (Government) 32 (Other) | | SubmitterTypeID | Required | [string] | Must be on of the following numeric codes: 1 (Title Company) 2 (Lender) 8 (Government) 32 (Other) |
-| PrimaryName | Required | [string] | This name must be unique by Submitter Name, City, State. Please provide name in uppercase. | +| PrimaryName | Required | [string] | (Max Len: 255) This name must be unique by Submitter Name, City, State. Please provide name in uppercase. Be sure to escape this value for special characters. | 
-| Address1 | Required | [string] | Street address 1. | +| Address1 | Required | [string] | (Max Len: 100) Street address 1. Be sure to escape this value for special characters. | 
-| Address2 | Required | [string] | Street address 2. This can be an empty string. | +| Address2 | Required | [string] | (Max Len: 100) Street address 2. This can be an empty string. Be sure to escape this value for special characters. | 
-| City | Required | [string] | City name. |+| City | Required | [string] | (Max Len: 100) City name. |
 | StateName | Required | [string] | Two character state id. | | StateName | Required | [string] | Two character state id. |
 | PostalCode | Required | [string] | Zip code. 5 or 9 character. | | PostalCode | Required | [string] | Zip code. 5 or 9 character. |
 | COIExpirationDate | Required | [string] | If the SubmitterTypeID is 32 (Other) then a COI Expiration Date is required otherwise an empty string can be provided. | | COIExpirationDate | Required | [string] | If the SubmitterTypeID is 32 (Other) then a COI Expiration Date is required otherwise an empty string can be provided. |
 +| UpdateMOU | Required | [string] | Indicates if a MOU will be uploaded with the postDocument call. (true or false.) |
 +| UpdateCOI | Required | [string] | Indicates if a COI will be uploaded with the postDocument call. (true or false.) |
  
  
Line 53: Line 60:
 {{tablelayout?colwidth="125px,100px,375px"&rowsFixed=1&rowsVisible=10&float=center}} {{tablelayout?colwidth="125px,100px,375px"&rowsFixed=1&rowsVisible=10&float=center}}
 ^ Parm Name ^ Format ^ Description ^ ^ Parm Name ^ Format ^ Description ^
-checksum_key | [string] | The key of the checksum record that was stored in the CeRTNA Portal. |+result | [string] | If the submitterRequest is successfully created, the RequestID will be returned in the result property of the response. The RequestID is needed when sending along the associateed MOU and/or COI documents for the New Submitter Request. |
 | code | [string] | Exception conditions will result in code/message being returned. | | code | [string] | Exception conditions will result in code/message being returned. |
 | message | [string] | Longer description of exception condition. | | message | [string] | Longer description of exception condition. |
  
  
-As noted, any condition that results in an unsuccessful call to the StoreChecksum web service will produce a JSON formatted response with a code and message property populated. Successful calls will result in the checksum_key property being returned. The checksum_key is a required parameter of the ValidateChecksum web service.+As noted, any condition that results in an unsuccessful call to the submitterRequest web service will produce a JSON formatted response with a code and message property populated. Successful calls will result in the RequestID property being returned. The RequestID is a required parameter of the postDocument web service.
  
  
 <color #7092be>Sample Request</color> <color #7092be>Sample Request</color>
  
-**Endpoint:**+**Endpoint: (With Parameters)**
  
-<nowiki>https://apex-prd.certna.org/APEX/Service/APEXPublicServer.svc/storechecksum</nowiki>+<nowiki>https://apex-prd.certna.org/APEX/Service/APEXPublicServer.svc/submitterRequest?RequestID=0&SubmitterTypeID=32&PrimaryName=EXAMPLE PRIMARY NAME&Address1=123 EXAMPLE ST.&Address2=&City=EXAMPLE CITY&StateName=CA&PostalCode=12345&COIExpirationDate=12/25/2024&UpdateMOU=true&UpdateCOI=true</nowiki>
  
  
 **Headers:** **Headers:**
  
-Content-Type: application/json+Content-Type: application/json (For the login process) 
 + 
 +Content-Type: text/plain (For the web service call)
  
  
 **Body:** **Body:**
  
-<code json> +Body content is not required because the parameters are pass as text/plain content as part of the Endpoint URL.
-+
-  "checksum" : "1/l1YnJ1dnWFVbjEcUfp3IkBkPb1XBWhdC34T6nJ3YB859YuAtbhUUEG8Gcwimd1" +
-+
-</code> +
  
 <color #7092be>Sample Response</color> <color #7092be>Sample Response</color>
Line 89: Line 93:
 <code json> <code json>
 { {
-    "checksum_key": "315E7449-1A67-44A8-BCF4-7EB43666D54D"+    "result": "15"
 } }
 </code> </code>
Line 97: Line 101:
  
 Status Code: 500  (When an error occurs.) Status Code: 500  (When an error occurs.)
- 
- 
-(example 1) 
  
  
Line 105: Line 106:
 { {
     "Exception": {     "Exception": {
-        "Code": "DatabaseError", +        "Code": "SubmitterRequestExists", 
-        "Message": "Procedure or function 'spStoreChecksumValue' expects parameter '@CHECKSUM_VALUE'which was not supplied."+        "Message": "12|EXAMPLE PRIMARY NAME|EXAMPLE CITYCA|EXAMPLE AGENT"
     }     }
 } }
Line 114: Line 115:
 <color #7092be>Additional Comments</color> <color #7092be>Additional Comments</color>
  
-Comments and sample code are provided for reference purposes only and are not intended to show all exception handling conditions and/or completed code blocks.+Comments and sample code are provided for reference purposes only and are not intended to show production quality code or all exception handling conditions and/or completed code blocks.
  
  
 **Comment 1:** **Comment 1:**
  
-The StoreChecksum web service requires Base64 encoded SHA384 checksum to be provided as one of the parameters. +The submitterRequest web service is the first step in New Submitter Request **workflow** as documented in the following C# snippet.
-Following is a C# .NET sample code snippet that shows how to generate a SHA3 checksum and convert the hash to a Base64 string:+
  
 +It is important to note that when using the submitterRequest web service, the parameter value passed for docType must be either "MOU" or "COI". This distinguishes the submitterRequest from the updateMOUCOIRequest web service call where the docType must be "MOURequest" or "COIRequest".
  
-{{page>[:guides:sample_sha384_hash&noheader&noindent&nofooter&nouser&nodate&noeditbtn&nopermalink]}}+These docType values help the server-side processes determine where to store the uploaded PDF document. CeRTNA keeps both the original request PDF documents as well as the approved PDF documents. 
 + 
 + 
 +{{page>[:guides:sample_submitterrequest_workflow&noheader&noindent&nofooter&nouser&nodate&noeditbtn&nopermalink]}}
  
  
 **Comment 2:** **Comment 2:**
 +
 +The following C# snippet shows how to login and call the submitterRequest web service. In this example, the parameters that are being supplied to the web service are copied from the fields on WPF form.
 +
 +{{page>[:guides:sample_submitterrequest_snippet&noheader&noindent&nofooter&nouser&nodate&noeditbtn&nopermalink]}}
 +
 +
 +**Comment 3:**
 +
 +A zip file with a VisualStudio 2019, C#, .NET/WPF project is available for download. The project uses NuGet packages RestSharp (Version 106.15.0) and Newtonsoft.Json (Version 13.0.1). This project will not build with RestSharp versions later than 106 due to changes in the library.
 +
 +You do not have to build this project, the source code files can just be referenced for how to complete tasks associated with obtaining a soft-token so that the other web services can be called. The soft-token is a requirement on all the CeRTNA web services.
 +
 +**Comment 4:**
 +
 +As per the workflow snippet, CeRTNA expects that the required MOU and/or COI will be submitted as part of the workflow for creating a New Submitter Request. If the MOU and/or COI is not provide, the New Submitter Request will be rejected by CeRTNA staff.
 +
 +**Comment 5:**
 +
 +In preceding examples you will see references to objects like tbRequestID.Text or tbSubmitterTypeID.Text and names that start with 'tb'. These objects are field references on the WPF form that is part of the sample application uploaded to the Wiki. The sample application was written for the purposes of writing documentation as well as CeRTNA testing of our web services. The method that you use to supply the required properties for the web services will be dependent on your implementation. Pointing this out, simple to alleviate any confusion over where the 'tb' type variable references are coming from.
 +
 +Below is a sample of the WPF form. The fields are filled based on the workflow being tested and the button being clicked.
 +
 +
 +{{ :guides:images:ws_wpf_ui_for_reference.png |}}
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
guides/ws_submitterrequest.1668035260.txt.gz · Last modified: by brett.zamora