api/login
via HTTP post with the parameters username
and password
. Only administrators or ETL users can login.
api/login?username=test&password=test
Any subsequent HTTP requests will need to use the received session cookie to authenticate themselves.
api/logout
api/ping
. You do not need to be logged in to do this.
{
"success": true
}
api/isApiReady
.
{
"success": true,
"message": ""
}
api/getCurrentValuesForElements?elementIds=[Id](&elementIds=[Id])*(&entryIds=[Id])*(&states=[String])*
You will need administrative privileges for this request.
success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem. elementIds
contains a list of valid elements, entryIds
a list of valid fields, states
the possible element states of the returned elements, and datasheets
contains the list of datasheets of all valid elements.
The values of fields 4, 5 and 6 are to be read for elements 11 and 12.
GET URL:
api/getCurrentValuesForElements?elementIds=11&elementIds=12&entryIds=4&entryIds=5&entryIds=6
{
"success": true,
"message": "",
"elementIds": [11,12],
"entryIds": [4,5,6],
"states": ["IMAGINARY","IN_PLANNING","ACTIVE","ON_HOLD","CLOSED","REJECTED","ARCHIVED"],
"datasheets": [
{
"authorId": 1,
"elementId": 11,
"scopeType": {
"id": 1,
"name": "Invoice",
"type": "NODE"
},
"entries": [
{
"id": 4,
"title": "Invoice ID",
"type": "String",
"isTableColumn": false
},
{
"id": 5,
"title": "Invoice amount",
"type": "Number",
"isTableColumn": false
},
{
"id": 6,
"title": "Invoice date",
"type": "Date",
"isTableColumn": false
}
],
"values": [
{
"entryId": 4,
"value": "10345",
"state": "VALID",
"isFormula": false,
"timestamp": "2018-03-19T17:33:46.511Z"
},
{
"entryId": 5,
"value": {
"unit": "",
"value": 26.99
},
"state": "VALID",
"isFormula": false,
"timestamp": "2018-03-19T14:57:15.938Z"
},
{
"entryId": 6,
"value": "2018-02-08T12:00:00.000Z",
"state": "VALID",
"isFormula": false,
"timestamp": "2018-03-19T17:33:46.511Z"
}
],
"version": "2018-11-14T01:00:00Z"
},
{
"authorId": 1,
"elementId": 12,
"scopeType": {
"id": 1,
"name": "Invoice",
"type": "NODE"
},
"entries": [
{
"id": 4,
"title": "Invoice ID",
"type": "String",
"isTableColumn": false
},
{
"id": 5,
"title": "Invoice amount",
"type": "Number",
"isTableColumn": false
},
{
"id": 6,
"title": "Invoice date",
"type": "Date",
"isTableColumn": false
}
],
"values": [
{
"entryId": 4,
"value": "10346",
"state": "VALID",
"isFormula": false,
"timestamp": "2018-03-19T17:38:49.012Z"
},
{
"entryId": 5,
"value": {
"unit": "€",
"value": 89.95
},
"state": "VALID",
"isFormula": false,
"timestamp": "2018-03-19T17:38:49.012Z"
},
{
"entryId": 6,
"value": "2018-02-09T12:00:00.000Z",
"state": "VALID",
"isFormula": false,
"timestamp": "2018-03-19T17:38:49.012Z"
}
],
"version": "2018-11-14T01:00:00Z"
}
]
}
api/getValueHistoryForElements?elementIds=[Id](&elementIds=[Id])*(&entryIds=[Id])*(&states=[String])*
You will need administrative privileges for this request.
success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem. elementIds
contains a list of valid elements, entryIds
a list of valid fields, states
the possible element states of the returned elements, and datasheets
contains the list of datasheets of all valid elements.
The values of fields 4 and 5 are to be read for elements 11 and 12.
GET URL:
api/getValueHistoryForElements?elementIds=11&elementIds=12&entryIds=4&entryIds=5&entryIds=6
{
"success": true,
"message": "",
"elementIds": [11,12],
"entryIds": [4,5],
"states": ["IMAGINARY","IN_PLANNING","ACTIVE","ON_HOLD","CLOSED","REJECTED","ARCHIVED"],
"datasheets": [
{
"elementId": 11,
"scopeType": {
"id": 1,
"name": "Invoice",
"type": "NODE"
},
"entries": [
{
"id": 4,
"title": "Invoice ID",
"type": "String",
"isTableColumn": false
},
{
"id": 5,
"title": "Invoice Amount",
"type": "Number",
"isTableColumn": false
}
],
"values": [
{
"entryId": 5,
"value": {
"unit": "",
"value": 26.99
},
"state": "VALID",
"isFormula": false,
"timestamp": "2018-03-19T14:57:15.938Z"
},
{
"entryId": 4,
"value": "10345",
"state": "VALID",
"isFormula": false,
"timestamp": "2018-03-19T17:33:46.511Z"
}
],
"authors": [
{
"author": "Doe, John",
"timestamp": "2018-03-19T14:57:15.938Z"
},
{
"author": "Doe, John",
"timestamp": "2018-03-19T17:33:46.511Z"
}
]
},
{
"elementId": 12,
"scopeType": {
"id": 1,
"name": "Invoice",
"type": "NODE"
},
"entries": [
{
"id": 4,
"title": "Invoice ID",
"type": "String",
"isTableColumn": false
},
{
"id": 5,
"title": "Invoice Amount",
"type": "Number",
"isTableColumn": false
}
],
"values": [
{
"entryId": 4,
"value": "10346",
"state": "VALID",
"isFormula": false,
"timestamp": "2018-03-19T17:38:49.012Z"
},
{
"entryId": 5,
"value": {
"unit": "€",
"value": 89.95
},
"state": "VALID",
"isFormula": false,
"timestamp": "2018-03-19T17:38:49.012Z"
},
{
"entryId": 5,
"value": {
"unit": "€",
"value": 89.95
},
"state": "VALID",
"isFormula": false,
"timestamp": "2018-04-01T09:01:58.823Z"
}
],
"authors": [
{
"author": "Doe, John",
"timestamp": "2018-03-19T17:38:49.012Z"
},
{
"author": "Doe, John",
"timestamp": "2018-04-01T09:01:58.823Z"
}
]
}
]
}
getValuesForLayout
method. If the element state is specified, a result will only be returned if the current state matches the specified state.
api/getValuesForLayout?elementId=[Id]&layoutId=[Id](&state=[String])?
No special rights are required for this request.
success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem. elementId
contains the id of the queried element, layoutId
the id of the queried layout, state
the current element state, and datasheet
the datasheet with the values.
The values of layout 4 are to be read for element 11.
GET URL:
api/getValuesForLayout?elementId=11&layoutId=4
{
"success": true,
"message": "",
"elementId": 11,
"layoutId" : 4
"state": "ACTIVE",
"datasheet": {
"authorId": 1,
"elementId": 11,
"version": "2018-11-14T01:00:00Z"
"scopeType": {
"id": 1,
"name": "Invoice",
"type": "NODE"
},
"entries": [
{
"id": 4,
"title": "Invoice ID",
"type": "String",
"isTableColumn": false
},
{
"id": 5,
"title": "Invoice Amount",
"type": "Number",
"isTableColumn": false
},
{
"id": 6,
"title": "Invoice Date",
"type": "Date",
"isTableColumn": false
}
],
"values": [
{
"entryId": 4,
"value": "10345",
"state": "VALID",
"isFormula": false,
"timestamp": "2018-03-19T17:33:46.511Z"
},
{
"entryId": 5,
"value": {
"unit": "",
"value": 26.99
},
"state": "VALID",
"isFormula": false,
"timestamp": "2018-03-19T14:57:15.938Z"
},
{
"entryId": 6,
"value": "2018-02-08T12:00:00.000Z",
"state": "VALID",
"isFormula": false,
"timestamp": "2018-03-19T17:33:46.511Z"
}
],
}
}
getValueHistoryForLayout
method.
api/getValueHistoryForLayout?elementId=[Id]&layoutId=[Id](&entryIds=[Id])*
it is recommended to query only the required fields. If no field ids are specified, the response will contain all visible fields of the layout. The list of authors is populated only if the user.versionAuthor.visible switch is active in the configuration.success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem. elementId
contains the id of the queried element, layoutId
the id of the queried layout, entryIds
a list of valid fields, and datasheet
the datasheet with the values. The values are sorted in ascending order by version date.
The values of fields 4 and 5 of layout 4 are to be read for element 11.
GET URL:
api/getValueHistoryForLayout?elementId=11&layoutId=4&entryIds=4&entryIds=5
{
"success": true,
"message": "",
"elementId": 11,
"layoutId" : 4
"entryIds": [4,5],
"datasheet": {
"elementId": 11,
"scopeType": {
"id": 1,
"name": "Invoice",
"type": "NODE"
},
"entries": [
{
"id": 4,
"title": "Invoice ID",
"type": "String",
"isTableColumn": false
},
{
"id": 5,
"title": "Invoice Amount",
"type": "Number",
"isTableColumn": false
}
],
"values": [
{
"entryId": 5,
"value": {
"unit": "",
"value": 27.98
},
"state": "VALID",
"isFormula": false,
"timestamp": "2018-03-19T13:08:53.282Z"
},
{
"entryId": 4,
"value": "10345",
"state": "VALID",
"isFormula": false,
"timestamp": "2018-03-19T14:57:15.938Z"
},
{
"entryId": 5,
"value": {
"unit": "",
"value": 26.99
},
"state": "VALID",
"isFormula": false,
"timestamp": "2018-03-19T14:57:15.938Z"
}
],
"authors": [
{
"author": "Doe, John",
"timestamp": "2018-03-19T13:08:53.282Z"
},
{
"author": "Doe, Jane",
"timestamp": "2018-03-19T14:57:15.938Z"
}
]
}
}
api/nodes?typeName=[String]&level=[Id](&states=[String])+(&entries=[String])*
You will need administrative privileges for this request.IMAGINARY
, IN_PLANNING
, ACTIVE
, ON_HOLD
, CLOSED
, REJECTED
or ARCHIVED
.
All invoice numbers and order numbers whose elements have the status ACTIVE
or ON_HOLD
are to be returned from the aspect type Billing of level 1 (subnode of root node).
GET URL:
api/nodes?typeName=Billing&level=1&entries=InvoiceNumber&entries=OrderNumber&states=ACTIVE&states=ON_HOLD
[
{
"InvoiceNumber": "1234",
"OrderNumber": "4711"
},
{
"InvoiceNumber": "3456",
"OrderNumber": "3241"
}
]
api/getTableViewData?tableViewId=[Id](&filterCondition=[String])?(&elementIdsFilter=[String])?(&entryIdsFilter=[String])?(&valueType=simple)?
No special rights are required for this request.IMAGINARY
, IN_PLANNING
, ACTIVE
, ON_HOLD
, CLOSED
, REJECTED
or ARCHIVED
.
The TableView with Id 1 is to be read, limited to the specified elements and fields for which the order date is before today.
GET URL:
api/getTableViewData?tableViewId=1&filterCondition=@OrderDate<TODAY&elementIdsFilter=23,24,25,28&entryIdsFilter=25
JSON Result with simple values:
{
"success": true,
"message": "",
"tableViewId": 1,
"filterCondition": "@OrderDate<TODAY",
"elementIdsFilter": [23,24,25,28],
"entryIdsFilter": [25],
"tableViewData": {
"tableViewId": 1,
"columns": [
{
"name": "Name",
"columnType": "NAME",
"entry": null
},
{
"name": "Amount",
"columnType": "ENTRY",
"entry": {
"id": 25,
"title": "Amount",
"type": "Number",
"isTableColumn": false
}
}
],
"rows": [
{
"elementId": 2,
"values": [
"Auftrag 3452",
{
"unit": "",
"value": 26.99
}
]
},
{
"elementId": 8,
"values": [
"Auftrag 2893",
{
"unit": "",
"value": 53.49
}
]
}
]
}
}
JSON Result with extended values:
{
"success": true,
"message": "",
"tableViewId": 1,
"filterCondition": "@OrderDate<TODAY",
"elementIdsFilter": [23,24,25,28],
"entryIdsFilter": [25],
"tableViewData": {
"tableViewId": 1,
"columns": [
{
"name": "Name",
"columnType": "NAME",
"entry": null
},
{
"name": "Amount",
"columnType": "ENTRY",
"entry": {
"id": 25,
"title": "Amount",
"type": "Number",
"isTableColumn": false
}
}
],
"rows": [
{
"elementId": 2,
"values": [
{
"entryId": -1,
"value": "Order 3452",
"state": "VALID",
"isFormula": false,
"timestamp": "2018-03-19T14:57:15.938Z"
},
{
"entryId": 25,
"value": {
"unit": "",
"value": 26.99
},
"state": "VALID",
"isFormula": false,
"timestamp": "2018-03-19T14:57:15.938Z"
}
]
},
{
"elementId": 8,
"values": [
{
"entryId": -1,
"value": "Order 2893",
"state": "VALID",
"isFormula": false,
"timestamp": "2018-03-19T09:14:18.674Z"
},
{
"entryId": 25,
"value": {
"unit": "",
"value": 53.49
},
"state": "VALID",
"isFormula": false,
"timestamp": "2018-03-18T09:14:18.674Z"
}
]
}
]
}
}
api/performETL?etl=[String]
You will need administrative privileges for this request.
success
flag as its only value, indicating whether the request was processed successfully.
A new Project 125 is to be created as a process. For better readability the URL was not escaped.
GET URL:
api/performETL?etl="15";"3";"1";"0";"myCRM";"Project 125";"";"Project";"Project 125";""
{
"success": true
}
api/writeDatasheet?elementId=[Id]&values=[JSON-Array](&layoutId=[Id])
This request requires write permissions for the fields to be written on the (optionally) specified layout of the element. If no layout id is passed, the software tries to write the values on the default element layout.
success
indicating whether the request was processed successfully. The elementId
and layoutId
parameters are also returned. If no layout id was provided by the caller, the id of the default layout used as a fallback is returned.
GET URL:
api/writeDatasheet?elementId=1020&values=[{"entryId":42,"value":{"value":30.50,"unit":"€"},"state":"VALID","isFormula":false,"timestamp":null}]"
{
"success": true,
"elementId": 1020,
"layoutId": 99
}
api/copyByButton?elementId=[Id]&buttonId=[Id](&actorId=[Id])(&sourceElementId=[Id])(&targetIds=[Id])*©Name=[String]&values=[JSON-Array]&connectionButtonExecutions=[JSON-Array]
This request requires access rights to the corresponding CopyButton. To perform the operation on behalf of another account, you need administrative rights to the system. The Die sourceElementId
can be omitted if the copy button is configured with only one possible source.
success
flag whether the request was successfully processed and a list of element ids that were created during copying.
On the node 23 the CopyButton 45 is to be pressed for the user 2. The template 8 is to be copied under the nodes 12 and 14.
GET URL:
api/copyByButton?elementId=23&buttonId=45&actorId=2&sourceElementId=8&targetIds=12&targetIds=14©Name=Test&values=[{"Name":"Request", "Date": "2018-03-18T09:14:18.674Z"}]&connectionButtonExecutions=[]
{
"success": true,
"copies": [25,26]
}
api/executeActionButton?elementId=[Id]&buttonId=[Id](&actorId=[Id])?(&layoutId=[Id])?(&buttonData=[JSON])?
No special rights are required for this request unless an actor id is specified. Only with administrative rights a button can be pressed on behalf of other accounts.
{
"params": [
{
"name": String,
"type": ["BOOLEAN" | "CHOICE" | "DATE" | "MULTIPLE_CHOICE" | "NUMBER" | "STRING"],
"editable": [ true | false ],
"value": Primitive
}
]
}
[
{
"choiceOptionsPropagation": ["CHANGE" | "RENAME" | "REORDER"],
"choiceOptions": Comma Separated String
}
]
{
"etlData": CSV String,
"locale": ["en_US" | "en_GB" | "de_DE"]
}
success
flag indicating whether the request was successfully processed and the task ID of the launched job.
On node 23, the ActionButton 45 on layout 24 is to be pressed for user 2.
GET URL:
api/executeActionButton?elementId=23&buttonId=45&actorId=2&layoutId=24
{
"success": true,
"elementId": 23,
"buttonId": 45,
"layoutId": 24,
"buttonData": null,
"actorId": 2,
"taskId": 1284
}
getElementIdsForType
method. If the type name is not globally unique, you can also specify the element type (OBJECT
, PROCESS
, ASPECT
, NODE
or CONNECTION
). The following values are allowed as element status: IN_PLANNING
, ACTIVE
, ON_HOLD
, CLOSED
, REJECTED
or ARCHIVED
. If no status is specified, only elements with the status IN_PLANNING
, ACTIVE
or ON_HOLD
are listed.
api/getElementIdsForType?typeName=[String](&elementType=[String])?(&states=[String])*
You will need administrative privileges for this request.
success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem. elementIds
is an id list of the found elements.
All active nodes of type invoice are searched.
GET URL:
api/getElementIdsForType?typeName=Invoice&elementType=NODE&states=ACTIVE
{
"success": true,
"message": "",
"elementIds": [3,5,8]
}
getElementsForTypeIds
method to query short element descriptions for multiple types at once.
api/getElementsForTypeIds?typeIds=[Id](&typeIds=[Id])*(&states=[String])*
You will need administrative privileges for this request.
success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem. elements
is a list of element objects.
All active elements of type 2 are searched.
GET URL:
api/getElementsForTypeIds?typeIds=2&states=ACTIVE
{
"success": true,
"message": "",
"elements": [
{
id: 3,
name: "Homer",
typeId: 2
},
{
id: 5,
name: "Marge",
typeId: 2
},
{
id: 8,
name: "Lisa",
typeId: 2
}
]
}
api/findNode?nodeName=[String]&aspectTypeName=[String]
You will need administrative privileges for this request.
success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem. node
is a map describing the requested node.
The employee node Homer Simpson is to be read.
GET URL:
api/findNode?nodeName=Homer%20Simpson&aspectTypeName=Employee
{
"success": true,
"message": "",
"node": {
"id": 5,
"name": "Homer Simpson",
"aspectId": 2,
"aspectName": "Employee",
"topLevelId": 1,
"topLevelName": "REWOO Software GmbH",
"topLevelIsProcess": false,
"parentNodeIds": [3],
"parentNodeNames": []
}
}
api/getConnectionsForType?typeName=[String]
You will need administrative privileges for this request.
success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem. connections
contains a list of the connections found.
All connections of type employee2order are to be listed.
GET URL:
api/getConnectionsForType?typeName=employee2order
{
"success": true,
"message": "",
"connections": [
{
"id": 43,
"name": "employee2order",
"source": {
"id": 5,
"name": "Homer Simpson",
"aspectId": 2,
"aspectName": "Employee",
"topLevelId": 1,
"topLevelName": "REWOO Software GmbH",
"topLevelIsProcess": false,
"parentNodeIds": [3],
"parentNodeNames": []
},
"target": {
"id": 28,
"name": "Advisor",
"aspectId": 27,
"aspectName": "Advisor",
"topLevelId": 16,
"topLevelName": "Order 10213",
"topLevelIsProcess": true,
"parentNodeIds": [],
"parentNodeNames": []
}
}
]
}
api/search?term=[String]&page=[Number]&pageSize=[Number]
No special rights are required for this request.term
is the processed search query, in the list results
the found results. The single result is a map with elementId
(Scope ID of the found element), name
(element name), datasheetVersion
(Timestamp of the value containing the search hit), breadcrumb
(List of parent elements as maps with elementId
and name
).
The text REWOO is to be searched for. Expected is the second page with a maximum of 2 entries.
GET URL:
api/search?term=rewoo;page=1;pageSize=2
{
"term": "rewoo",
"results": [
{
"elementId": 3,
"name": "John Doe",
"datasheetVersion": 1497950642278,
"breadcrumb": [
{
"elementId": 1,
"name": "REWOO Software GmbH"
},
{
"elementId": 2,
"name": "Employee"
}
]
},
{
"elementId": 4,
"name": "Jane Doe",
"datasheetVersion": ,
"breadcrumb": [
{
"elementId": 1,
"name": "REWOO Software GmbH"
},
{
"elementId": 2,
"name": "Employee"
}
]
}
]
}
api/getNodeTypes
You will need administrative privileges for this request.
success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem. nodeTypes
contains the list of node types.
GET URL:
api/getNodeTypes
{
"success": true,
"message": "",
"nodeTypes": [
{
"id": 1,
"name": "Employee",
"type": "NODE"
},
{
"id": 2,
"name": "Invoice",
"type": "NODE"
}
]
}
api/getEntryForTitle?entryTitle=[String]&typeName=[String](&elementType=[String])?
You will need administrative privileges for this request.OBJECT
, PROCESS
, ASPECT
or CONNECTION
.
success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem. entry
is a map that describes the form field.
The field InvoiceNumber is to be queried from the aspect type Invoice.
GET URL:
api/getEntryForTitle?entryTitle=InvoiceNumber&typeName=Invoice&elementType=ASPECT
{
"success": true,
"message": "",
"entry": {
"id": 427,
"title": "InvoiceNumber"
}
}
api/getEntriesByTypes?entryType=[String](&typeIds=[Id])*(&typeNames=[String])*
You will need administrative privileges for this request.success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem. entries
is a list of field descriptions.
All fields of the type FileLinks are to be queried from element type 2.
GET URL:
api/getEntriesByTypes?entryType=FileLinks&typeIds=2
{
"success": true,
"message": "",
"entryType": "FileLinks",
"entries": [
{
id: 47,
title: "Invoices",
type: "FileLinks",
isTableColumn: false
}
]
}
api/getDatasheetEntries?entryIds=[Id](&entryIds=[Id])*
No special rights are required for this request.
success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem. entryIds
contains the list of queried field ids and entries
the list of field descriptions.
Fields 2 and 3 are to be queried.
GET URL:
api/getDatasheetEntries?entryIds=2&entryIds=3
{
"success": true,
"message": "",
"entryIds": [2,3],
"entries": [
{
"serverId": 2,
"title": "Invoice ID",
"type": "String",
"defaultValue": "={R-}+COUNTER(Invoice)",
"format": "",
"choiceOptions": "",
"comment", "Please always specify the invoice ID in the format R-XXXX"
"commentAsTooltip": true,
"requiredAccessRight": "R"
"buttonDefinition": null,
"defaultValuePropagation": "SAME",
"choiceOptionsPropagation": "CHANGE",
"obsolete": false
},
{
"serverId": 3,
"title": "Invoice amount",
"type": "Number",
"defaultValue": "",
"format": "{"valueSuffix":" €","fontWeight":"normal","textAlign":"right","format":"currency"}",
"choiceOptions": "",
"comment", ""
"commentAsTooltip": false,
"requiredAccessRight": "R"
"buttonDefinition": null,
"defaultValuePropagation": "SAME",
"choiceOptionsPropagation": "CHANGE",
"obsolete": false
}
]
}
api/resolveIdToName?entityId=[Id]&entityType=[ ELEMENT | TYPE | ENTRY | ATTACHMENT ]
You will need administrative privileges for this request.
success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem. entityName
contains the name you are looking for.
The name of an element is to be queried.
GET URL:
api/resolveIdToName?entityId=17&entityType=ELEMENT
{
"success": true,
"message": "",
"entityId": 17,
"entityType": "ELEMENT",
"entityName": "Employee"
}
api/getLayoutForName?layoutName=[String]&typeName=[String]&elementType=[String]
You will need administrative privileges for this request.OBJECT
, PROCESS
, ASPECT
or CONNECTION
.
success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem. layout
contains the information about the searched layout. In layoutName
, typeName
and elementType
the values are entered which were passed to the function when it was called.
The layout "CustomerView" (internal REWOO Scope Id 7) of the object type "Order" (internal REWOO Scope Id 10) is to be read.
GET URL:
api/getLayoutForName?layoutName=CustomerView&typeName=Order&entityType=OBJECT
{
"success": true,
"message": "",
"layoutName": "CustomerView",
"typeName": "Order",
"elementType": "OBJECT",
"layout": {
"id": 7,
"typeId": 10,
"name": "CustomerView"
}
}
changeElementState
method. The method ignores all elements for which the status change is not possible and returns all element IDs for which the status change was successful.
api/changeElementState?(elementIds=[Id]&)+newState=[String]&recursive=[Boolean]
You will need administrative privileges for this request.
success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem. elementIds
contains the IDs of the successfully changed elements.
The status of elements 11,12,13 should be changed to ARCHIVED.
GET URL:
api/changeElementState?elementIds=11&elementIds=12&elementIds=13&newState=ARCHIVED&recursive=false
{
"success": true,
"message": "",
"elementIds": [11,13],
"newState": "ARCHIVED",
"recursive": false
}
api/getFileUrl?attachmentId=[Id]
You will need administrative privileges for this request.
success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem. url
is the URL to access the file, and originalFilename
is the name the file had when it was saved.
The file with the ID 42 is to be read.
GET URL:
api/getFileUrl?attachmentId=42
{
"success": true,
"message": "",
"attachmentId": 42,
"url": "//home/rewoo/files/42.docx",
"originalFilename": "test.docx"
}
api/saveFileByUrl?elementId=[Id]&entryId=[Id]&url=[String]&(filename=[String])?(&overwriteAll=[Boolean])?
You will need administrative privileges for this request.
success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem. attachmentId
contains the ID of the saved file.
A file is to be saved. For better readability, the URL has not been escaped.
GET URL:
api/getFileUrl?elementId=17&entryId=48&url=//home/rewoo/test.docx
{
"success": true,
"message": "",
"attachmentId": 42
}
api/getChangedFiles?since=[timestamp](&entryId=[Id])
You will need administrative privileges for this request.since
is given in milliseconds since Unix Epoch (1970-01-01 00:00:00.000 UTC). The result list can be restricted to a specific form field. All queried files can be retrieved for a short time via the returned url without login.
success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem. files
contains the ID of the saved file.
All changed files since 2019-01-05 15:23:00 are queried in all instances of field 23.
GET URL:
api/getChangedFiles?since=1556716980000&entryId=23
{
"success": true,
"message": "",
"since": 1556716980000,
"entryId": 23,
"files": [
{
id: 15,
name: "Invoice_2341",
extension: "pdf",
size: 45623,
mimeType: "application/pdf",
type: "Word",
hash: "23b75a4c4d49244632ceb0ad7273dbdbfa5a71e7c633b75cb0f388f2b1becc15",
url: "https://trial.rewoo.net/test/api/file/23b75a4c4d49244632ceb0ad7273dbdbfa5a71e7c633b75cb0f388f2b1becc15",
authorId: 5,
creationTimestamp: 1556717152000,
elementId: 678,
entryId: 23
}
]
}
api/updateTaskProgress?taskId=[Id]&progressIncrement=[Number]
You will need administrative privileges for this request.
success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem. taskId
contains the task ID.
The task with ID 17 is 35% complete.
GET URL:
api/updateTaskProgress?taskId=17&progressIncrement=0.35
{
"success": true,
"message": "",
"taskId": 17
}
api/getTaskPayload?taskId=[Id]
You will need administrative privileges for this request.
success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem. taskId
contains the task ID, payload
the requested data.
Lese die Daten für Task 17.
GET URL:
api/updateTaskProgress?taskId=17
{
"success": true,
"message": "",
"taskId": 17,
"payload":
}
scopeUserId
- Id of the currently logged in userscopeUserHomeId
- Id of the home node of the userscopeAccountType
- Account type of the userscopeTimestamp
- Timestamp of the callapi/proxy?method=[String]&(param=[String])*
No special rights are required for this request.
success
is a flag indicating whether the request was processed successfully. message
contains a possible error message. result
contains the return value of the proxied web application.
Find a meeting room for 10 people.
GET URL:
api/proxy?method=findRoom&size=10
{
"success": true,
"message": "",
"result": "Room 1.10,Room 2.01"
}
api/getScopeUsers?filter=[String]
Here [String] stands for a map in the form of a JSON string that filters the users to be found according to their validity date and whether they are deactivated or not. When specifying the timestamp, it is important to specify the number of milliseconds after "Epoch" (1970-01-01 00:00:00.000 GMT). The filter is optional: if it is omitted, only undeleted, non-deactivated users are returned.success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem. scopeUsers
contains a list of maps with the attributes of the accounts. The originally specified filter used for the request is returned in filter
.
GET URL:
api/getScopeUsers?filter={"validUntil":1511790000000,"deactivated":true}
Returns all users who have a validity date less than or equal to 2017-11-27 13:40 UTC and have been deactivated.
{
"success": true,
"message": "",
"filter": { \"validUntil\":1511790000000, \"deactivated\":true },
"scopeUsers": [
{
"id": 1,
"userName": "h.simpson",
"realName": "Simpson, Homer",
"email": "homer.simpson@rewoo.com",
"loginNode": {
"id": 4,
"name": "Homer Simpson",
"aspectId": 2,
"aspectName": "Employee",
"topLevelId": 1,
"topLevelName": "REWOO Software GmbH",
"topLevelIsProcess": false,
"parentNodeIds": [2],
"parentNodeNames": ["Employees"]
}
},
{
"id": 2,
"userName": "m.simpson",
"realName": "Simpson, Marge",
"email": "marge.simpson@rewoo.com",
"loginNode": {
"id": 5,
"name": "Marge Simpson",
"aspectId": 2,
"aspectName": "Employee",
"topLevelId": 1,
"topLevelName": "REWOO Software GmbH",
"topLevelIsProcess": false,
"parentNodeIds": [2],
"parentNodeNames": ["Employees"]
}
}
]
}
api/createUserByTemplate?templateName=[String]&realName=[String]&email=[String]&targetName=[String]
You will need administrative privileges for this request.
success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem. newUser
is a map with the attributes of the new scope account.
GET URL:
api/createUserByTemplate?templateName=Springfield&realName=Simpson%2C%20Lisa&email=lisa.simpson@rewoo.com&targetName=Lisa%20Simpson
{
"success": true,
"message": "",
"newUser": {
"id": 3,
"userName": "l.simpson",
"realName": "Simpson, Lisa",
"email": "lisa.simpson@rewoo.com",
"loginNode": {
"id": 6,
"name": "Lisa Simpson",
"aspectId": 2,
"aspectName": "Employee",
"topLevelId": 1,
"topLevelName": "REWOO Software GmbH",
"topLevelIsProcess": false,
"parentNodeIds": [2],
"parentNodeNames": ["Employees"]
}
}
}
api/updateUserInfo?userId=[Id]&realName=[String]&email=[String]
You will need administrative privileges for this request.
success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem. updatedUser
is a map with the attributes of the updated scope account.
GET URL:
api/updateUserInfo?userId=3&realName=Flanders%2C%20Lisa&email=lisa.flanders@rewoo.com
{
"success": true,
"message": "",
"updatedUser": {
"id": 3,
"userName": "l.simpson",
"realName": "Flanders, Lisa",
"email": "lisa.flanders@rewoo.com",
"loginNode": {
"id": 6,
"name": "Lisa Flanders",
"aspectId": 2,
"aspectName": "Employee",
"topLevelId": 1,
"topLevelName": "REWOO Software GmbH",
"topLevelIsProcess": false,
"parentNodeIds": [2],
"parentNodeNames": ["Employees"]
}
}
}
api/performLdapQuery?(attributeFilter=[String])+(&searchBase=[String])?(&searchFilter=[String])?
You will need administrative privileges for this request.
success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem. ldapQueryResult
is the list maps with the requested attributes.
Searches for all Rewoo users below the search base ou=people,dc=rewoo,dc=lan
. The expected return values are displayName
and uid
.
GET URL:
api/performLdapQuery?attributeFilter=displayName&attributeFilter=uid&searchBase=ou%3Dpeople%2Cdc%3Drewoo%2Cdc%3Dlan&searchFilter=(&(objectclass%3DinetOrgPerson)(objectclass%3DRewooUser))
{
"success": true,
"message": "",
"ldapQueryResult": [
{
"displayName": "Simpson, Homer",
"uid": "h.simpson"
},
{
"displayName": "Simpson, Marge",
"uid": "m.simpson"
}
]
}
api/createLdapUserByTemplate?templateName=[String]&userName=[String]&realName=[String]&email=[String]&targetName=[String]
You will need administrative privileges for this request.
success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem. newUser
is a map with the attributes of the new scope account.
GET URL:
api/createLdapUserByTemplate?templateName=Springfield&userName=l.simpson&realName=Simpson%2C%20Lisa&email=lisa.simpson@rewoo.com&targetName=Lisa%20Simpson
{
"success": true,
"message": "",
"newUser": {
"id": 3,
"userName": "l.simpson",
"realName": "Simpson, Lisa",
"email": "lisa.simpson@rewoo.com",
"loginNode": {
"id": 6,
"name": "Lisa Simpson",
"aspectId": 2,
"aspectName": "Employee",
"topLevelId": 1,
"topLevelName": "REWOO Software GmbH",
"topLevelIsProcess": false,
"parentNodeIds": [2],
"parentNodeNames": ["Employees"]
}
}
}
api/getLdapUserConfig
You will need administrative privileges for this request.
success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem. ldapUserConfig
is a list of configuration parameters.
GET URL:
api/getLdapUserConfig
{
"success": true,
"message": "",
"ldapUserConfig": [
"usernameAttribute": "uid",
"realnameAttribute": "displayName",
"emailAttribute": "mail"
]
}
api/getExternalAppValue?appId=[String]&key=[String]
You will need administrative privileges for this request.
success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem. value
contains the requested value.
GET URL:
api/getExternalAppValue?appId=myApp&key=country
{
"success": true,
"message": "",
"key": "country",
"value": "Germany"
}
api/getExternalAppValuesByPrefix?appId=[String]&keyPrefix=[String]
You will need administrative privileges for this request.
success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem. keyValues
contains a map with key-value pairs.
GET URL:
api/getExternalAppValuesByPrefix?appId=myApp&keyPrefix=color
{
"success": true,
"message": "",
"keyPrefix": "color",
"keyValues": {
"color green": "0x53ba50",
"color yellow": "0xffc400",
"color red": "0xcc2828",
}
}
api/writeExternalAppValue?appId=[String]&key=[String]&value=[String]
You will need administrative privileges for this request.
success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem.
GET URL:
api/writeExternalAppValue?appId=myApp&key=country&value=Germany
{
"success": true,
"message": "",
"key": "country",
"value": "Germany"
}
api/clearExternalAppValues?appId=[String]
You will need administrative privileges for this request.
success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem.
GET URL:
api/clearExternalAppValues?appId=myApp
{
"success": true,
"message": ""
}
api/addWebhook?event=[ cron | value_change ]&name=[String]&url=[String]&login=[String]&password=[String]
You will need administrative privileges for this request.
success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem.
GET URL:
api/addWebhook?event=value_change&name=Invoices&url=https://rewoo.de/test&login=test&password=test
JSON Result:
{
"success": true,
"event": "VALUE_CHANGE",
"name": "Invoices"
}
{
"event": "CRON",
"jobName": "UpdateTODAYDependenciesJob"
}
{
"event": "VALUE_CHANGE",
"elementType": "Invoices",
"elements": [3,8,12]
}
api/removeWebhook?event=[ cron | value_change ]&name=[String]&url=[String]
You will need administrative privileges for this request.
success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem.
GET URL:
api/removeWebhook?event=value_change&name=Invoices&url=https://rewoo.de/test
{
"success": true
}
api/executeAtomic?appId=[String]
success
is a flag indicating whether the request was processed successfully. In case of an error, message
contains a message that provides information about the problem. results
is a map with the name of the operation and the result.
A new account is created and the globally unique ID assigned by Active Directory is also assigned to the scope-internal account ID in the key-value store so that the account can be mapped in Active Directory. The scope ID created in the first step can be referenced using the placeholder %<actionName>.<resultKey>%
.
GET URL:
api/executeAtomic?actions=[{"actionName"="createUserByTemplate","staticParams"={"templateName"="Springfield","realName"="Simpson, Lisa","email"="lisa.simpson@rewoo.com","targetName"="Lisa Simpson"},"dynamicParams"={}},{"actionName"="writeExternalAppValue","staticParams"={"appId"="myRestTool","key"="GUID-5ca3e4d3-8b6a-469a-8ff3-9eb61b9f7265"},"dynamicParams"={"value"="%createUserByTemplate.newUser.id%"}}]
{
"success": true,
"results": {
"createUserByTemplate": {
"success": true,
"message": "",
"newUser": {
"id": 73,
"userName": "l.simpson",
"realName": "Simpson, Lisa",
"email": "lisa.simpson@rewoo.com",
"loginNode": {
"id": 6,
"name": "Lisa Simpson",
"aspectId": 2,
"aspectName": "Employee",
"topLevelId": 1,
"topLevelName": "REWOO Software GmbH",
"topLevelIsProcess": false,
"parentNodeIds": [2],
"parentNodeNames": ["Employees"]
}
}
},
"writeExternalAppValue": {
"success": true,
"message": "",
"key": "GUID-5ca3e4d3-8b6a-469a-8ff3-9eb61b9f7265",
"value": "73"
}
},
"message": ""
}