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 |
UrlPath | Name of the system type (matches | Yes | Used to identify the system in URLs. |
BodyPreprocessingExpression | Expression to transform non-standard hook formats into JSON. | No | Variables: URL (full URL), |
HasMultiple | Indicates if the system sends multiple hooks in a single request. | Yes | Default: |
MultipleSelector_JsonPath | JSON path to extract multiple hooks from a collection. | Conditional | Required if |
Field Definitions | Defines how to extract | Yes | See Field Definitions. |
Field Definition
Each FieldDefinition entry must include the following fields:
Field name | Description | Required | Options/Notes |
ValueName | Field Identifier. | Yes |
|
RetrievalType | Location of the field in the hook. | Yes | Header, |
RetrievalValue | Specific location or value. | Yes |
|
ProcessingType | Determines if the | Yes |
|
ProcesingValue | Expression to process | Conditional | Variables: Output must be JSON string. |
Webhook Configuration API Endpoint
Method | Path | Description |
GET |
| Retrieves webhook configuration by |
POST |
| Creates a new configuration, validates fields, and checks for duplicates. |
PUT |
| Updates an existing configuration, validates fields, and checks for duplicates. |
DELETE |
| Soft deletes a configuration (set |
Endpoint Details
GET: Verifies
SystemTypeId
exists inST_SystemType
and fetches the configuration.POST/PUT: Validates required fields and
SystemTypeId
. EnsuresUrlPath
matches the system type name. Checks for duplicate configurations (POST) or existing configurations (PUT). ValidatesFieldDefinitions
options (e.g., validRetrievalType
).DELETE: Sets
IsActive = false
and updatesUpdatedBy
andUpdatedDateTime
. 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.