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 in 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
. Die Methode ignoriert alle Elemente, für die der Statuswechsel nicht möglich ist und gibt alle Element-Ids zurück, für die der Statuswechsel erfolgreich war.
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
enthält die Ids der erfolgreich geänderten Elemente.
Es soll der Status der Elemente 11,12,13 auf ARCHIVED geändert werden. Das Element ist schon archiviert.
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
ist die URL, mit der auf die Datei zugegriffen werden kann und in originalFilename
steht der Dateiname, den die Datei beim Speichern hatte.
Es soll die Datei mit der Id 42 ausgelesen werden.
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
enthält die Id der gespeicherten Datei.
Es soll eine Datei gespeichert werden. Zur besseren Lesbarkeit wurde die URL nicht 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
wird in Millisekunden seit Unix Epoch angegeben (01.01.1970 00:00:00.000 UTC). Die Ergebnisliste kann auf ein bestimmtes Formularfeld eingeschränkt werden. Alle abgefragten Dateien können für eine kurze Zeit über die zurückgegebene Url ohne Login abgerufen werden.
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
enthält die Id der gespeicherten Datei.
Es werden alle geänderten Dateien seit 01.05.2019 15:23:00 in allen Instanzen von Feld 23 abgefragt.
GET URL:
api/getChangedFiles?since=1556716980000&entryId=23
{
"success": true,
"message": "",
"since": 1556716980000,
"entryId": 23,
"files": [
{
id: 15,
name: "Rechnung_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
enthält die verwendete TaskId.
Der Task mit der Id 17 ist bei 35%.
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
enthält die TaskId, payload
die Daten.
Lese die Daten für Task 17.
GET URL:
api/updateTaskProgress?taskId=17
{
"success": true,
"message": "",
"taskId": 17,
"payload":
}
scopeUserId
- Id des aktuell angemeldeten AnwendersscopeUserHomeId
- Id des Home-Knotens des aktuell angemeldeten AnwendersscopeAccountType
- Account-Art des AnwendersscopeTimestamp
- Zeitpunkt des Aufrufsapi/proxy?method=[String]&(param=[String])*
No special rights are required for this request.
success
is a flag indicating whether the request was processed successfully. In message
steht im Fehlerfall eine Nachricht, die Aufschluss über mögliche Probleme gibt. result
enthält das Ergebnis des externen Service.
Finde ein Meeting-Raum für 10 Personen.
GET URL:
api/proxy?method=findRoom&size=10
{
"success": true,
"message": "",
"result": "Raum 1.10,Raum 2.01"
}
api/getScopeUsers?filter=[String]
Dabei steht [String] für eine Map in Form eines JSON-Strings, der die zu findenden Benutzer nach ihrem Gültigkeitsdatum und ob sie deaktiviert bzw. nicht deaktiviert sind, filtert. Wichtig ist bei der Angabe des Zeitstempels, die Anzahl der Millisekunden nach "Epoch" (01.01.1970, 00:00:00 GMT) anzugeben. Der Filter ist optional: wird er weggelassen, werden ausschließlich noch ungelöschte, nicht-deaktivierte Benutzer zurückgegeben.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
ist die Liste der Ergebnisse. Unter filter
ist der ursprünglich angegebene Filter zu sehen, der für die Benutzersuche verwendet wurde. Das einzelne Ergebnis ist eine Map mit den Attributen des jeweiligen Scope-Accounts.
GET URL:
api/getScopeUsers?filter={"validUntil":1511790000000,"deactivated":true}
Liefert alle Benutzer zurück, die ein Gültigkeitsdatum kleiner oder gleich dem 27.11.2017, 13:40 UTC haben und deaktiviert wurden.
{
"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": "Mitarbeiter",
"topLevelId": 1,
"topLevelName": "REWOO Software GmbH",
"topLevelIsProcess": false,
"parentNodeIds": [2],
"parentNodeNames": ["Mitarbeiter"]
}
},
{
"id": 2,
"userName": "m.simpson",
"realName": "Simpson, Marge",
"email": "marge.simpson@rewoo.com",
"loginNode": {
"id": 5,
"name": "Marge Simpson",
"aspectId": 2,
"aspectName": "Mitarbeiter",
"topLevelId": 1,
"topLevelName": "REWOO Software GmbH",
"topLevelIsProcess": false,
"parentNodeIds": [2],
"parentNodeNames": ["Mitarbeiter"]
}
}
]
}
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
ist eine Map mit den Attributen des neuen Scope-Accounts.
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": "Mitarbeiter",
"topLevelId": 1,
"topLevelName": "REWOO Software GmbH",
"topLevelIsProcess": false,
"parentNodeIds": [2],
"parentNodeNames": ["Mitarbeiter"]
}
}
}
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
ist eine Map mit den Attributen des aktualisierten Scope-Accounts.
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": "Mitarbeiter",
"topLevelId": 1,
"topLevelName": "REWOO Software GmbH",
"topLevelIsProcess": false,
"parentNodeIds": [2],
"parentNodeNames": ["Mitarbeiter"]
}
}
}
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
ist die Liste der Ergebnisse. Das einzelne Ergebnis ist eine Map mit den angeforderten Attributen.
Gesucht sind alle Rewoo-Nutzer, die unterhalb der Search-Base ou=people,dc=rewoo,dc=lan
aufgehängt sind. Als Rückgabe-Werte werden displayName
und uid
erwartet.
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
ist eine Map mit den Attributen des neuen Scope-Accounts.
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": "Mitarbeiter",
"topLevelId": 1,
"topLevelName": "REWOO Software GmbH",
"topLevelIsProcess": false,
"parentNodeIds": [2],
"parentNodeNames": ["Mitarbeiter"]
}
}
}
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
ist eine Liste der Konfigurationsparameter.
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
enthält den nachgefragten Wert.
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
enthält eine Map mit Key-Value-Paaren.
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=Rechnungen&url=https://rewoo.de/test&login=test&password=test
JSON Result:
{
"success": true,
"event": "VALUE_CHANGE",
"name": "Rechnungen"
}
{
"event": "CRON",
"jobName": "UpdateTODAYDependenciesJob"
}
{
"event": "VALUE_CHANGE",
"elementType": "Rechnungen",
"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=Rechnungen&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
ist eine Map mit dem Namen der Operation und dem Ergebnis.
Es soll ein neuer Account angelegt werden und zusätzlich die vom Active Directory vergebene global eindeutige Id im Key-Value Store der Scope-internen Account-ID zugeordnet werden, damit der Account im Active Directory zugeordnet werden kann. Die im ersten Schritt erzeugte Scope-ID kann über den Platzhalter %<Operationsname>.<Ergebnisparameter>%
referenziert werden.
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": "Mitarbeiter",
"topLevelId": 1,
"topLevelName": "REWOO Software GmbH",
"topLevelIsProcess": false,
"parentNodeIds": [2],
"parentNodeNames": ["Mitarbeiter"]
}
}
},
"writeExternalAppValue": {
"success": true,
"message": "",
"key": "GUID-5ca3e4d3-8b6a-469a-8ff3-9eb61b9f7265",
"value": "73"
}
},
"message": ""
}