OneDealer has the ability to map third-party entity properties to OneDealer Entities.
Understanding the Mapping System
Mapping System
Mapping System is considered any system that can be used in a Mapping Relationship.
OneDealer is considered a Mapping System too.
Any third-party system must be available as a Mapping System in order to map it.
These systems are usually created by the developers while implementing the system, but can also be found at $/SetupEntities/List/MappingManager/MappingSystem
A Mapping System entity has the following properties:
Code | Usually a random hash. It is used as an identifier in the Mapping MainGridList |
---|---|
Name | Can be random or a specific value. It is not used anywhere. |
Description | This is used to define the system. It is used as an identifier for the Mapping System in most cases |
Mapping Relationship
The base of the Mapping System is the relationship between OneDealer and the Third-Party system.
These relationships are usually created by the developers while implementing the system, but can also be found at $/SetupEntities/List/MappingManager/MappingSystemRelationship.
A Mapping Relationship entity has the following properties:
Code | Can be random or a specific value. It is not used anywhere. |
---|---|
Name | Can be random or a specific value. It is not used anywhere. |
Description | This is used to define the relation. It is used as an identifier for the Mapping Relationship |
Mapping From System | The Name of the Mapping System to be used as the base of the mapping. Usually, it is the OneDealer System. |
Mapping To System | The Name of the Mapping System to be used as the result of the mapping. |
Master System Type | The direction of the mapping. Usually, it is set to IsToSystemMaster |
API Key | The API key to be used from the Mapper in the algorithm. |
Mapping Object Type
Any OneDealer entity that needs to be mapped, must be defined as a Mapping Object Type.
These object types are usually created by the developers while implementing the system, but can also be found at $/SetupEntities/List/MappingManager/MappingObjectType.
A Mapping Object Type entity has the following properties:
Code | Can be random or a specific value. Used in Mapping MainGridList |
---|---|
Name | The OneDealer Entity Name. It is used as an identifier for the Mapping Object Type in most cases |
Description | This is used to define the object type. Used in some dropdowns as the identifier. Also used in Mapping MainGridList |
Mapping Object Type Provider
The purpose of a Mapping Object Type Provider is to connect a Mapping Object Type to an Implementation for each of the Mapping Systems it is needed.
This is a highly technical part of the Mapping procedure. It is normally set-up by the developers.
Mapping Object
A Mapping Object is practically the mapping between two Mapping Systems.
Each Mapping Object connects a Mapping Relationship to a Mapping Object Type and connects the value of the Third-Party system to the OneDealer equivalent.
Although you can create one by one the mapping by adding new items in the $/SetupEntities/List/MappingManager/MappingObject, it much easier to use the mass-edit function available when viewing the mapping in $/Mappings/MainGridList. The mass-edit function is described later on.
Creating a new Mapping
The following example explains how to create a new Mapping between OneDealer and PrintProvider.
Prerequisites
In order for OD to call the endpoints provided by the Print Providers, we have to fill a property called DocumentTypeCode.
This property is filled through the mapping of our enumeration (DocumentType) with the Print Provider available values.
If the Print Provider does not have any available values and expects the Document Types to be defined by One Dealer, we can send them the values that we already have by using a prefix (eg. OD_10 for Offer and OD_20 for Order).
Create Mapping Objects using the mass-edit (Manual Map)
Navigate to the Mappings Grid List through the menu
Or by using the URL $/Mappings/MainGridList
On the Mappings Grid List use the filters to choose between which two systems you want to map (in our case we want to map between One Dealer and Print Provider)
On the Mappings Grid List use the filters to choose which entity we want to map (in our case Document Type Enum)
Hit “Apply” on the filters and then “View” on the entry that the filters returned
On this screen, we see all the available values of the Master System (in our case this is One Dealer).
What we need to do is navigate to the value that we want to map and press “Manual Map” to open the Mapping Popup
On this Popup, we see already filled the value of the Master System and a form control that allows us to map the value of the secondary system
On the Secondary system form control we fill out the value that we want to map (e.g. OD_10)
After the input we click “Save” on the popup and we have finished our first mapping
Below there is a list of our DocumentType enumeration as well as a guid on how to create the mappings.
DocumentType
Offer | 10 |
Order | 20 |
Signed Order | 60 |
Payment Form | 70 |
Vehicle Delivery | 80 |
Signed Vehicle Delivery | 90 |
Preview | 30 |
Vehicle Purchase Offer | 40 |
Vehicle Purchase Order | 50 |
Vehicle Purchase Signed Order | 100 |
Vehicle Purchase Handover | 110 |
Vehicle Purchase Signed Handover | 120 |
Damage Report | 200 |
Signed Damager Report | 201 |
Advanced configuration
If there is no Mapping available in the GridList, you have to set-up the following.
Creating a new Mapping System
Menu Item | Mapping System |
---|---|
URL | $/SetupEntities/List/MappingManager/MappingSystem |
If there is no Mapping System available for the Third-Party system, add a new one by clicking the + button
Note
There should be OneDealer's System with code 1. The name might be different is some installations like 'OD' instead of "OneDealer" but it makes no difference, just select the appropriate OneDealer mapping system record in the following steps.
Creating a new Mapping Relationship
Menu Item | Mapping System Relationship |
---|---|
URL | $/SetupEntities/List/MappingManager/MappingSystemRelationship |
Create a new relationship by clicking +
Creating a new Mapping Object Type
Menu Item | Mapping Object Type |
---|---|
URL | $/SetupEntities/List/MappingManager/MappingObjectType |
If the OneDealer Entity does not exist as a Mapping Object Type, click on the + button to add it.
Creating a new Mapping Object Provider
Menu Item | Mapping Object Type Provider |
---|---|
URL | $/SetupEntities/List/MappingManager/MappingObjectTypeProvider |
Note
Be careful on which Implementation you should use for each Tenant
Add Comment