PlanController
Overview
Description
Path /v2/plans
Handles all requests regarding plans: creating, updating, deleting.
Plans can be userPlans (userId not null) oder tenantPlans (userId = null and tenant != 0)
Plan JSON Object
An example for a plan JSON object.
{
"plan":
{
"id":"userPlan3",
"parent":"tenantPlan1",
"name":"child of tenant plan 1",
"user":"standardUser",
"hash":"[NULL]",
"visibility":0,
"editRight":0,
"description":"[NULL]",
"active":true,
"created":"2014-10-20T05:22:25.000Z",
"draft":0,
"changeDate":"2025-10-19T22:00:00.000Z",
"planObjects":"planObjects content 4",
"open":0,
"planDirectory":1,
"changed":0,
"version":1,
"floorLevel":0,
"thumbnail":"thumbnailUserPlan3?version=1",
"createdInTenant":2,"assets":[],
"links":{},
"objectsInPlan":[
{
"combinedId": "catalogExtId:itemExtId",
"location": "x/y/z"
},
{ "combinedId": "catalogExtId:itemExtId:configuration",
"location": "10/20/0"
},
{ "combinedId": "catalogExtId:itemExtId:configuration",
"location": "1.2/2.3/4.5"
}],
"combinedIds" [
"catalogExtId:itemExtId",
"catalogExtId:itemExtId:configuration"
],
}
}
fields
id
pngIcon
svgIcon
inpirationImage
global
created
accessibleByTenants
translations
hidden
planObjects - the XML containing the plan data
objectsInPlan - List of Jsons - each json is an object in the plan, composed of two fields - combinedId and location
combinedIds - List of Strings - the list of unique combinedIds in the plan
API Reference
POST /
Accepts: json
Generates: json
standard way to create a new plan with the given content.
Returns a PlanContainer json with the created plan.
POST /
Accepts: multipart-formdata
Generates: json
Converting external format to a plan.
Parameters:
file: inputfile for the converter (may be zipped or gzipped)
format: format of the inputfile (currently support: dxf)
plan: json for the plan to be created. If provided this json will be enhanced by the planObjects from the converter and then added like in the normal POST
converterParams: json containing parameters for the converter.
possible Parameters for dxf:
windowHeight: Height of the windows, default 1200
parapetHeight: Z position of the windows, default 900
doorHeight: Height of the doors, default 2100
GET /demoPlans
Accepts: json
Generates: json
Returns a json object with demo plans.
GET /:id
Accepts: json
Generates: json
Returns a PlanContainer json with the plan whose id is specified.
PUT /:id
Accepts: json
Generates: json
Updates user plan, user must have valid rights to modify plans
Returns a PlanContainer json with updated plan
DELETE /:id
Accepts: json
Generates: json
Deletes the plan which has the specified id,users must have valid rights.
Returns empty content.
POST /:planId/assets/:assetId
Accepts: multipart-formdata
Generates: json
uploads plan asset image, users must have valid rights, and the image size being uploaded must not be too small
Returns a plan asset container json with the created plan assest.
{
"planAsset":{
"id":"assetId",
"image":"image",
"created":"2015-03-23T12:21:00.000Z"
}
}
POST /:id/draft
Accepts: multipart-formdata
Generates: json
uploads plan draft, users must have valid rights.
parameters: id - the plan id form-data - non-empty input stream.
Returns a plan draft json
{
{
"draft":{
"id":30,
"objId":0,
"timestamp":"2020-03-31T13:30:04.088Z",
"scale":1.0,"rotation":0.0,
"pathRoomle":"https://rsomeurl/m403988.jpg"
}
}
}
GET /:id/settings
Accepts: json
Generates: json
gets plan setting
Returns a plan settings json
{
"id":"test_setting",
"plan":"userPlan1",
"metric":false," +
"measurements":true,
"area":true,
"furnitureSnap":false,
"roomHeight":2805,
"wallThickness":250
}
POST /:id/settings
Accepts: json
Generates: json
creates a plan setting, require users to have valid rights
Returns a settings json
PUT /:id/settings
Accepts: json
Generates: json
updates a plan setting, require users to have valid rights
Returns a settings json
Last updated