HTTP Webhook Configuration - Integration
HTTP Webhook Configuration
After cloning, configure your template's delivery settings using the update action.
Set Webhook URL and Payload
curl -X POST "$KALTURA_SERVICE_URL/service/eventnotification_eventnotificationtemplate/action/update" \
-d "ks=$KALTURA_KS" \
-d "format=1" \
-d "id=$TEMPLATE_ID" \
-d "eventNotificationTemplate[objectType]=KalturaHttpNotificationTemplate" \
-d "eventNotificationTemplate[url]=https://myapp.example.com/webhooks/kaltura" \
-d "eventNotificationTemplate[method]=2" \
-d "eventNotificationTemplate[contentType]=2" \
-d "eventNotificationTemplate[data][objectType]=KalturaHttpNotificationObjectData" \
-d "eventNotificationTemplate[data][format]=1" \
-d "eventNotificationTemplate[data][apiObjectType]=KalturaBaseEntry"
Updatable HTTP Fields
| Field | Type | Description |
|---|---|---|
url | string | Webhook endpoint URL |
method | integer | 1=GET, 2=POST |
contentType | integer | 1=form-encoded, 2=JSON, 3=XML, 4=text |
data[objectType] | string | Payload type (see section 10) |
signSecret | string | HMAC signing secret (write-only) |
secureHashingAlgo | integer | Hash algorithm: 1=SHA1, 2=SHA256, 3=SHA384, 4=SHA512, 5=MD5 |
authUsername | string | HTTP Basic Auth username (write-only) |
authPassword | string | HTTP Basic Auth password (write-only) |
authenticationMethod | integer | 1=BASIC, 2=DIGEST, 4=GSSNEGOTIATE, 8=NTLM |
customHeaders | array | Custom HTTP headers |
userParameters | array | Template-level static parameters |
Custom Headers
curl -X POST "$KALTURA_SERVICE_URL/service/eventnotification_eventnotificationtemplate/action/update" \
-d "ks=$KALTURA_KS" \
-d "format=1" \
-d "id=$TEMPLATE_ID" \
-d "eventNotificationTemplate[objectType]=KalturaHttpNotificationTemplate" \
-d "eventNotificationTemplate[customHeaders][0][objectType]=KalturaKeyValue" \
-d "eventNotificationTemplate[customHeaders][0][key]=X-Source-System" \
-d "eventNotificationTemplate[customHeaders][0][value]=kaltura" \
-d "eventNotificationTemplate[customHeaders][1][objectType]=KalturaKeyValue" \
-d "eventNotificationTemplate[customHeaders][1][key]=X-Environment" \
-d "eventNotificationTemplate[customHeaders][1][value]=production"
HTTP Authentication
curl -X POST "$KALTURA_SERVICE_URL/service/eventnotification_eventnotificationtemplate/action/update" \
-d "ks=$KALTURA_KS" \
-d "format=1" \
-d "id=$TEMPLATE_ID" \
-d "eventNotificationTemplate[objectType]=KalturaHttpNotificationTemplate" \
-d "eventNotificationTemplate[authUsername]=webhook-user" \
-d "eventNotificationTemplate[authPassword]=secret-password" \
-d "eventNotificationTemplate[authenticationMethod]=1"
User Parameters (Static Tokens)
User parameters store static values on the template. Reference them as {key} in the URL or payload.
curl -X POST "$KALTURA_SERVICE_URL/service/eventnotification_eventnotificationtemplate/action/update" \
-d "ks=$KALTURA_KS" \
-d "format=1" \
-d "id=$TEMPLATE_ID" \
-d "eventNotificationTemplate[objectType]=KalturaHttpNotificationTemplate" \
-d "eventNotificationTemplate[userParameters][0][objectType]=KalturaEventNotificationParameter" \
-d "eventNotificationTemplate[userParameters][0][key]=environment" \
-d "eventNotificationTemplate[userParameters][0][value][objectType]=KalturaStringValue" \
-d "eventNotificationTemplate[userParameters][0][value][value]=production"
Delayed Dispatch
Delay webhook delivery until the entry reaches READY status (useful for upload/transcoding events):
curl -X POST "$KALTURA_SERVICE_URL/service/eventnotification_eventnotificationtemplate/action/update" \
-d "ks=$KALTURA_KS" \
-d "format=1" \
-d "id=$TEMPLATE_ID" \
-d "eventNotificationTemplate[objectType]=KalturaHttpNotificationTemplate" \
-d "eventNotificationTemplate[eventDelayedCondition]=1"