This is an old revision of the document!
Web Service: submitterRequest
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.)
Your user credentials allow the backend web service to ensure that your user request is properly assigned to your organzation.
Request Endpoint
Method | URL |
---|---|
POST | https://apex-prd.certna.org/APEX/Service/APEXPublicServer.svc/submitterRequest |
Request Body
This endpoint accepts request parameters using an text/plain format. (They are part of the endpoint URL)
Request Headers
Key | Value |
---|---|
Content-Type | application/json |
access_token | {soft-token} |
Request Parameters
Parm Name | Req/Opt | Format | Description |
---|---|---|---|
RequestID | Required | [string] | Use 0 when calling the web service. |
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. |
Address1 | Required | [string] | Street address 1. |
Address2 | Required | [string] | Street address 2. This can be an empty string. |
City | Required | [string] | City name. |
StateName | Required | [string] | Two character state id. |
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. |
JSON Response Parameters
Parm Name | Format | Description |
---|---|---|
checksum_key | [string] | The key of the checksum record that was stored in the CeRTNA Portal. |
code | [string] | Exception conditions will result in code/message being returned. |
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.
Sample Request
Endpoint:
https://apex-prd.certna.org/APEX/Service/APEXPublicServer.svc/storechecksum
Headers:
Content-Type: application/json
Body:
{ "checksum" : "1/l1YnJ1dnWFVbjEcUfp3IkBkPb1XBWhdC34T6nJ3YB859YuAtbhUUEG8Gcwimd1" }
Sample Response
Status Code: 200
{ "checksum_key": "315E7449-1A67-44A8-BCF4-7EB43666D54D" }
OR
Status Code: 500 (When an error occurs.)
(example 1)
{ "Exception": { "Code": "DatabaseError", "Message": "Procedure or function 'spStoreChecksumValue' expects parameter '@CHECKSUM_VALUE', which was not supplied." } }
Additional Comments
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.
Comment 1:
The StoreChecksum web service requires a Base64 encoded SHA384 checksum to be provided as one of the parameters. Following is a C# / .NET sample code snippet that shows how to generate a SHA3 checksum and convert the hash to a Base64 string:
// The following strBase64DocValue value is retrieved from the DOCUMENT child node of the EMBEDDED_FILE node in the XML document. string strBase64DocValue = " SUkqALLnAAAtVZDKI+R4jhk…"; // Get your Base64 string from the XML doc. string strBase64HashValue = getBase64Hash(strBase64DocValue); // Use this value in your web service call public static string getBase64Hash(string strB64Source) { Encoding u8 = Encoding.UTF8; // We use UTF8 encoding byte[] b64Bytes = u8.GetBytes(strB64Source); // Put the Document B64 string into a byte array byte[] b64HashBytes = SHA384.Create().ComputeHash(b64Bytes); // Compute the SHA384 hash //Convert the SHA384 hash to a Base64 string string strB64Value = System.Convert.ToBase64String(b64HashBytes, 0, b64HashBytes.Length); return strB64Value; }
Comment 2: