DataDictionary

The SmartIntegrator Data Dictionary is a listing of SmartOffice objects, lookups and methods exposed to XmlEngine and SiAdapters. The details about the formatting and interrelation of these elements allows developers to derive the proper syntax for any SmartIntegrator request.

Accessing the Data Dictionary

Static Version

Ebix provides a static HTML copy of the Data Dictionary attached to this wiki page. Download the Data_Dictionary.html.txt file and remove the .txt extension before opening it.

The static version is updated periodically but may not contain the absolute latest changes. If you need the latest changes, access the live version.

Live Version

To access the live version of the Data Dictionary on the server, sign in to SmartOffice, and then use one of these methods:
  • If you have already configured the TestBed with the proper XML Engine URL (see XmlEngine), click the Data Dictionary hyperlink in the TestBed.
  • In any web browser, append the parameters ?AppName=Testbed&dump=catalog&type=dict to the query string in the XML Engine URL (see XmlEngine). Example: https://uat.smartofficeonline.com/pprodnew/xmlengine?AppName=Testbed&dump=catalog&type=dict

Troubleshooting

This section describes issues you may encounter when trying to access the live version of the Data Dictionary, along with possible solutions. Note: If these solutions do not resolve the issue, download the static copy of the Data Dictionary as described previously.

You receive the error "The Data Dictionary requires an active SmartOffice session. Please log into SmartOffice and try again."
  • Make sure you are signed in to SmartOffice on the same server from which you are trying to access the Data Dictionary.
  • Make sure you are accessing the Data Dictionary using the same web browser you used to sign in to SmartOffice.
  • Make sure you have only one active SmartOffice session.

You see a blank page or other error.
  • If you have access to the server config.xml file, make sure the Data Dictionary is enabled. Set the <system-info> element under the <smart-integrator> element to true so that it looks like the following, and then restart the server: <system-info type='boolean' restart='false'>true</system-info>

Locating Objects in the Data Dictionary

The best way to locate an object in the Data Dictionary is to find the corresponding field in the the SmartOffice user interface. The field names in SmartOffice usually correspond with the object names in the Data Dictionary. The locations of fields in SmartOffice will help you determine the hierarchy of objects that the data element you need falls under.

If multiple objects in the Data Dictionary have names similar to the data element you are looking for, populate the field in SmartOffice with a unique value you will recognize. Then use the TestBed to retreive all of the fields and see which one contains your value.

If you still cannot find the right object in the Data Dictionary, send an e-mail message to the support team with a SmartOffice screenshot highlighting the field, and we will tell you where the appropriate object is (or tell you if the Data Dictionary needs to be expanded to cover it.)

FAQs

What are these objects that are defined as “strings” but are associated with a lookup in the dictionary? (i.e. AcctType?)

This field is what we call a “soft choice,” meaning that it is really a string column in the database, but we display it as a drop-down choice in SmartOffice. Sometimes we also let users manually type a string into the field if they don’t want to use the drop-down list.

From a SmartIntegrator perspective, you should treat this field as a string and use the Lookup in the dictionary as a guide to what our default/preferred values are. If none of those values accommodate the information you are trying to represent, populate the string you feel is most appropriate.

What is the difference between Contact Type and Client Type?

Yes, that is a little confusing as we’ve changed the user-interface field names over the years but couldn’t rename the objects for backwards-compatibility reasons.

Contact.Category (Choice Lookup = ContactType?) is what appears in the Type field of the Contact detail screen in the user-interface. This is a detail description of the Contact’s classification (Client, Prospect, Lead, Suspect, BGA, Agency, etc). This list can be modified by the users and users can just type any string they want into this field without even defining it as a standard choice. This list only has a loose association with the quick-add list in your screenshot as a “Client” may be a Contact, Business, Advisor, or Agency depending on the nature of the user.

ClientType? (Choice Lookup = SubTypelookup?) is half of what really defines how the record is handled by our system (Contact, Dependant, Agent, Carrier, Service Provider, etc). This data value is not represented by any single field in the user-interface.

ContactType? (Choice Lookup = RecordType?) is the other half of what defines the record for our system. It has two choices, Person (which means the record represents an individual human being) and Business (which is some entity that isn’t a human being). When this is coupled with ClientType? it translates to the terminology you see in the user-interface. A Person-Agent is an Advisor, a Business-Agent is an Agency, a Person-Contact is a Contact, a Business-Contact is a Business. Some combinations wouldn’t make sense (Person-Carrier), so you won’t see them in the system.

The drop-down list in the SO Quick-Search represents the SmartOffice records that people most commonly add to the database. If you are a Financial Advisor or an Insurance Agent and you are trying to quickly add a “Client” to the database, you are probably talking about the Contact or Business choice in the drop-down list. If you work for a BGA, an Independent Marketing Organization, a Broker-Dealer, or a Carrier with a captive sales force, you are probably talking about the Advisor or Agency choice in the drop-down list.

How can I get my SmartPad? Notes string HTML formatting to show up correctly?

You need to use HTML line breaks (not carriage returns) and other HTML formatting tags. These tags need to use escape characters correctly because this is XML inside of XML.
<request version='1.0'>
  <header>
    <office>SDC</office>
    <user>BRYAN_ESHELBRENNER</user>
    <password>******</password>
  </header>
  <transaction>
    <insert>
      <SmartPad>
        <Note>&lt;b&gt;&lt;FONT color="#ff0000"&gt;TASK NAME:&lt;/FONT&gt;&lt;/b&gt; SI Dev Guide Revision&lt;br&gt;&lt;b&gt;DIFFICULTY LEVEL:&lt;/b&gt; Kulzer-Liver&lt;br&gt;&lt;b&gt;STATUS:&lt;/b&gt; Technical Writing&lt;br&gt;</Note>
        <ContactID>Contact.70746.12077</ContactID>
        <LinkState>0</LinkState>
        <SmartPadType>0</SmartPadType>
      </SmartPad>
    </insert>
  </transaction>
</request>

Also, you can base64 encode the entire string with the proper HTML formatting if you don’t want to deal with escape characters.
<request version='1.0'>
  <header>
    <office>SDC</office>
    <user>BRYAN_ESHELBRENNER</user>
    <password>******</password>
  </header>
  <transaction>
    <insert>
      <SmartPad>
        <Note dt:dt="bin.base64" xmlns:dt="urn:schemas-microsoft-com:datatypes">PGI+PEZPTlQgY29sb3I9IiNmZjAwMDAiPlRBU0sgTkFNRTo8L0ZPTlQ+PC9iPiBTSSBEZXYgR3VpZGUgUmV2aXNpb248YnI+PGI+RElGRklDVUxUWSBMRVZFTDo8L2I+IEt1bHplci1MaXZlcjxicj48Yj5TVEFUVVM6PC9iPiBUZWNobmljYWwgV3JpdGluZzxicj4=</Note>
        <ContactID>Contact.70746.12077</ContactID>
        <LinkState>0</LinkState>
        <SmartPadType>0</SmartPadType>
      </SmartPad>
    </insert>
  </transaction>
</request>

How do I know what timezone is associated with a time stamp value in a SmartIntegrator response?

All of the timestamps in the database are stored in GMT and that is the value returned through SmartIntegrator. There is a Time Zone on the UserProfile? object that can be pulled if you want to convert to the user’s configured time zone, but there is no way to have SmartIntegrator automatically offset the values in the responses.

Topic attachments
I Attachment Action Size Date Who Comment
Data_Dictionary.html.txttxt Data_Dictionary.html.txt manage 2425.3 K 07 Jul 2017 - 13:15 DavidEshelbrenner Here is a Data Dictionary file, in case the live access is offline. Change the extension to .html
Topic revision: 13 Jul 2017, DinosLambropoulos
 

This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback