Previous Article | matchIT Web Index | Next Article |
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 2 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.
Previous Article | matchIT Web Index | Next Article |