Software Vendor Partnerships

The SmartOffice-Vendor Partnership begins before creating your integration. This partnership requires adherence to a specific certification process. Much of the information regarding this process can be found below.

Architecture

If you are a SmartOffice customer building an integration that will only be used by your office, you can connect directly to SmartIntegrator and pass normal SmartOffice user credentials (Office,UserName,Password).

If you are a development partner creating an integration to be used on all servers by many types of users, you need to connect to SmartXchange with partner credentials (adpName,user,password) and the DXOUserName? [SiteName_OfficeName_UserName] of the SmartOffice user you are working on behalf of.

If you are early in the analysis and development process, you may want to just connect to SmartIntegrator until you have all functionality working and then add support for SmartXchange.

Licensing

An integration set as a user license will appear in the Licenses list only if Ebix CRM’s Administration department grants the license to that office. Also, these licenses are granted in a certain quantity, so if you have 35 user licenses but only 10 licenses for the integration, once you’ve enabled the integration license for 10 users, it will not appear on the list for other users.

We can't enable your license for all users even if your integration license in free because that would grant you access to data belonging to users that haven’t explicitly given you permission to access their data. The user license is the control point by which a user grants and denies you access to their data. If you are a partner that is directly buying SmartOffice user licenses on behalf of the users, we can set up an administrative process to ensure that your offices always have enough integration licenses.

You can use GetAdptUser to get a complete list of users with the license enabled. There is also a service that tells you whether a specific user has your license enabled. You can post the request below to https://dxo20qa.ez-data.com/dxoapp/adapter with your normal partner credentials.
<dxo-request version="1.0.1">
  <transaction action="subscription.validate">
    <data>
      <DXOUserName>EVAL6_SDC_Bryan_Eshelbrenner</DXOUserName>
      <ServiceName>iPhone</ServiceName>
    </data>
  </transaction>
</dxo-request>

Support

Once your integration is certified, we will let our technical support team know the service is being enabled. If users have any questions about the license being turned on from the SmartOffice side, our support team will help them out with that. For any questions about what they are seeing in your system, our support team is going to instruct them to call your team for support. If your team thinks the problem is coming from our side, we need your team to send the Request XML’s and a description of the problem to sisupport@ebix.com. Basically, you support the end-user and we support you.

Certification Process

Before investing any time programming your integration, contact Chris Aitkens and verify that we are going to let you release a service that does what you want it to do. You want to have a business agreement that covers user license revenue sharing as well as our service level agreement before doing anything. After you have that and have created your integration, here are the steps to getting the final product certified for production release:
  • Complete the SmartIntegrator Developer Questionnaire and SmartIntegrator Certification Process documents and send them to sisupport@ebix.com.

  • Contact Bryan and request that Verbose Logging be enabled for your service.

  • Contact Chris and set up a demo to show off your integration. Chris will confirm that it fits what was agreed to in the business agreement.

  • After the demo, run through all of your use cases. Now that Verbose Logging is turned on, we will be able to log all requests and responses.

  • Create debug logging of transaction requests and responses within your application. This is required to aid us in analyzing any issues that arise.
  • Let Bryan know when you are finished and give our team a couple days to look through the requests for any problems.

  • Based on analysis of the requests, we may require changes to your application. Change requests are usually based on scalability or security concerns.

Once certification is complete, you will be issued a different set of credentials for connection to the Production SmartXchange/SmartOffice systems.

After this, we request that you give a presentation to our sales and support teams on how the integration works and how you'd like our teams to represent the business value of the integration when talking to customers and prospects. We also request that, if possible, you provide user accounts on your system for our sales team to do demonstrations as well.

As a rule of thumb, we consider any new integration in "Beta" until it is in use by five users for three months without issues (after certification by the Ebix team). After that, we remove the “Beta” label. This interpretation can be negotiated based upon business strategy and the technical complexity of the integration.

SmartOffice Branding

Vendor partners who want to use SmartOffice logos for design or marketing purposes can use the images attached to this page (see the Attachments section at the end). There are two logo images, each available in .png and .eps format.
File Name Preview Notes Download

smartoffice_color.png

smartoffice_all_black_logo_powered_by_ebix_outlines.eps

smartoffice_color_preview.png Transparent background See Attachments at end of page

smartoffice_all_white_logo.png

smartoffice_all_white_logo_powered_by_ebix_outlines.eps

smartoffice_all_white_logo_preview.png Transparent background See Attachments at end of page

FAQs

*I did not see my integration available on the user Licenses list for our office. Is there a reason for that? How can I get that integration on their accounts?*

An integration set as a user license will appear in the Licenses list only if Ebix CRM’s Administration department grants the license to that office. Also, these licenses are granted in a certain quantity, so if you have 35 user licenses but only 10 licenses for the integration, once you’ve enabled the integration license for 10 users, it will not appear on the list for other users.

My integration is free. Can’t you just turn it on for everyone all the time?

No, because that would grant you access to data belonging to users that haven’t explicitly given you permission to access their data. The user license is the control point by which a user grants and denies you access to their data. If you are a partner that is directly buying SmartOffice user licenses on behalf of the users, we can set up an administrative process to ensure that your offices always have enough integration licenses.

How do I know which users have my Integration User License enabled?

Although there is no service that enables you to get a complete list of users on all sites, there is a SmartXchage Adapter Service that lets you retrieve a list of users for a single site and service. You can also use that service to determine whether a single user has enabled your license. Refer to the information about the GetAdptUser and Validate actions on the SmartXchange page.

How do I update the icon image for my button?

Send us a 25 x 25 pixel image (GIF or JPG). We will create a patch for the servers. There is no way to upload your icon image into the system in the same way that we can upload buttons into the system. This is something that we do on a regular basis and usually takes about a week.

I locked my SmartOffice account. Can you unlock it for me?

If you lock a SmartOffice user account, it will unlock within 15 minutes. I cannot unlock your user account without resetting your password.

Which SmartOffice servers are connected to SmartXchange Production and which are connected to SmartXchange QA?

Production US SmartXchange = https://dxo20.ez-data.com/dxoapp/proxy

MYSO https://mysmartoffice.ez-data.com

MYSO2 https://mysmartoffice2.ez-data.com

MYSO3 https://mysmartoffice3.ez-data.com

MYSO4 https://mysmartoffice4.ez-data.com

FCPremier https://sopremier.ez-data.com

NFP https://global.smartofficeonline.com/nfp

MFIN https://mfin.ez-data.com

Production Canada SmartXchange = https://smartxchange-can.ez-data.com/smartxchangeapp/proxy

SOCA https://canada.smartofficeonline.com

SOCA6 https://canada2.ez-data.com

SmartXchange QA = https://dxo20qa.ez-data.com/dxoapp/proxy

PREPRODNEW https://uat.smartofficeonline.com/pprodnew/

Sales Demo SmartXchange = https://stpdemo.ez-data.com/stpdxo/proxy

EVAL6 https://eval.ez-data.com

How do I authenticate my requests and identify the SmartOffice user that I’m working on behalf of?

For all of your SmartIntegrator requests, you authenticate yourself as our partner by passing the adpName, user, password values that were sent to you as POST input attributes. See SampleSmartXchangePostHTML for an example of this.

In your database, you must store the SmartOffice Site ID, Office Name and User Name for each user. These three values are passed in every SmartIntegrator request in the DXOUserName object.

For example, my user record is on the EVAL6 site, my Office Name is SDC and the User Name is BRYAN_ESHELBRENNER. In each SmartIntegrator request posted to https://stpdemo.ez-data.com/stpdxo/proxy you’ll have an object <DXOUserName>EVAL6_SDC_Bryan_Eshelbrenner</DXOUserName> in the request.

Do SmartOffice users know their DXO username so that they can set it up in the user preferences of our application?

The DXO User Name value is “SiteName_OfficeName_UserName.” Users know their office name and user name, but for the Site Name, you have to use one of two tricks.

Option 1: Give them a list of SmartOffice URLs and allow them to select their server based on the URL that appears in their address bar when they are signed in to SmartOffice (this is different from the sign-in page URL).

SEE PRODUCTION SERVER LIST ABOVE.

Option 2:On the first attempt to connect, try all of the different Site Names and see which one works and then store that for the DXO User Name. Please do this on just a single request in order to verify Site Name; do not do this on every request or on any automatically recurring request.
<dxo-request version="1.0.1">
  <transaction action="subscription.validate" id="MYSO">
    <data>
      <DXOUserName>MYSO_MYSO4_dxotest_admin</DXOUserName>
      <ServiceName>AdvisoryWorld</ServiceName>
    </data>
  </transaction>
  <transaction action="subscription.validate" id="MYSO2">
    <data>
      <DXOUserName>MYSO2_MYSO4_dxotest_admin</DXOUserName>
      <ServiceName>AdvisoryWorld</ServiceName>
    </data>
  </transaction>
  <transaction action="subscription.validate" id="MYSO3">
    <data>
      <DXOUserName>MYSO3_MYSO4_dxotest_admin</DXOUserName>
      <ServiceName>AdvisoryWorld</ServiceName>
    </data>
  </transaction>
  <transaction action="subscription.validate" id="MYSO4">
    <data>
      <DXOUserName>MYSO4_MYSO4_dxotest_admin</DXOUserName>
      <ServiceName>AdvisoryWorld</ServiceName>
    </data>
  </transaction>
  <transaction action="subscription.validate" id="FCPremier">
    <data>
      <DXOUserName>FCPremier_MYSO4_dxotest_admin</DXOUserName>
      <ServiceName>AdvisoryWorld</ServiceName>
    </data>
  </transaction>
</dxo-request>

We realize that these are not the most elegant options, and we have an enhancement planned to allow you to look up DXO User Name based on Office Name and User Name or to just allow you to pass Office Name and User Name and respond with an error if there is ambiguity.

What does it mean when I get an error message from the Proxy stating, “Invalid Session: Could not retrieve SmartOffice Authentication details.”

The most common reason is that the user in SmartOffice has not enabled the license associated with your Partner ID. The SmartOffice user (or their administrator) must sign in to SmartOffice and go to the User Rights/Licenses for that user and enable the corresponding license.

Other reasons might be that the SmartOffice system has not been configured correctly for your integration. If this is true, then no other user on the same SmartOffice server should be working either.

Can Ebix log the requests coming in to SmartOffice for analysis?

Our support teams can only log and view requests sent through the SmartXchange proxy. If you are sending requests directly to the SmartIntegrator servlet on SmartOffice, we won’t be able view the logs for support purposes.

The verbose logging from SmartXchange that will show us the full request is an option that can be temporarily enabled by request. This is what we use during the certification process. You must also create debug logging of transaction requests and responses within your application; this will aid us in analyzing any issues.

Can we get a user account on the production SmartOffice servers to test with?

We don’t supply our partners with user accounts on the production servers for a whole bunch of reasons I won’t go into here. We will only temporarily enable the license for a production office user so you can test connectivity.

What are the different error messages from SmartXchange?

Invalid Partner credentials
<dxoproxy-response>
   <error code="2001">Invalid Session: Adapter authentication: FACTOR not found: WRONGVALUE.</error>
</dxoproxy-response>

Invalid DXOUserName?
<dxoproxy-response time="1315501642850" version="1.0.1">
   <transaction action="adapter.xmlEngine">
     <data>
       <error code="2001">Invalid Session: DXO User not found [WRONGUSERNAME].</error>
     </data>
   </transaction>
 </dxoproxy-response>

User is not subscribed to your service, or your service is suspended on that server
<dxoproxy-response time="1315501532816" version="1.0.1">
   <transaction action="adapter.xmlEngine">
     <data>
       <error code="2001">Invalid Session: Could not retrieve SmartOffice Authentication details. Possible reasons: #1 Service might not be active. #2 Site might not be active. #3 Site or Service might not be linked to Adapter [YOURADPNAMEHERE]. #4 User Parameters might be missing. #5 User might not have an active subscription. Please contact System Administrator.</error>
     </data>
   </transaction>
 </dxoproxy-response>

Invalid XML formatting
<dxoproxy-response time="1315501807091" version="1.0.1">
   <transaction action="adapter.xmlEngine">
     <data>
       <error code="1001">Invalid XML format. PROBLEM</error>
     </data>
   </transaction>
 </dxoproxy-response>

Other error messages that you may receive come from SmartIntegrator and are associated with a properly formatted and authenticated request that causes a business-level error in SmartOffice, like trying to edit a read-only record or trying to insert a record without a minimum data fields populated.


-- Main.dustin - 24 Oct 2012
Topic attachments
I Attachment Action Size Date Who Comment
SmartIntegrator-Certification-Process.xlsxls SmartIntegrator-Certification-Process.xls manage 26.5 K 14 Aug 2012 - 01:30 DavidEshelbrenner SmartIntegrator Certification Process Spreadsheet
SmartIntegrator_Developer_Questionnaire.docdoc SmartIntegrator_Developer_Questionnaire.doc manage 23.0 K 14 Aug 2012 - 01:28 DavidEshelbrenner SmartIntegrator Developer Questionnaire
smartoffice_all_black_logo_powered_by_ebix_outlines.epseps smartoffice_all_black_logo_powered_by_ebix_outlines.eps manage 1351.8 K 18 Feb 2016 - 01:30 DinosLambropoulos SmartOffice Logo (black, EPS format)
smartoffice_all_white_logo.pngpng smartoffice_all_white_logo.png manage 57.9 K 18 Feb 2016 - 01:28 DinosLambropoulos SmartOffice Logo (white, PNG format)
smartoffice_all_white_logo_powered_by_ebix_outlines.epseps smartoffice_all_white_logo_powered_by_ebix_outlines.eps manage 1340.7 K 18 Feb 2016 - 01:31 DinosLambropoulos SmartOffice Logo (white, EPS format)
smartoffice_color.pngpng smartoffice_color.png manage 62.2 K 18 Feb 2016 - 01:29 DinosLambropoulos SmartOffice Logo (color, PNG format)
Topic revision: 06 Oct 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