Possible architectures for CRM integrations

Overview

This is a technical generic how-to, displaying technical options for a CRM integration.

We will suppose in the following lines, that an institution wants to achieve an integration between S-360 and an external CRM system, called ExtCRM.

We expect this integration to provide those two basic features:

Bi-directional synchronisation of some contact data

→ if a contact is created/updated in S-360, we want the modification to be pushed to ExtCRM

→ if a contact is created/updated in ExtCRM, we want those modifications to be pushed in SecuTux

Mono direction synchronisation of a contact's order history. We want to store S-360 order history of a given contact in ExtCRM.

CRM

The table below list some technological choices allowing to synchronise order and contact data.

Contact synchronisation

Pushing contact data from S-360 to ExtCRM.

The table below describes some technical possibilities from S-360 to achieve that objective.

Solution Description Technologies Pros Cons
Flat file export The exact data needed by the CRM system are extracted incrementally from S-360 using a Data Export Query. Then a flat file is produced and pushed to a external repository. This export can be produced up to one time per minute. Flat file (CSV, TSV, TXT...), SFTP or S3 for the repository The exact data needed can be exported. Can be ordered as a service by S-360 client Needs file parsing and specific integration on ExtCRM side
Firehose contact plugin For each contact created/updated, S-360 executes a process defined by the external CRM system : filtering the contact, calling one or many webservices, etc. Any webservice technology that can be called from S-360. S-360 executes exactly the processes defined by the CRM system. A specific development (plugin) must be delivered by S-360. This development can also be executed by an external company, but S-360 is involved in validating the final result before the plugin is deployed.
Firehose contact webhook For each contact created/updated, S-360 calls a specific URL defined by the external CRM system. See global documentation here https Immediately available in S-360, very simple integration. The ExtCRM system needs to create a specific endpoint and process the contact.

Pushing contact data from ExtCRM to S-360

Solution Description Technologies Pros Cons
S-360 webservices The CRM calls S-360 contact webservices to read and update the contact sheet if needed. SOAP or REST endpoints The CRM systems controls exactly what data are pushed back inside S-360 Needs a specific development in CRM system.
Contact import plugin Using a specific plugin, S-360 polls an API offered by the CRM system and extracts the contact data to be updated. Any webservice technology that can be called from S-360 S-360 executes exactly the processes defined by the CRM system. A specific development (plugin) must be delivered by S-360. This development can also be executed by an external company, but S-360 is involved in validating the final result before the plugin is deployed.
Webhook published by S-360 Using a specific plugin S-360 publishes a webhook and handles data coming from the CRM system. REST endpoint S-360 executes exactly the processes defined by the CRM system. A specific development (plugin) must be delivered by S-360.

Order synchronisation

Pushing order data from S-360 to ExtCRM.

The technologies offered are exactly the same as for the contacts

Solution Description Technologies Pros Cons
Flat file export The exact data needed by the CRM system are extracted incrementally from S-360 using a Data Export Query. Then a flat file is produced and pushed to a external repository. This export can be produced up to one time per minute. Flat file (CSV, TSV, TXT...), SFTP or S3 for the repository The exact data needed can be exported. Can be ordered as a service by S-360 client Needs file parsing and specific integration on ExtCRM side
Firehose order plugin For each order closed, S-360 executes a process defined by the external CRM system : filtering the order, calling one or many webservices, etc. Any webservice technology that can be called from S-360 S-360 executes exactly the processes defined by the CRM system. A specific development (plugin) must be delivered by S-360. This development can also be executed by an external company, but S-360 is involved in validating the final result before the plugin is deployed.
Firehose order webhook For each order closed, S-360 calls a specific URL defined by the external CRM system. See global documentation here https Immediately available in S-360, very simple integration. The ExtCRM system needs to create a specific endpoint and process the order.