We provide an integration point where your service can be integrated with Emarsys as a page. This involves adding a new menu entry and loading your page content within an iFrame. The design of your page should ideally match the Emarsys design, so it will look like it is part of Emarsys.
Some browsers like Safari and Internet Explorer blocks setting cookies in “third-party” iFrames. In our case, it would make cookie based session handling impossible, and session handling generally hard.
The solution is that on loading the integration’s Emarsys page, Emarsys will redirect the browser to the integration’s login URL, allowing it to create the session cookie. It will send customer information, and a redirect URL, where the integration have to redirect back the browser. On that page we are going to load the iFrame of the integration, and display it to the customer.
We have created a checklist regarding the required information to enable the single sign-on for your convenience.
Please send the following information to Emarsys Support:
- The name of your service.
- The login URL – it have to create a session, and redirect the customer back to Emarsys to the provided URL.
- The iFrame URL – it will be loaded into the iFrame.
As a first step, we redirect the browser to the login URL, and providing the following query parameters (the request will be also presigned with Escher):
|environment||string||The customer’s Emarsys environment (e.g. suite16.emarsys.net).|
|customer_id||int||ID of the customer in the Emarsys database.|
|admin_id||int||ID of the Emarsys user.|
|language||string||The UI language of the Emarsys user.|
|timezone||string||The timezone of the Emarsys user.|
|integration_id||string||The ID of your integration.|
|integration_instance_id||string||A random generated ID of your integration instance.|
|redirect_to||string||The URL to where the integration have to redirect the customer.|
We recommend checking out the following resources. Querying the timezone (for displaying time information in the customer’s timezone) or the name of a customer might be useful for a service.