TDXM API Resource

Abstract class for REST webservices

POST /exportdata

Run export. Given objects will be exported with all ancestors to root (in given perspective) and, optionally, with subtree (only two levels down).

Example of request:

{"perspectiveId":"8","domainId":"200","exportSubtree":false,"description":"export test","objects": [{"objectId": "238336","classId": "107"}]} perspectiveId - perspective ID domainId - ID of external domain used to export exportSubtree - if true, subtree (children) will be exported too, but only two levels down description - description for export package objects - objects to export

Request Body
media type data type
*/* string
Response Body
media type data type description
application/json object JSON Response with information, whether the export started or not successfully

POST /tdxmprofile

Add new import profile

Example of request:

{"name":"Test","description":"dh","importType":"HDRep","domainId":1182,"areImportedFieldNamesIn1stRow":true,"perspectiveId":"8","contextRootId":"210924","contextRootClassId":"104","isImportDocs":true,"removeOldRaster":true,"vectorProcessingMode":"PRESERVE_MATCHED_LAYERS","isAddUnmappedLayers":true,"isTileRaster":true,"isAddUnmatchedObjects":true,"isRemoveSurplusObjects":false,"unlinkObjects":true,"classesToUnlink":["479"],"classesToUnlinkFrom":["132"],"autoLinking":false,"contextRootLabel":"3086 Enköping"} Required params in json String: "name","description","importType","domainId"

Request Body
media type data type
application/json object
Response Body
media type data type description
application/json object success: true/false

DELETE /exportdata/logs

Delete export logs

Example of request:

{"list":[{"id":1},{"id":2}]}

Request Body
media type data type
application/json object
Response Body
media type data type description
application/json object JSON Response with information, whether the operation was successful

POST /tdxm/register

Request Body
media type data type
application/json object
Response Body
media type data type description
application/json object

POST /tdxm/upload

Upload and register import package in compressed zip archive.

Request Parameters
name type description default constraints
name query Desired package name    
preserve query whether package should be omitted in auto delete service   required boolean
type query Package type    
Request Body
media type data type
multipart/form-data (custom)
Response Body
media type data type description
application/json object JSON with result

Example of response:

{"id":"93","success":true}

GET /tdxmprofile/json

Get all import profiles

Response Body
media type data type description
application/json object JSON with list of import profiles with it's config data.

Example of response:

{"list":[{"name":"test","description":"test","id":"16","config":"{\"name\": \"dhhsdh\", \"domainId\": \"1182\", \"importType\": \"HDRep\", \"autoLinking\": false, \"description\": \"dh\", \"isImportDocs\": true, \"contextRootId\": \"210924\", \"perspectiveId\": \"8\", \"unlinkObjects\": true, \"classesToUnlink\": [\"479\", \"478\"], \"removeOldRaster\": true, \"contextRootLabel\": \"3086 Enköping\", \"contextRootClassId\": \"104\", \"classesToUnlinkFrom\": [\"132\"], \"isAddUnmappedLayers\": true, \"isAddUnmatchedObjects\": true, \"isRemoveSurplusObjects\": false, \"areImportedFieldNamesIn1stRow\": true}"},{"name":"hdrep tes","description":"sbsdbsdbsdb","id":"14","config":"{\"name\": \"hdrep tes\", \"domainId\": \"1288\", \"importType\": \"HDRep\", \"autoLinking\": false, \"description\": \"sbsdbsdbsdb\", \"isImportDocs\": true, \"contextRootId\": \"163007\", \"perspectiveId\": \"8\", \"unlinkObjects\": true, \"classesToClean\": [\"123\"], \"classesToUnlink\": [\"478\"], \"removeOldRaster\": true, \"contextRootLabel\": \"045\", \"contextRootClassId\": \"104\", \"classesToUnlinkFrom\": [\"480\"], \"isAddUnmappedLayers\": true, \"vectorProcessingMode\": \"PRESERVE_MATCHED_LAYERS\", \"isAddUnmatchedObjects\": true, \"isRemoveSurplusObjects\": true, \"areImportedFieldNamesIn1stRow\": true}"}]}

DELETE /tdxmprofile/{profileId}

Remove import profile with following id

Request Parameters
name type description default constraints
profileId path - id of import profile   long
Response Body
media type data type description
application/json object success: true/false

PUT /tdxmprofile/{profileId}

Update import profile of following id

Example of request:

{"name":"Test","description":"dh","importType":"HDRep","domainId":1182,"areImportedFieldNamesIn1stRow":true,"perspectiveId":"8","contextRootId":"210924","contextRootClassId":"104","isImportDocs":true,"removeOldRaster":true,"vectorProcessingMode":"PRESERVE_MATCHED_LAYERS","isAddUnmappedLayers":true,"isTileRaster":true,"isAddUnmatchedObjects":true,"isRemoveSurplusObjects":false,"unlinkObjects":true,"classesToUnlink":["479"],"classesToUnlinkFrom":["132"],"autoLinking":false,"contextRootLabel":"3086 Enköping"}

Request Parameters
name type description default constraints
profileId path - id of import profile   long
Request Body
media type data type
application/json object
Response Body
media type data type description
application/json object success: true/false

GET /exportdata/formats/json

Get export formats

Response Body
media type data type description
application/json object JSON Response with list of export formats applicable to Export

GET /exportdata/logs/json

Returns export logs

Request Parameters
name type description default constraints
limit query shows up to limit rows 25 long
start query rows of result to skip 0 long
userId query if provided narrows results to the selected user   long
Response Body
media type data type description
application/json object JSON Response with detailed information about processed imports

Example of response:

{"total":30,"list":[{"id":29,"startDate": "2015-08-19T10:36:46.137+02:00","userId":2781,"userName": "John Doe" ,"domainId":279175,"domain":"ExcelTests","sourceId":109,"source": "1307-xls-hammen","status":"Finished","error":"","stopDate": "2015-08-19T10:36:52.276+02:00"},{"id":27,"startDate": "2015-08-19T10:33:44.436+02:00","userId":2781,"userName": "John Doe" ,"domainId":279175,"domain":"ExcelTests","sourceId":110,"source": "oo","status":"InProgress:GettingPackageForDb","error":"", "stopDate":"2015-08-19T10:33:44.436+02:00"},{"id":26,"startDate": "2015-08-19T10:31:19.209+02:00","userId":2781,"userName": "John Doe","domainId":281196,"domain":"demo2 v2" ,"sourceId":94,"source":"t_linux","status":"Finished","error":"", "stopDate":"2015-08-19T10:31:38.029+02:00"}]}

GET /exportdata/result/{packageName}

Get export result as file

Request Parameters
name type description default constraints
packageName path - the name of export package    
Response Body
media type data type description
application/zip object file with export result

POST /exportdata/result/{packageName}

Get export result as file

Request Parameters
name type description default constraints
packageName path - the name of export package    
Response Body
media type data type description
application/json object file with export result

GET /tdxm/activity/json

Get audit list of data exchange operations.

Request Parameters
name type description default constraints
filter query    
limit query   long
sortField query    
start query   long
Response Body
media type data type description
*/* object JSON with list of data exchange operations.

Example of response:

+ {"total":1,"list":[{"invokerId":1,"userId":10,"activityType":3,"name":"stonoga3","userFullName":"stonoga3","email":"stonoga3@abc.pl","activityTexts":["stonoga3","stonoga3x"],"activityIdentifiers":[],"invokerName":"admin","invokerFullName":"Administrator","invokerEmail":"dada@abc.pl","operationDate":"2020-03-04T15:46:28.860286Z"}]}

GET /tdxm/activity/report

Get list of tdxm activities in form of Excel report

Request Parameters
name type description default constraints
filter query    
sortField query    
Response Body
media type data type description
application/json object json response with information about started process

GET /tdxm/import/objectreport

Request Parameters
name type description default constraints
limit query 25 long
processId query    
start query 0 long
Response Body
media type data type description
application/json object

GET /tdxm/import/unmatchedobjectreport

Return unmatched objects with description about it's import failure

Request Parameters
name type description default constraints
limit query 25 long
processId query UUID format    
start query 0 long
Response Body
media type data type description
application/json object JSON response with information aobut unmatched objects {"total":2,"list":[{"operation":0,"guid":"203541 Hhrhgsprningen 1","errorCode":12,"details":[]},{"operation":0,"guid":"203541 Hwrhhngen 1/Byggnad 1","errorCode":12,"details":[]}]}

GET /tdxm/longrunning/json

Response Body
media type data type description
application/json object

DELETE /tdxm/packages/json

Delete import packages

Example of request:

{"list":[{"id":1},{"id":2}]}

Request Body
media type data type
application/json object
Response Body
media type data type description
application/json object JSON Response with information, whether the operation was successful

GET /tdxm/packages/json

Get registered import packages

Request Parameters
name type description default constraints
filter query    
limit query   long
offset query   long
sortField query    
Response Body
media type data type description
application/json object JSON Response with import packages

Example of response:

{"total":251,"list":[{"id":"3","name":"demo2","type":"HDRep","preserve":true,"uploadDate":"2016-02-16T07:39:21Z","lastImportDate":"2016-02-16T09:39:21Z","userFullName":"John Doe", userId: 15},{"id":"6","name":"vasyd","type":"HDRep","preserve":false,"uploadDate":"2016-02-16T07:39:21Z","userFullName":"Ann Doe", userId: 15}]}

PUT /tdxm/packages/json

Set preserve flag as true/false for import packages

Request Parameters
name type description default constraints
preserve query whether preserve flag should be set or removed

Example of request:

{"list":[{"id":1},{"id":2}]}
  required boolean
Request Body
media type data type
application/json object
Response Body
media type data type description
application/json object JSON Response with information, whether the operation was successful

GET /tdxm/proxy/json

Request Parameters
name type description default constraints
url query    
Response Body
media type data type description
application/json object

GET /tdxm/register/json

Get list of uploaded and unregistered packages ready to register

Response Body
media type data type description
application/json object JSON Response with list of packages

Example of response:

[{"path":"demo2.hh_replication","type":"HDRep","uploadDate":"2017-02-16T07:39:21Z", preserve: false},{"path":"vasyd","type":"HDRep","uploadDate":"2016-02-16T07:39:21Z",preserve: false}]

GET /exportdata/formats/json/{domainId}

Get export formats by domain id

Request Parameters
name type description default constraints
domainId path   long
Response Body
media type data type description
application/json object JSON Response with list of export formats applicable to Export

GET /tdxm/class/json/{classId}

Get description of specified object class in active configuration for Data Exchange Manager role

Request Parameters
name type description default constraints
classId path The unique identifier of object class.   long
Response Body
media type data type description
application/json object JSON Response with description of object class

Example of response:

{ "list": [{ "isDynamicField": false, "name": "hdid", "seq": "0", "label": "HyperDoc ID", "required": true, "isIdField": true, "typeId": 4, "isLabelField": false }, { "isDynamicField": false, "name": "nm", "seq": "1", "label": "HyperDoc Name", "required": false, "isIdField": false, "typeId": 2, "isLabelField": false }, { "isDynamicField": false, "name": "fi2spsys_id", "seq": "2", "label": "Floor ID", "required": false, "isIdField": false, "typeId": 2, "isLabelField": false }, { "isDynamicField": false, "name": "fi2spsys_class", "seq": "3", "label": "Class", "required": false, "isIdField": false, "typeId": 2, "isLabelField": false }, { "isDynamicField": false, "name": "fi2spsys_sysid", "seq": "4", "label": "Sys ID", "required": false, "isIdField": false, "typeId": 2, "isLabelField": false }, { "isDynamicField": false, "name": "fi2spsys_guid", "seq": "5", "label": "GUID", "required": false, "isIdField": false, "typeId": 2, "isLabelField": false }, { "isDynamicField": false, "name": "fi2spsys_name", "seq": "6", "label": "Floor", "required": true, "isIdField": false, "typeId": 2, "isLabelField": true }, { "isDynamicField": false, "name": "fi2spsys_fullname", "seq": "7", "label": "Fullname", "required": false, "isIdField": false, "typeId": 2, "isLabelField": false }, { "isDynamicField": false, "name": "fi2spsys_descr", "seq": "8", "label": "Description", "required": false, "isIdField": false, "typeId": 2, "isLabelField": false }] }

GET /tdxm/import/cancel/{processId}

Request Parameters
name type description default constraints
processId path    
Response Body
media type data type description
application/json object

GET /tdxm/import/logs/json

Returns import log

Request Parameters
name type description default constraints
limit query shows up to limit rows 25 long
packageTypes query list of comma separated packageTypes ids list    
start query rows of result to skip 0 long
userId query if provided narrows results to the selected user   long
Response Body
media type data type description
application/json object JSON Response with detailed information about processed imports

Example of response:

{"total":30,"list":[{"id":29,"startDate": "2015-08-19T10:36:46.137+02:00","userId":2781,"userName": "John Doe" ,"domainId":279175,"domain":"ExcelTests","sourceId":109,"source": "1307-xls-hammen","status":"Finished","error":"","stopDate": "2015-08-19T10:36:52.276+02:00","statistics":{"versionId":10392,"draftId":10377, "draftName":"dn test final","objects":[{"objectClassId":140,"objectClassName":"arkitekt", "objectClassLabel":"Arkitekt","added":1,"updated":0,"deleted":0},{"objectClassId":142, "objectClassName":"mark","objectClassLabel":"Mark","added":3,"updated":0,"deleted":0}], "files":{"added":4,"tiled":0,"deleted":0},"spots":{"added":76,"updated":0,"deleted":0}, "links":{"added":0,"updated":0,"deleted":0},"packageName":"HDRep_1_Sapsjudaren"}},{"id":27,"startDate": "2015-08-19T10:33:44.436+02:00","userId":2781,"userName": "John Doe" ,"domainId":279175,"domain":"ExcelTests","sourceId":110,"source": "oo","status":"InProgress:GettingPackageForDb","error":"", "stopDate":"2015-08-19T10:33:44.436+02:00"},{"id":26,"startDate": "2015-08-19T10:31:19.209+02:00","userId":2781,"userName": "John Doe","domainId":281196,"domain":"demo2 v2" ,"sourceId":94,"source":"t_linux","status":"Finished","error":"", "stopDate":"2015-08-19T10:31:38.029+02:00"}]}

GET /tdxm/import/logs/xls

Returns import log in form of XLS report - this is the only way to filter by import (package) type

Request Parameters
name type description default constraints
limit query shows up to limit rows 25 long
packageTypes query - list of integer identifiers of import types    
start query rows of result to skip 0 long
userId query if provided narrows results to the selected user   long
Response Body
media type data type description
application/json object JSON Response with detailed information about processed imports

GET /tdxm/import/report/{processId}

Return xml object report for processId

Request Parameters
name type description default constraints
processId path ID of process    
Response Body
media type data type description
application/xml object XML response with import object log for import process, containing information about each imported document status: 72f4f524-c5ec-4315-8634-e338cbejr9a214 add 04edfe0c-51cf-4bcb-96cf- d91trjcb213f262 error

POST /tdxm/import/report/{processId}

Request Parameters
name type description default constraints
processId path    
Response Body
media type data type description
application/json object

GET /tdxm/import/statistics/{jobId}

Return statistics for sourceId db changes performed in given timespan

Request Parameters
name type description default constraints
jobId path   long
sourceId query - import package id   long
startDate query - start datetime for importing package    
stopDate query - end datetime for importing package    
Response Body
media type data type description
application/json object JSON response with object database changes or errors occurred during package import in following timespan

POST /tdxm/import/{type}/{packageId}

Run import

Example of request:

{"domainId":1, "description":"a description","perspectiveId":"11","contextRootId":"","contextRootClassId":"","isImportDocs":true,"removeOldRaster":true,"removeOldOverlay":false,"isAddUnmappedLayers":true,"isTileRaster":true,"isAddUnmatchedObjects":true,"isRemoveSurplusObjects":false,"classesToClean":["100"],"unlinkObjects":false,"classesToUnlink":["101"]"autoLinking":false} domainId - ID of external domain used to import description - description of import perspectiveId - perspective ID contextRootClassId, contextRootId - definition of context root object, if not set it could be get from import package (depends on import type) isImportDocs - if true, documents will be imported removeOldRaster - if true, old raster will be removed vectorProcessingMode - REMOVE_EXISTING_OVERLAY removes existing overlays, CLEAR_MATCHED_LAYERS clears matched layers, PRESERVE_MATCHED_LAYERS preserves matched layers isAddUnmappedLayers - if true, unmapped layers will be added isTileRaster - if true, raster will be tiled during import requireObjectIdentifiers - if true, import will be rejected if any of imported objects does not have tobis identification identifier isAddUnmatchedObjects - if true, unmatched objects will be added isRemoveSurplusObjects - if true, surplus objects of classes listed in classesToClean parameter will be removed unlinkObjects - ??? "classesToUnlink":["461"] autoLinking - ???

Request Parameters
name type description default constraints
packageId path - id of the package to be imported.   long
type path type of import. Available types:
  • HDRep
  • FI2
  • FI2002
  • XLS
  • ObjectData
  • NavetHDoc
  • IFC
  • Bimeye
   
profileId query - id of import profile to be utilized during import. If profile id is set, json string with import config is not required. In that case one json parameters string should contain only those import parameters to overwrite import profile parameters.   long
Request Body
media type data type
application/json string
Response Body
media type data type description
*/* object JSON Response with information, whether the import started or not successfully

GET /tdxm/import/report/{processId}/excel

Return xls object report for processId

Request Parameters
name type description default constraints
processId path ID of process    
Response Body
media type data type description
application/json object XML response with import object log for import process, containing information about each imported document status: 72f4f524-c5ec-4315-8634-e338cbejr9a214 add 04edfe0c-51cf-4bcb-96cf- d91trjcb213f262 error

GET /tdxm/package/download/{packageId}/{packageType}

Request Parameters
name type description default constraints
packageId path   long
packageType path    
Response Body
media type data type description
application/zip object

POST /tdxm/package/download/{packageId}/{packageType}

Request Parameters
name type description default constraints
packageId path   long
packageType path    
Response Body
media type data type description
application/json object