Dealing with data sources and combining them can be a complex process. To help you along, we want to share a few of our best practices dealing with Data Connections:
At time of writing, all tables have a version number as a suffix at end of all the tables being shared (For example, table_name_v1). So, it is recommended to build the application to handle the version changes in an elegant way.
All tables will be refreshed at mid-night 00:00 UTC, on a daily basis. It is advisable to make sure the refresh of the application using the tables is refreshed accordingly (preferably after 02:00 UTC).
The access token created through the Mapiq app has a set expiry after 180 days. Keep track of the token expiry and renew them before it expires, otherwise it might break the application using the tables being shared through Mapiq data connections .
The tables are structured in a way to make it compatible for the import directly into a analytics tools (e.g. power BI). It might not restrict the data import, but it is good to check if the application needs some pre-processing or transformations depending on the use-case of the application being built.
Your application is expected to handle the schema changes (evolution) and additions to new fields gracefully. To support new capabilities through the Mapiq data connections feature, we will add and enhance the tables as needed.
Note that especially adding new columns is expected to be a non-breaking change for your application.
The applications is also expected to handle the unknown (and "null") values gracefully. If a value with a table is "null", we use a discriminator with a string "UNK", in all the tables. Also, to support new capabilities through the Mapiq data connections feature, we may add new values to the existing columns/fields. So, your application is expected not to break if a column has a value that it has not seen before. This is applicable for all the columns within the tables.