REST API Reference > Data Integration REST API > Hierarchical mappers
  

Hierarchical mappers

Use this resource to run a hierarchical mapper to convert hierarchical data to a different hierarchical structure.

POST request

To run the hierarchical mapper, create a POST request and specify the XML data for the hierarchical mapper to process. You can provide the XML data as a buffer in the request body or as a file to pass to the hierarchical mapper. The output can be a buffer that is returned in the response, or you can write the output to a file.
Use the following URI to run the hierarchical mapper:
/h2h/api/v1/service/run/<hierarchical mapper ID>
You can find the hierarchical mapper ID by opening the hierarchical mapper in the Data Integration user interface. In the URL, the last string of characters is the hierarchical mapper ID.
For example, in the URL https://dm-us.informaticacloud.com/diUI/products/integrationDesign/main/idsm/7sQJvjkeZLIfpWg6hpYwqJ/read, the hierarchical mapper ID is 7sQJvjkeZLIfpWg6hpYwqJ.
The following table describes the fields in the POST request:
Field
Type
Description
agentGroupId
String
Runtime environment to run the hierarchical mapper.
input
Input details.
type
String
Type of input to send in the request body. Use buffer or file.
value
String
Input value to pass to the hierarchical mapper. If the input is a buffer, enter the XML data. If the input is a file, enter the path to the file.
output
Output details.
type
String
Type of output to receive in the response. Use buffer or file.
value
String
Output to receive in the response. If the output is a buffer, use an empty string. If the output is a file, enter the path to the file.

POST response

If successful, the hierarchical mapper returns the data in the target hierarchical structure.
The following table describes the fields in the response:
Field
Type
Description
output
String
Output value. The output is either a buffer or the path to a file.
message
String
Response message, such as Success.

POST request example for buffer to file

The following request runs a hierarchical mapper that converts XML data as a buffer and stores the converted data in an output file:
POST <server URL>/h2h/api/v1/service/run/<hierarchical mapper ID>
Content-Type: application/json
Accept: application/json
IDS-SESSION-ID: jpaybAKQMsmdt7vLJ02z0

{
"agentGroupId": "016GOR25000000000005",
"input": {
"type": "buffer",
"value":"<?xml version=\"1.0\" encoding=\"UTF-8\"?><HL7:MSH><MSH.1>1</MSH.1><MSH.2>^~\\&amp;</MSH.2><MSH.3><HD.1>GHH_ADT</HD.1></MSH.3><MSH.7>20080115153000</MSH.7><MSH.9><MSG.1>ADT</MSG.1><MSG.2>A01</MSG.2><MSG.3>ADT_A01</MSG.3></MSH.9><MSH.10>0123456789</MSH.10><MSH.11><PT.1>P</PT.1></MSH.11><MSH.12><VID.1>2.6</VID.1></MSH.12><MSH.16>AL</MSH.16></HL7:MSH>"
},
"output": {
"type": "file",
"value": "/root/idsm"
}
}
If successful, you receive the following response:
{
"output": "/root/idsm/hmapper_runtime_api_5040_output.xml",
"message": "Success"
}

POST request example for file to buffer

The following request runs a hierarchical mapper that converts XML data in a file and returns the output as a buffer in the response:
POST <server URL>/h2h/api/v1/service/run/<hierarchical mapper ID>
Content-Type: application/json
Accept: application/json
IDS-SESSION-ID: jpaybAKQMsmdt7vLJ02z0

{
"agentGroupId": "016GOR25000000000005",
"input": {
"type": "file",
"value":"/root/idsm/2.6_parser_response.xml"
},
"output": {
"type": "buffer",
"value": " "
}
}
If successful, you receive the following response:
{
"output": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<Departments>\r\n<Department name=\"\">\r\n<Employee>\r\n<Profile>\r\n<Id>0</Id>\r\n<FullName>1</FullName>\r\n<Skills>\r\n<FHIR4></FHIR4>\r\n<XYZ></XYZ>\r\n<hl7></hl7>\r\n<HIPAA></HIPAA>\r\n</Skills>\r\n</Profile>\r\n</Employee>\r\n</Department>\r\n</Departments>\r\n",
"message": "Success"
}