CRMS ESI (Exporter)

v0.0.1

πŸ“˜

The CRMS API documentation can be accessed here

Set up


To setup a source for the CRMS connector you will need:

  • your login credentials (username & password). For account setup, please contact the CRMS Support Staff (who also control which endpoints each account has access to)
  • select the environment for which you want the connection to (e.g. Staging)
  • The table in the Data Warehouse with Contacts that you want to send as an update to CRMS ESI, needs to be structured and consisted of data that is in the acceptable format for the Update and Upsert Contact endpoints of the API (see here and here)

Features


FeatureSupportNotes
API reliability🟒Reliable

Reports detail


⬇️ ReportπŸ”‘ Incremental keyπŸ”‘ Primary keyπŸ“„ Link to API endpoint
Update ContactsN/AN/AUpdate Contacts
Upsert ContactsN/AN/AUpsert Contacts

πŸ“˜

Behaviour of exporter (and additional table for logging)

Whenever you run these reports the connector will store the requests in a table in the same schema with the same name as the destination table + _responses

so if you export little_pond.big_fish, it’ll be little_pond.big_fish_responses

The rows will contain the first level of the request map flattened (like url, method, headers, etc) as columns and the first level of the form-params map as columns, then a response and error columns with the response or error that came from that request.

In subsequent runs, the new rows will be appended to that same table.


Limitations


🚧

Connector will change data within CRMS ESI system

Use of the extracts on this connector will result in changes to the data within your CRMS ESI system. We advise having backup of the data, in case you want to revert back.

Our suggestion is also to experiment and explore the behaviour of the connector and the API, by first spending sufficient time testing things in a Staging/Test environment, before doing any attempts to go to Production changes.

🚧

Structure and format of the data in the Data Warehouse Table

The extracts use the API endpoints Update Contact and Upsert Contact and send each row as an API request.

For the extracts to work you need to ensure that the columns of the table map correctly to the fields expected by the API and that the data within the rows is in the format expected by the API as well. The API documentation contains Samples which you can use as an example.

The names of the columns in the table should follow the names of the fields that the API endpoints expect (e.g. CountryOfBirth field that the API expects will mean you have a column COUNTRYOFBIRTH in the table in the data warehouse). Do not include underscores or other characters.

🚧

Null values, empty strings, strings containing only empty space

For some columns/fields (e.g. NAME) we noticed that sending null values, empty strings or strings containing only empty spaces where these fields have some values already, does not amend the original values.

At the same time sending a Zero-Width-Space see here value does result in it overriding the existing data for that field.

For full understanding on how specific fields or values work with the API, please contact your Support Contact for CRMS ESI API, who will have the exact information for you.