Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Ressources

Remarks

Webhook profile
Page Properties
hiddentrue
Status
Status
colourBlue
titleReview
Priority1
Note
AssigneeAntje
idDONE

Product Version
Report Notepresentable
Assignee

Resources & Remarks

Modification History

NameDateProduct VersionAction
Antje08 FEB 20212.4New page properties macro.



As of Version2.0
HTTP MethodPOST
Response FormatJSON
Description

Any request returning an object list triggers this Webhook directly before the return. Thus, for example, properties can be extracted in order to hide them for specified users.

The body contains the object list that will be returned. In most cases, this list is of length 1. Only for the search endpoint, there are also numItemshasMoreItems and totalNumItems. The body is modified by the Webhook and returned afterwards.

The predicate is applied to every single object in the list. The Webhook is triggered for the whole object list as soon as one object satisfies the predicate.

Requirements for external endpointThe target URL must be a POST endpoint accepting and returning a list of objects
Affected API Requests

POST /api/dms/objects

POST /api/dms/objects/{objectId}
PATCH /api/dms/objects/{objectId}
POST /api/dms/objects/tags/{name}/state/{state}?query=<SQL>

POST /api/dms/objects/search

POST /api/dms/objects/{objectId}/actions/move/contents/repositories/{repositoryId}
POST /api/dms/objects/{objectId}/versions/{versionNr}/actions/move/contents/repositories/{repositoryId}

GET /api/dms/objects/{objectId}/versions
GET /api/dms/objects/{objectId}/versions/{versionNr}

Restart ServiceAPI-gateway service, Repository service
HeaderAuthorization-Header
Example Request Body


Code Block
languageyml
{
  "objects" : [ {
    "properties" : {
      "appEmail:subject" : {
        "value" : "any subject"
      },
      "appEmail:to" : {
        "value" : [ "user1@example.de" ]
      }
    }
  }, {
    "properties" : {
      "appEmail:subject" : {
        "value" : "another subject"
      },
      "appEmail:to" : {
        "value" : [ "user2@example.de" ]
      }
    }
  } ],
  "numItems" : 2,
  "hasMoreItems" : true,
  "totalNumItems" : 356
}


Example PredicateCheck if the object type is appEmail:email.

spel:'appEmail:email'.equals(options['currentVersion']['properties']['system:objectTypeId']['value'])

...