- Contents
Reverse White Pages Technical Reference
Lookup Method
This function takes a phone number BSTR as its input, and sets the results of the lookup query in its output BSTR. The input number will have been converted to the CIC standardized format. For example:
+13178723000
Note that standardized numbers may have additional dialing information and/or extension information following the base number. For example:
+13178723000/^131
So, unless the driver is performing a sub string match, it should truncate after the 12th character for NANP numbers (most likely drivers will also need to strip the leading "+1").
The output BSTR should be set to empty on failure to find a match. In this case the HRESULT return value should still be S_OK, since a failed match is not considered an error.On a success lookup the driver should set the output BSTR as outlined below:
It should be formatted as an XML document string. The basic structure is:
<?xml version="1.0"?>
<rows>
</rows>
In fact, this is exactly what a driver should return in the case of no matching rows.
Note: returning an empty string will also have the same effect (i.e. DataManager will convert an empty string to the above XML). For each row returned these will be a <row> element.Attributes are used to hold the lookup result values. So, for example, a result with two matching rows might look like:
<?xml version="1.0"?>
<rows>
<row IndivID="iovq*w~m&du#~5*|090|v3" FirstName="John" LastName="Doe" Department="Marketing" IsPrivate="0" LocID="v9y+oec=&gaz$v9f,[w^93" LocName="Acme-Toledo" OrgID="cbrwl4h.*&#n9to$0?@&?3" OrgName="Acme, Inc." Phone="+12223334444^123" Email="john.doe@acme.com" InteractionAddress="+12223334444" InteractionType="1" Source="I3Tracker Public Rwp" ExtSource="I3Tracker Public Rwp" Replicate="0" IsStopSource="1" ICInteractionID="2100176223" ICInteractionAttribute="Eic_RemoteName" DisplayName="Doe, John (Acme, Inc.)" ContactSummary="Doe, John
Acme, Inc.
Marketing
phone: (222)333-4444 ext 123"
 Origin="2" IsDefinitiveResult="0"/>
<row IndivID="e8x`.d#.*d~;np6sxh>" FirstName="Jane" LastName="Doe" Department="Sales" IsPrivate="0" LocID="{b>8b];u(;>4v{#-;388]4" LocName="Acme-Cleveland" OrgID=" cbrwl4h.*&#n9to$0?@&?3" OrgName="Acme, Inc." Phone="+12223334444^124" Email="jane.doe@acme.com" InteractionAddress="+12223334444" InteractionType="1" Source="I3Tracker Public Rwp" ExtSource="I3Tracker Public Rwp" Replicate="0" IsStopSource="1" ICInteractionID="2100176223" ICInteractionAttribute="Eic_RemoteName" DisplayName="Doe, Jane (Acme, Inc.)" ContactSummary="Doe, Jane
Acme, Inc.
Sales
phone: (222)333-4444 ext 124"
 Origin="2" IsDefinitiveResult="0"/>
</rows>
IMPORTANT: All reserved XML characters
(e.g. <, >, &, ‘, ") must be properly escaped.For
example, a < character would be escaped as:
<
Please consult any standard XML documentation for the complete list of
reserved characters and their escapes.
There are no required attributes. However, drivers should return enough information such that DataManager can construct a display name using CIC's display name formatting facilities (see Appendix B).Basically, this means returning one or more of the following attributes:
-
FirstName
-
MiddleName
-
LastName
-
Company
Alternatively, drivers can set the DisplayName attribute directly; in which case, it will be preserved. However, this is not recommended unless the driver-originated display name potentially contains different/better information than the display name that is generated via CIC's display name formatting facilities.
Again, this is the minimal amount of information. Ideally, drivers would return as much information as possible. See Appendix Afor the complete list of attributes.

