Introduction
When processing a dynamic webhook, you specify a retrieval type (bodyJsonPath, header, urlSegment, etc.) and a retrieval value (the jPath value, a header name, etc.). We will apply the retrieval value to the retrieval type and get a value back. For a header, this would be the value of the named header. For a bodyJsonPath, this would be the output of the jPath expression, etc. You may need to further process this value. For example, if you header value was “scope:customer.updated” and you needed to remove the “scope:” prefix to get your scope value, you could have an expression to handle that.
Variables
Only a few variables are available for this expression:
RetrievedValue: This is the most important variable. This will be the unprocessed value retrieved from your retrieval value. E.g. in the example mentioned above, it would be “scope:customer.updated”.
BodyJSON: This is the raw JSON body of the incoming hook. Note that this will not be available for calls to the v2/dynamicForm/ endpoints.
UrlSegment: This will be a list of strings that represent each incoming URL segment following v2/dynamic (or v2/dynamicForm). E.g. a call to /v2/dynamic/customer/hook/ would be a list of strings with two entries: customer and hook).
AuthToken, Scope, and/or ExternalId: Any values that have already been computed can be used as variables.
Assemblies
Only a few assemblies are available for your expressions:
Newtonsoft.Json.JsonConvert
Newtonsoft.Json.Linq.JArray
System.Web.HttpUtility