Skip to main content
All CollectionsIntegrating with iPaaS.com
Dynamic Webhook Processing Expression Variables
Dynamic Webhook Processing Expression Variables

Variables accepted by the Dynamic Webhook Processor

Updated yesterday

Overview

Dynamic Hook Endpoints process incoming webhooks from various systems using configuration settings stored in the integration webhook receiver. These endpoints handle three types of URLs that send data via the URL, with hooks processed uniformly. Authorization is managed via the dynamic hook mapping’s auth code, not inherently by the endpoints.

Key Features

  • Dynamic Processing: Determines the system by the URL and retrieves the corresponding webhook configuration.

  • Generic Hook Conversion: Converts incoming hooks into a standardized format using configuration settings.

  • Expression Evaluator: Processes hooks requiring transformation via BodyPreprocessingExpression.

  • Multi-Hook Support: Parses multiple hooks into a list if HasMultiple is enabled.

  • Data Extraction: Retrieves AuthToken, Scope, and ExternalId from specified hook locations.

  • Database Integration: Converts and sends processed hooks to the iPaaS.com database.

Tools Used

  • JPath: Navigates JSON structures (e.g., jsonpath.com).

    • Expression Evaluator: Transforms non-standard hook formats into readable JSON.

      • Allowed References:

        • Newtonsoft.Json.JsonConvert

        • Newtonsoft.Json.Linq.JArray

        • HTTPUtility

Webhook Receiver Configuration

Configuration Field

Field Name

Description

Required

Options/Notes

SystemTypeID

Identifier for the system type.

Yes

Must exist in ST_SystemType table.

UrlPath

Name of the system type (matches SystemTypeId).

Yes

Used to identify the system in URLs.

BodyPreprocessingExpression

Expression to transform non-standard hook formats into JSON.

No

Variables: URL (full URL), BodyJSON (request body as string).

HasMultiple

Indicates if the system sends multiple hooks in a single request.

Yes

Default: false. If true, MultipleSelector_JsonPath is required.

MultipleSelector_JsonPath

JSON path to extract multiple hooks from a collection.

Conditional

Required if HasMultiple = true.

Field Definitions

Defines how to extract AuthToken, Scope, and ExternalId.

Yes

Field Definition

Each FieldDefinition entry must include the following fields:

Field name

Description

Required

Options/Notes

ValueName

Field Identifier.

Yes

AuthToken, Scope, or ExternalId.

RetrievalType

Location of the field in the hook.

Yes

Header, BodyJsonPath, UrlSegment, Form, or Static (hardcoded).

RetrievalValue

Specific location or value.

Yes

Header: HTTP header name

BodyJsonPath: JSON path.

UrlSegment: URL segment index

Static: Hardcoded value.

ProcessingType

Determines if the RetrievalValue requires processing.

Yes

AsIs or Expression.

ProcesingValue

Expression to process RetrievalValue (if ProcessingType = "Expression").

Conditional

Variables: URL, BodyJSON, RetrievalValue

Output must be JSON string.

Webhook Configuration API Endpoint

Method

Path

Description

GET

/v2/Webhook/Configuration/{id}

Retrieves webhook configuration by SystemTypeId.

POST

/v2/Webhook/Configuration

Creates a new configuration, validates fields, and checks for duplicates.

PUT

/v2/Webhook/Configuration/{id}

Updates an existing configuration, validates fields, and checks for duplicates.

DELETE

/v2/Webhook/Configuration/{id}

Soft deletes a configuration (set IsActive = false).

Endpoint Details

  • GET: Verifies SystemTypeId exists in ST_SystemType and fetches the configuration.

  • POST/PUT: Validates required fields and SystemTypeId. Ensures UrlPath matches the system type name. Checks for duplicate configurations (POST) or existing configurations (PUT). Validates FieldDefinitions options (e.g., valid RetrievalType).

  • DELETE: Sets IsActive = false and updates UpdatedBy and UpdatedDateTime. Returns HTTP 204.

Notes:

  • Security: Authorization is managed via dynamic hook mapping, not the endpoints.

  • Error Handling: Invalid configurations or missing fields return descriptive errors.

  • Extensibility: The Expression Evaluator supports custom transformations using limited assembly references.

Did this answer your question?