Difference: SmartXchange (r19 vs. r10)

SmartXchange

The SmartXchange proxy is a service used the same way as the SmartXchange Proxy is a service used the same way as the SmartIntegrator XmlEngineservlet, servlet but is a single connection point able enabling applications to reach multiple SmartOffice servers. SmartXchange also provides Ebix administrative control to provide partners with authenticated access to SmartOffice servers for their services. Requests are made through XML requests, and a response is returned. SmartOffice servers. SmartXchange also provides Ebix administrative control to provide partners with authenticated access to SmartOffice servers for their services. Requests are made through XML requests, and a response is returned.

Depending on your decision Sending requests through SmartXchange is similar to access sending requests directly to XML Engine. The main difference is that your XML Engine requests must be enclosed within special SmartXchange tags, as described in the following sections. SmartIntegrator directly or communicate through SmartXchange, the processing and formatting of your Requests will change slightly.

The primary testing method for To test SmartXchange proxy requests, you can use the SmartXchange Proxy is the TestBed, . which support both SmartIntegrator and SmartXchange.

Note that your application must use Transport Layer Security (TLS) v1.2 or later to communicate with SmartXchange.

The following diagram illustrates the flow of data between external services, SmartXchange, and SmartOffice servers.

SmartXchange.png

SmartXchange Proxy Requests/Reponses Requests/Responses

In order to be able To send SmartXchange proxy requests, to make DXO Proxy Requests you will have must first to understand how to send requests to the SmartIntegrator XmlEngine API Requests work because API. SmartXchange requests are the format is essentially wrapping Proxy tags around the SmartIntegrator XmlEngine requests. requests enclosed in special proxy tags.

The format For example: is as follows:

   DXO_UserName    

After submitting the request, you receive a response just as in XML Engine. In the example, note that the header following: element in the SmartIntegrator portion of the request contains office, user and password elements that are empty. In SmartXchange requests, it is typical to leave these elements empty (the DXOUserName element passes information about the user instead). Though these elements are empty, they are required.

After submitting the request, you receive a response just as in SmartIntegrator XmlEngine.

  • SmartXchange tags: The XML Engine request is enclosed within the siData tags.
  • Request header information: In the XML Engine request, the <header> element contains empty <office>, <user> and <password> elements. In SmartXchange requests, these elements are normally left empty because the <DXOUserName> element passes information about the user instead. However, even though these elements are empty, they must be included.
  • DXOUsername: The <DXOUserName> element is required. It passes the user information to the proxy server. For more information, refer to the FAQs section of VendorPartnership.

When sending requests to the As part of your request, SmartXchange proxy service, you must also send the your SmartOffice partner ID information (adapter name, user name and password) provided to you by Ebix. Include For example, if sending your request using an HTML form, include this information as hidden fields in your HTML form using the following format, inserting your partner ID information in the value attributes:

<input type="hidden" id="dxoAdapterName" NAME="adpName" value=""/>
<input type="hidden" id="dxoUserName" NAME="user" value=""/>
<input type="hidden" id="dxoPassword" NAME="password" value=""/>

Click the link below to see an example of an HTML form containing these hidden fields and showing how to post a request to SmartXchange:

SampleSmartXchangePostHTML

SmartXchange URLs SmartXchange Adapter Service

There is a second "Adapter" web service running on To determine the correct URL to which you will send SmartXchange requests, refer to the server list below. SmartXchangeNoteused for : Some administering services and user subscriptions running over the SmartXchange SmartOffice platform (Examples include enterprise customers are on segregated hosting environments. If you are working with a customer that is not on any of the following servers, please contact Ebix at https://dxo20qa.ez-data.com/dxoapp/adapter sisupport@ebix.com or for additional information. https://dxo20.ezdata.com/dxoapp/adapter). All requests to this service need to have the Partner adpName, user, and password inputs passed in the header, just like a Proxy request.

GetAdptSiteService?

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

This action allows partners to find out exactly what the name of each of the Services are and find out what SmartOffice Site's have their Service enabled. To make this request, the partner credentials are the only input needed.

<dxo-request version="1.0.1">
    <transaction action="adapter.getadptsiteservice">
        <data>
            <AdapterName>SmartTicket</AdapterName>
            <UserName>smartticket</UserName>
            <Password>abc123</Password>
        </data>
    </transaction>
</dxo-request>


<dxo-response version='1.0.1' time='1359418700777' id=''>
    <transaction id='' action='adapter.getadptsiteservice' requestId='6393247'>
        <UI/>
        <data>
            <response>
                <Service name="SmartTicket">
                    <Site name="EVAL6"/>
                </Service>
                <Service name="eSignature">
                    <Site name="EVAL6"/>
                </Service>
            </response>
        </data>
    </transaction>
</dxo-response>

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

This action allows partners to retrieve the SmartXchange QA =DXOUserName? value of every user that has subscribed to their service. This request can only be done for a single Site and Service per transaction. https://dxo20qa.ez-data.com/dxoapp/proxy

<dxo-request version="1.0.1">
    <transaction action="adapter.getadptuser">
        <data>
            <AdapterName>SmartTicket</AdapterName>
            <UserName>smartticket</UserName>
            <Password>abc123</Password>
            <Service>SmartTicket</Service>
            <Site>EVAL6</Site>
        </data>
    </transaction>
</dxo-request>


<dxo-response version='1.0.1' time='1359418915518' id=''>
    <transaction id='' action='adapter.getadptuser' requestId='6393248'>
        <UI/>
        <data>
            <response>
                <Service name="SmartTicket">
                    <Site name="EVAL6">
                        <UserName>EVAL6_Ebixdemo_pdicicco</UserName>
                        <UserName>EVAL6_Ebixdemo_Phil</UserName>
                        <UserName>EVAL6_eval60_california_carolyn</UserName>
                        <UserName>EVAL6_CulverCity_Phil</UserName>
                        <UserName>EVAL6_Dublin_Daniel</UserName>
                        <UserName>EVAL6_Ebixdemo_aschitea</UserName>
                        <UserName>EVAL6_Ebixdemo_mnevins</UserName>
                        <UserName>EVAL6_CulverCity_Daniel</UserName>
                        <UserName>EVAL6_Hermosa_Daniel</UserName>
                        <UserName>EVAL6_Ebixdemo_vtroffer</UserName>
                        <UserName>EVAL6_Ebixdemo_Admin</UserName>
                        <UserName>EVAL6_Ebixdemo_eburgess</UserName>
                    </Site>
                </Service>
            </response>
        </data>
    </transaction>
</dxo-response>

SmartXchange Adapter Service

There is a second "Adapter" web service running on SmartXchange used for administering services and user subscriptions running over the SmartXchange platform (Examples include https://dxo20qa.ez-data.com/dxoapp/adapter or https://dxo20.ezdata.com/dxoapp/adapter). All requests to this service need to have the Partner adpName, user, and password inputs passed in the header, just like a Proxy request.

GetAdptSiteService

This action allows partners to retrieve the name of each service and find out which SmartOffice sites have their service enabled. To make this request, the partner credentials are the only input needed.

Request XML

<dxo-request version="1.0.1">
    <transaction action="adapter.getadptsiteservice">
        <data>
            <AdapterName>SmartTicket</AdapterName>
            <UserName>smartticket</UserName>
            <Password>abc123</Password>
        </data>
    </transaction>
</dxo-request>

Reponse XML

<dxo-response version='1.0.1' time='1359418700777' id=''>
    <transaction id='' action='adapter.getadptsiteservice' requestId='6393247'>
        <UI/>
        <data>
            <response>
                <Service name="SmartTicket">
                    <Site name="EVAL6"/>
                </Service>
                <Service name="eSignature">
                    <Site name="EVAL6"/>
                </Service>
            </response>
        </data>
    </transaction>
</dxo-response>

GetAdptUser

This action allows partners to retrieve the DXOUserName value of every user that has subscribed to their service. This request can only be done for a single site and service per transaction.

Request XML

<dxo-request version="1.0.1">
    <transaction action="adapter.getadptuser">
        <data>
            <AdapterName>SmartTicket</AdapterName>
            <UserName>smartticket</UserName>
            <Password>abc123</Password>
            <Service>SmartTicket</Service>
            <Site>EVAL6</Site>
        </data>
    </transaction>
</dxo-request>

Response XML

<dxo-response version='1.0.1' time='1359418915518' id=''>
    <transaction id='' action='adapter.getadptuser' requestId='6393248'>
        <UI/>
        <data>
            <response>
                <Service name="SmartTicket">
                    <Site name="EVAL6">
                        <UserName>EVAL6_Ebixdemo_pdicicco</UserName>
                        <UserName>EVAL6_Ebixdemo_Phil</UserName>
                        <UserName>EVAL6_eval60_california_carolyn</UserName>
                        <UserName>EVAL6_CulverCity_Phil</UserName>
                        <UserName>EVAL6_Dublin_Daniel</UserName>
                        <UserName>EVAL6_Ebixdemo_aschitea</UserName>
                        <UserName>EVAL6_Ebixdemo_mnevins</UserName>
                        <UserName>EVAL6_CulverCity_Daniel</UserName>
                        <UserName>EVAL6_Hermosa_Daniel</UserName>
                        <UserName>EVAL6_Ebixdemo_vtroffer</UserName>
                        <UserName>EVAL6_Ebixdemo_Admin</UserName>
                        <UserName>EVAL6_Ebixdemo_eburgess</UserName>
                    </Site>
                </Service>
            </response>
        </data>
    </transaction>
</dxo-response>

GetSiteDetails

This action allows partners to retrieve the SmartOffice URL and XmlEngine URL for a particular SmartOffice site.

Request XML

<dxo-request version="1.0.1">
    <transaction action="site.getsitedetails">
        <data>
            <SiteName>PREPRODNEW</SiteName>
        </data>
    </transaction>
</dxo-request>

Response XML

<dxo-response version="1.0.1" time="1549308114644" DXOUserName="Header UserName Not Found" id="">
    <transaction DXOUserName="dxoadmin" id="" action="site.getsitedetails" requestId="12176672">
        <UI /> 
        <data>
            <response>
                <SOUrl>https://uat.smartofficeonline.com/pprodnew</SOUrl> 
                <SIUrl>https://uat.smartofficeonline.com/pprodnew/xmlengine</SIUrl> 
                <SiteId>275017</SiteId> 
            </response>
        </data>
    </transaction>
</dxo-response>

GetSODetails

This action allows partners to retrieve the UserID and UserName properties for a SmartOffice user account using the DXOUserName value.

Request XML

<dxo-request version='1.0.1'>
    <transaction action='user.getSODetails'>
        <data>
            <DXOUserName>PREPRODNEW_OFFICE_jdoe</DXOUserName>
        </data>
    </transaction>
</dxo-request>

Response XML

<dxo-response version="1.0.1" time="1506621834687" id="">
    <transaction DXOUserName="dxoadmin" id="" action="user.getSODetails" requestId="11718653">
        <data>
            <response>
                <ExtLink>PREPRODNEW_OFFICE_User</ExtLink> 
                <SiteName>PREPRODNEW</SiteName> 
                <UserId>User.1.1</UserId> 
                <OfficeName>OFFICE</OfficeName> 
                <UserName>jdoe</UserName> 
            </response>
        </data>
    </transaction>
</dxo-response>

Validate

This action allows partners to determine whether a specific user has their license enabled.

Request XML

<dxo-request version="1.0.1">
  <transaction action="subscription.validate">
    <data>
      <DXOUserName>EVAL6_SDC_Bryan_Eshelbrenner</DXOUserName>
      <ServiceName>iPhone</ServiceName>
    </data>
  </transaction>
</dxo-request>


-- Main.dustin - 24 Oct 2012

 
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