
Imagine different apps that need to work together, but they are like puzzle pieces that need to fit together. That’s where data mapping comes in. It’s like a clever interpreter that makes sure these apps understand each other, even though they actually speak different “languages” under the surface.
This post takes you on a journey of discovery through the world of data mapping. We’ll look at what exactly it is, how developers use it, and how APIcenter lends a hand. We’ll also look at what types of apps APIcenter can make work together and how you can customize data mapping to meet the specific needs of your project. In short, a behind-the-scenes look at linking apps!
Data Mapping at Application Links
Data mapping is widely used in links between applications. This is because two different applications were written by two different developers. As a result, two applications may look the same, but underwater they may be written completely differently. This creates a big gap when trying to link these applications together. To fix this problem, a developer who creates the integration must establish relationships between the information of the two applications. This is not that difficult, but when you have to do it for more than 60+ applications, it becomes an impossible task. In this post, we explain what data mapping is, how it is used, how APIcenter handles it, what types of APIcenter supports, and how you can customize the data mapping to your own needs to better fit the work process.
Source and Purpose Mapping
At APIcenter, we always take our own perspective when designing a data flow (flow). This means we consistently look at two sides. On the one hand, we have the ‘get’ side (GET), where information is retrieved. On the other hand, we have the ‘send’ side (SEND), which receives information.
To illustrate this concept, let’s take as an example a web shop on the receiving side and an accounting application on the sending side. The examples in this post use these two sides to illustrate the principles of source and target mapping.
Dot notation
Dot notation is a technique in programming languages that makes data clear and accessible. It allows users to navigate through complex data structures without in-depth programming knowledge.
At APIcenter, we use dot notation to make data structures of both the source application and the target application understandable. A standard format of dot notation is structured as follows: [Naam van het object].[Naam van het attribuut]. For example, if we want to retrieve the name (name) of a customer (customer), we notate it as: customer.name.
This method also allows you to go several layers deep. For example, if a customer has an address (address) with a street (street), this would be noted as: customer.address.street.
In addition, information can include multiple objects. An illustrative example is when a customer has multiple contacts (contacts), which is represented by a colon (:). For example: customer.contacts:name. The colon suggests that the attribute ‘name’ (name) can appear 0, 1, or multiple times.
Data Mapping types in APIcenter
APIcenter uses three types of data mapping: ‘ direct‘, ‘ additive‘, ‘ transformative‘
In the examples below, information is retrieved from a web shop and sent to an accounting system.
Direct
In this type of data mapping, data is directly related to each other. As an example, here we have a product with a name:
Webshop field | Accountancy field |
ProductName | ProductTitle |
Additive
Information, in this type, is copied into other fields to provide additional information to the accounting application. As an example, when the shipping address is missing on the customer:
Webshop field | Accountancy field |
BillingStreet | BillingStreet |
BillingPostalCode | BillingPostalCode |
BillingCountry | BillingCountry |
ShippingStreet | |
ShippingPostalCode | |
ShippingCountry |
This is done to give as much information as possible to the side doing the sending. Even if that information is not ultimately used.
Transformative
This is where information is added, subtracted or generally changed. For example, when prices on an order do not match (including or excluding tax):
Webshop field | Accountancy field |
TotalPriceIncludingTax | |
TotalPriceExcludingTax | |
TotalTax |
In the data mapping above, it becomes clear that the fields are not directly adjacent to each other, which can lead to challenges when passing webshop information directly to accounting.
However, APIcenter overcomes this by calculating the exclusive tax price using both the inclusive tax price and the tax amount. This allows valuable information to be generated for accounting, even if certain data is not readily available in the web shop. This approach ensures that the integration runs smoothly without causing problems in accounting.
Data mapping at APIcenter: A unique approach
At APIcenter, we take a distinctive approach to handling data mapping. Instead of mapping individual applications individually, APIcenter relates all application fields to its own data model. (A data model is a structured representation of an entity, such as a product or a customer.)
In the case of the web shop, where the information comes from, the data mapping looks like this. APIcenter strives to connect as many fields as possible to our data model. This approach ensures that a comprehensive set of information is available to the other application, in this case accounting. By following this methodology, APIcenter ensures that an abundance of relevant data is available for seamless integration with other applications.
Webshop field | APIcenter field |
ProductName | Name |
TotalPriceIncludingTax | TotalInclPrice |
TotalExclPrice | |
TotalTax | TotalTaxAmount |
For accounting, where the information is sent to, the data mapping can look this way. Here, only the information that is needed is selected.
APIcenter field | Accounting field |
Name | ProductTitle |
TotalInclPrice | |
TotalExclPrice | TotalPriceExcludingTax |
TotalTaxAmount |
After the client (or partner) selects which 2 applications they want, the 3 data models are merged. This can then be used by APIcenter to retrieve and forward information. This then looks like this:
Webshop field | APIcenter field | Accounting field |
ProductName | Name | ProductTitle |
TotalPriceIncludingTax | TotalInclPrice | |
TotalExclPrice | TotalPriceExcludingTax | |
TotalTax | TotalTaxAmount |
Adjustments to Data Mapping at APIcenter: Flexibility for Your Work Process
As a user of APIcenter, you have the ability to make adjustments to the data mapping of your flow. Although APIcenter makes every effort to fill in both sides of the link as best as possible, some fields may not fit seamlessly into our standardized data model. In addition, custom fields may have been created in the client environment that APIcenter may not have been able to identify.
In such situations, we offer the ability to change the merged data mappings on a per flow basis. A concrete example of this is when a customer would prefer the title of a product to be associated with the ‘ProductDescription’ field instead of ‘Name’. A possible modification of the data mapping would look like this:
Webshop field | APIcenter field | Accounting field |
ProductName | Name | ProductDescription |
To make the customization process easier, we have added all possible (default) field names that we know or could find. When you start typing in the input box, APIcenter automatically searches for possible fields that may be relevant.
Custom Application Fields
For custom fields that may be set in the client’s application, we do not automatically know their existence. However, if the programming name of such a custom field is known to you (possibly visible in the application), you can easily add it to the data mapping.
Custom/Free Fields
For fields that have no place in APIcenter’s default model, we introduce“custom fields” (custom fields). In this section, you can add arbitrary fields on either side. This can look like this:
Webshop field | APIcenter field | Accounting field |
CustomField1 | CustomFields.freeStringField0 | CustomField2 |
CustomFields.freeStringField9 | ||
CustomFields.freeValueField0 | ||
CustomFields.freeValueField9 |
Note that we offer two types of free fields: ‘string’ for fields with text and ‘value’ for numeric fields. By doing so, we give you the freedom to customize the data mapping and achieve a seamless integration to suit your specific needs.
Conclusion
For APIcenter, data mapping is a very important part of the overall process. The data mapping process allows us to have multiple applications communicate smoothly with each other. Because the fields are linked together, it will always have the same outcome after one setup. This creates stability, reduces errors and frees up time for more important tasks.