Versions Compared

Key

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

...

Page Properties
hiddentrue


Status

Status
colourBlue
titleReview

Priority1
Note
AssigneeAntje

Ressources

Remarks

Webhook profile


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'])

...