The findIT S2 Service WCF Interface Quick Start Guide

 

As well as the traditional SOAP based web service described above, findIT S2 also has a WCF interface offering access to the searching functionality of the product through use of strongly typed objects, rather than the loose schema offered by the string xml inputs described above.  Integrations into certain CRM systems may be better suited to this interface.

 

The name of the Service Interface is the findITS2SearchService.svc.  It can referenced through the following URL

http://{your local domain}/findITS2Service/findITS2SearchService.svc

 

findIT S2 WCF Search Interface 

The following is a technical reference for the types and methods associated with the findIT S2 WCF Search Interface.  Where self-explanatory, descriptions have been omitted.

 

findITS2SearchService

This is the main interface that offers the core searching / comparison functionality of the product.  It offers the following 3 methods.

FindRecords(FindRecordsInput input)

This Method takes the parameters provided in the FindRecordsInput object and uses them to perform a search.  This method returns a type of FindRecordsResult.

CompareRecords(List<Record> records)

This method takes a list of record objects and compares each one to every other.  The method returns a type of CompareRecordsResult.

ParseRecords(List<Record> records)

This method takes a list of record objects and parses them. The method returns a type of ParseRecordsResult.

 

FindRecordsInput

This object is the input used for a call to the FindRecords method of the findIT S2 search service.  It contains the following properties –

List<string> SpecificDataSource

This can be used to specify specific data sources for the search to be performed on.  If left as an empty list, all data sources will be queried.

List<UniqueRefSearchInfo> UniqueRefSearches

This can be used to specify a set of unique searches to perform on the data sources.  It is possible to specify the data source, table and column name to query.  It should not be confused with the UniqueRef property of the Record object, which is not used in searching.  All unique ref searches should be configured through this property.  See the UniqueRefSearchInfo object description for more information.

Record SearchRecord

This is the record that is going to be used to perform the search.  Its properties should be filled out accordingly.  See the Record object description for more information on the properties.

 

UniqueRefSearchInfo

This object encapsulates all the information necessary for the FindRcords method to perform a unique search.  The properties are as follows –

string DataSourceID

This is simply the id of the data source to perform the unique search on.  You can only specify one data source per UniqueRefSearchInfo object.  To apply the unique search to multiple data sources, simply create multiple instances of the UniqueRefSearchInfo object to add to the FindRecordsInput object.

string TableName

This is the name of the table in the specified data source that contains the data to be queried.

string ColumnName

The name of the column in the specified table that contains the data to be queried.

string UniqueRefValue

This is the value to use when performing the unique ref query.

 

Record

This object represents a record entity – it is used both as input to query, and as output in matching results.  The properties of the Record object are as follows –

string UniqueRef

string FullName

string Salutation

string Contact

string Prefix

string LastName

string FirstNames

string Initials

string Qualification

string Suffix

string DateOfBirth

string SecondPrefix

string SecondLastName

string SecondFirstNames

string SecondInitials

string Organization

string Department

string JobTitle

string Address1

string Address2

string Address3

string Address4

string Address5

string Address6

string Address7

string Address8

string Address9

string FlatNo

string Premise

string Thoroughfare

string Town

string Region

string Postcode

string Country

string Telephone

string Fax

string Email

string Username

string Domain

string CustomField1

string CustomField2

string CustomField3

string CustomField4

string CustomField5

string CustomField6

string CustomField7

string CustomField8

string CustomField9

 

FindRecordsResult

This object holds the results of a call to FindRecords.  The properties are as follows –

bool Success

This indicates whether or not the call to the FindRecords method was successful.  If false, there will be an error message indicating what went wrong in the LastError property.

String LastError

This property contains the details of any failure that occurred in the event of the Success property being false.

List<FindRecordsResultItem> Results

This property contains the results of the call to each data source.  There will be one FindRecordsResultItem per data source specified in the input – If not data sources were specified, there will be an item for every data source in the configuration.  See the description of the FindRecordsResultItem object for more information.

int TotalTime

This property simply contains the total time (in ms) elapsed during execution of the FindRecords method call.

 

FindRecordsResultItem

This object contains the results for a particular data source in a call to the FindRecords method.  The properties are as follows –

int ResultCode

This is the result code returned as described in the main documentation.

FindRecordsInput Input

This is simply the input that was provided to the call of the FindRecords method.

string InputFields

This property holds a ‘+’ delimited list of the input fields that correspond to the match keys that were selected and used from the matchkeysettings.xml configuration file.  It is helpful in determining the keys being used to search on and tuning them accordingly.

Record NormalisedRecord

This Record object is populated with the parsed and normalised data that was provided in the input record.  For example, if the FullName property was populate on the input Record, then the API will parse out the name elements into the appropriate fields (such as prefix, first names and last name).

List<Match> Matches

This property contains a list of matches that were found in the data source in question.  For more information see the Match object description.

List<string> Warnings

This is simply a list of warnings that occurred during the search against the data source in question.

int Count

This property simply contains the total number of matches that were found in the search.

int PotentialCount

This property contains the total number of matches that were found in the search. This may be greater than the Count property if the TopX setting is being used to restrict the number of matches that are returned.

int Elapsed

This property indicates that total time taken for the search to complete on this particular data source.

 

Match

This object contains all the information for a match found in the data source being queried.  It consists of the following properties –

string DataSourceID

This contains the data source ID that the match came from.

Record Record

This contains the record object that holds all the properties of the match, including any PassThrough fields.

double Score

This is the score that was achieved when comparing the input record to the record in question.

double MinScore

This is the minimum score required for the match in question to be considered a match.

double MaxScore

This is the maximum possible score that the match in question could have achieved being compared to the input record.

double NameScore

This is the name score that was achieved when comparing the input record to the record in question.

double OrganizationScore

This is the organization score that was achieved when comparing the input record to the record in question.

double AddressScore

This is the address score that was achieved when comparing the input record to the record in question.

double PostcodeScore

This is the postcode score that was achieved when comparing the input record to the record in question.

double EmailScore

This is the email score that was achieved when comparing the input record to the record in question.

double TelephoneScore

This is the telephone score that was achieved when comparing the input record to the record in question.

double DateOfBirthScore

This is the date of birth score that was achieved when comparing the input record to the record in question.

double CustomField1Score

This is the custom field 1 score that was achieved when comparing the input record to the record in question.

double CustomField2Score

This is the custom field 2 score that was achieved when comparing the input record to the record in question.

double CustomField3Score

This is the custom field 3 score that was achieved when comparing the input record to the record in question.

double CustomField4Score

This is the custom field 4 score that was achieved when comparing the input record to the record in question.

double CustomField5Score

This is the custom field 5 score that was achieved when comparing the input record to the record in question.

double CustomField6Score

This is the custom field 6 score that was achieved when comparing the input record to the record in question.

double CustomField7Score

This is the custom field 7 score that was achieved when comparing the input record to the record in question.

double CustomField8Score

This is the custom field 8 score that was achieved when comparing the input record to the record in question.

double CustomField9Score

This is the custom field 9 score that was achieved when comparing the input record to the record in question.

int SearchIndex

This is the search index, or key index, for which the match was found when comparing the input record to the record in question.

 

CompareRecordsResult

This object contains all the information returned  from a call to the CompareRecords method.  It contains the following properties –

bool Success

This property indicates whether or not the call to the CompareResults method was successful.  If not, an indication as to what went wrong will be contained in the LastError property.

string LastError

This property contains the details of any failure that occurred in the event of the Success property being false.

List<Comparison> Results

This is a list of the comparison results that were achieved when comparing the list of records provided to the CompareRecords method.  For more information, see the Comparison object description.

int TotalTime

This property describes the total time taken (in ms) for the call to CompareRecords to complete.

 

Comparison

This object contains all the information relating to a comparison between two records in the CompareRecords method.  It contains the following properties –

string Record1

This contains the unique ref of the first record in the comparison.

string Record2

This contains the unique ref of the second record in the comparison.

Scores Scores

This property contains all the information relating to the scores that were achieved in the comparison.  For more information see the Scores object description.

 

Scores

This object contains values of scores at all levels.  The different score levels (which are all properties) are as follows –

double TotalScore

double MaxScore

double MinScore

double NameScore

double OrganizationScore

double AddressScore

double PostcodeScore

double EmailScore

double TelephoneScore

double DateOfBirthScore

double CustomField1Score

double CustomField2Score

double CustomField3Score

double CustomField4Score

double CustomField5Score

double CustomField6Score

double CustomField7Score

double CustomField8Score

double CustomField9Score

 

ParseRecordsResult

This object contains the results of a call to the ParseRecords method.  The properties are as follows –

List<Record> ResultRecords

This is a list of records. The records are parsed versions of the records in the list that was passed into the ParseRecords method.

bool Success

This property simply indicates whether or not the call to the ParseRecords method was successful, where True means success and False means failure. 

string LastError

If the Success property is False, then this property will provide any errors that the call to the ParseRecords method may have produced.

 

Was this article helpful?
0 out of 0 found this helpful

have a question or not finding what you're looking for?

Submit a ticket to get some help