Data Sharing

Data sharing feature allows your application to share in real time business data (employees, customers, invoices, etc.) with other applications.





1 - What is the Data Sharing?

Data-sharing is the capability of pushing and pulling information in real time from one application to another application. Instead of mapping from one app to another app the necessary workflows, our Data-Sharing is defined by Object data management where the end-user doesn't end up having to define the workflows he or she wants when syncing apps together. Everything is defined during the integration process of our applications partners (and documented on the User Knowledge Base).

When the SSO process is triggered, a group_uid is given to you and can be used to start accessing the Connec! API. At this point of time you can start pulling relevant data from the API into your application.

When the user creates or updates information in your application, notifications should be sent to Connec! that will take care of propagating these to other applications the user owns on the Maestrano platform. On the other side, whenever the user creates or updates information in another application, if you subscribed to the appropriate webhooks, you will receive notifications that will allow you to create or update information in your application.

2 - How to implement the data sharing part?

2.1 - Using a connector between your public API and Connec! public API

If you have a public API, we strongly recommend you to use our Connector framework in Ruby on Rails, which will allow you to connect our API with yours, without messing with your code! Have a look at our Connector framework documentation and at Connec! documentation to understand how to connect our APIs.

The main differences are related to data-sharing implementation:

The typical SDK integration is intrusive in the sense that you have to modify your application to include our SDK and send requests to our API on users' interactions. With the connector approach, it acts as a bridge between Connec! and the Application APIs so data-sharing is no longer implemented by the application but by the connector itself.

Benefits of using the connector:

    • Not intrusive (runs outside of the application)
    • Separate development life cycle (app providers do not need to release their application every time they update the data-sharing) 
    • Already implements logic for initial data import, Connec! webhooks for real-time updates
    • Support basic configuration (enable/disable data-sharing, select entities to share)
    • Development of the connector can be outsourced as the application code is not exposed (Maestrano can propose services for implementing it) Hosted on the cloud (Maestrano can provide support for hosting connectors)

2.2 - Querying Connec! API directly

Just have a look at Connec! documentation and your SDK documentation to learn how to use our public API!

3 - Manage the Data Sharing using the developer platform

The developer platform allows to specify what type of data you share with Connec! and other applications.

A list of "connec! entities", also called "shared entities" is available under the Technical section of each app. Some example of shared entities include accounts, people or quotes.

3.1 - Document what data is shared between your application and the platform 

This section allows Maestrano team, other applications, and the user to know what data is shared between your application and the platform, hence other applications.

The following screen allows to manage the entities shared by the app. The search box allows to filter the list of entities.

Each shared entity selected have one or two of the following options enabled:

  • Read: The app allows this shared entity to be retrieved.
  • Write: The app allows this shared entity to be modified or created

Administrators can modify the list of shared entities by clicking on the "select Shared Entities". Normal users can only view what entities are currently selected and cannot edit them.

3.2 - Subscribe to Webhooks

The section described above is more than just informational for the user and Maestrano team. It allows your application to subscribe to webhooks: it's only if you subscribe to an entity that you will receive notifications for creation and updates for this specific entity. The webhooks path needs to be configured in your environement. See "Connec! notification path" in Configure and test your technical integration#2.2.2Appendpoints

3.3 - Use external IDs

Using external IDs allows to receive an array of IDs coming from all the applications using this specific data, instead of returning only the Connec! IDs.

This allow an easier integration between the app and Connec as the application does not have to store a mapping of IDs and allows your application to know other applications sharing this specific data entry as well as its ID in other applications.

For more information on external IDs refer to this page: Working with records external IDs.