Mapping and Modifiers
The Mapping node is used to link data from a Source system to a Destination system. The data that is being mapped is formatted using Modifiers.
Mapping in DCKAP Integrator is used to link data from a source system to a destination system. Data from the source fields are formatted using Modifiers and then mapped to the associated destination fields.
Integrations or Pipes are the components that process the data synchronization based on the associated Flows and Mapping configurations. Based on the selected credentials, every pipe is associated with one Flow. The Flow may/may not contain one or more Mapping nodes that are added while developing the Flow.
Flows are the neural schema of every integration. A flow determines how the data should be synched end to end. A flow usually contains one or more Mapping nodes, which will format and link data from the source system to the destination system.
In the Flow, the API calls to be used in the mapping node are defined.
These API calls are configured in the API manager either used to get data or post data. Also, sample response and request fields are added while configuring these APIs.
The fields from the sample 'Request' and 'Response' are then used in the Mapping nodes as source and destination fields respectively.
Creating a New Pipe
- 1.Open the Integrations tab and click on Add New.
- 2.In the Add Pipe page, enter a Pipe Name and select Credentials (systems).
- 3.Once the Credentials have been chosen, all the Flows associated with those systems will be listed in the drop-down menu. Choose a Flow.
- 4.After a flow has been selected, all the Mapping nodes defined in the Flow will be displayed as Mapping cards.
- 5.Click on Configure to make changes to the Mapping nodes.
Click on Configure in the Mapping Card and a new window will open where you can
- Link fields
- Format data
- Modify data using modifiers
- Add custom fields
- Preview the mapping configuration
- Import or export mapping configurations
Here you will see Source fields on the Left-Hand side and Destination fields on the Right-Hand side. These fields are extracted from the sample Request and Response sections in the API Manager.
Drag and drop fields onto the Mapping area in the center.
For example:
first_name, last_name from the source mapped to customer_name, name in the destination email in the source to email_address in the destination.

Drag and Drop feature in Mapping
The Add Custom Field is used to add a new data value to the Source Field which can then be modified and sent to the destination.
Remember to hit the Save button after you have used the Modifier feature.

Modifier functions
Fields for which Modifiers have been applied in the Play area, cannot be directly removed from the Mapping page.
If any field from that is used in the Play area is removed from the API manager response, then that corresponding field (row) wil be highlighted in the Mapping play area.
A specific mapping configuration can be temporarily disabled by using the Comment option.

The Preview Mapping is used to test and get a preliminary view of how the Mapping functionality will work, instead of testing the entire Integration, thereby saving the developer's time.
Click on the Preview button in the top left section of the Mapping page. The Preview Mapping window will open.
- 1.Source Data: In this section, add the Source field data in JSON format.
- 2.Ignore Keys: Keys that should be ignored by the system, while processing data in the mapping structure defined by the user.
Click on the Preview button. Depending on the Source data provided and the Mapping and Modifier configurations, the preview response will display the output in the format of the respective destination fields.
- Save & Continue: To save the Mapping and remain on the same page
- Save & Exit: To save the Mapping and return to the Pipe page
Use Case
SOURCE DATA
{"firstname":"John", "lastname":"Smith"}
IGNORE KEYS: Customer
PREVIEW RESPONSE
{
"address": {
"name": "JohnSmith"
},
"company_id": "CLO",
"contact": {
"first_name": "John",
"last_name": "Smith"
},
"customer_name": "JohnSmith"
}
Modifiers may be added to each field that is mapped or to the link that connects two fields. The Modifier is used to edit or format data from the source fields.
Add one or more fields into each line of the Mapping Area. After adding fields to the Mapping area, click on the Modifier icon
, in the middle. Here, the fields are modified and transformed to a format that satisfies the underlying Mapping logic.
- 1.Drag one or more Source fields and drop it to the Play Area.
- 2.Then one or more Modifier functions maybe added to the source fields and also the link. Select the field and then Drag and Drop the modifier functions to the Configuration area or Play Area.
- 3.The Group feature is used to group one or more fields. The Grouped entity can then be used as a single field for modification.
- 4.Use the Preview section to test the Modifier functionality. The input format of the data to be modified can be selected by clicking on the drop down list in the Preview section.

Example: firstname (concatenate) lastname. The output of this modifier is mapped to the destination fields.
bit_length
Returns the number of bits necessary to represent an integer in binary, excluding the sign and leading zeros.
conjugate
Returns the complex conjugate of any int.
Example:
1+3j.conjugate()
Result: (1-3j)
Append
Adds an object to the end of the list.
Syntax: l.append(object)
Parameters: element (required)
Example:
sample_array = [a,b,c]
element = d
sample_array.append(element)
Result: [a,b,c,d]
count
Returns the number of occurrences of a value in the list.
Syntax: l.count(value)
Example:
sample_array = [a,b,c,a]
sample_array.count(a)
Result: 2
extend
Extends list by appending elements from the iterable.
Syntax: l.extend(iterable)
Parameters: array_value (required)
Example:
sample_array1 = [a,b,c]
sample_array2 = [d,e,f]
sample_array1.extend(sample_array2)
Result: [a,b,c,d,e,f]
index
Returns the index of the first occurrence of the specified list item. Raises ValueError if the value is not present.
Syntax: l.index(value, [start, [stop]])
Parameters:
end
index (required)
start
Example #1:
sample_array = [a,b,c,a]
sample_array.index(a,1,5)
Result: 3
Example #2:
sample_array = [a,b,c,a]
sample_array.index(a)
Result: 0
insert
Inserts an object at the specified index position.
Syntax: l.insert(index, object)
Parameters:
element (required)
index (required)
Example:
sample_array = [a,b,c,a]
sample_array.insert(2,f)
Result: [a,b,f,c,a]
pop
Removes and returns an item at the specified index (The default is to return the last item in the list). "IndexError" error is raised if list is empty or index is out of range.
Example:
sample_array = [a,b,c,a]
sample_array.pop(2)
Result: [a,b,a]
remove
Remove first occurrence of value. Raises ValueError if the value is not present.
Syntax: l.remove(value)
Parameters: element
Example:
sample_array = [a,b,c,a]
sample_array.remove(c)
Result: [a,b,a]
reverse
Reverse *IN PLACE*
Syntax: l.reverse()
sample_array = [a,b,c,a]
sample_array.reverse ()
Result: [a,c,b,a]
sort
Stable sort *IN PLACE*
Syntax: l.sort(key=None, reverse=False)
Parameters:
compare
key
reverse
capitalize
Return a capitalized version of the string, i.e. make the first character have upper case and the rest lower case.
Syntax: S.capitalize() -> str
Example:
sample_string = "test"
Result: Test
center
Return S centered in a string of length width. Padding is done using the specified fill character (default is a space).
Syntax: S.center(width[, fillchar]) -> str
Parameters:
fillchar
width (required)
Example:
sample_string = "test"
fillchar = -
width = 4
Result : ----test----
count
Returns the number of non-overlapping occurrences of substring sub in string.
Syntax: S[start:end]