Skip to main content
View as Markdown

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​

FieldTypeDescription
urlstringWebhook endpoint URL
methodinteger1=GET, 2=POST
contentTypeinteger1=form-encoded, 2=JSON, 3=XML, 4=text
data[objectType]stringPayload type (see section 10)
signSecretstringHMAC signing secret (write-only)
secureHashingAlgointegerHash algorithm: 1=SHA1, 2=SHA256, 3=SHA384, 4=SHA512, 5=MD5
authUsernamestringHTTP Basic Auth username (write-only)
authPasswordstringHTTP Basic Auth password (write-only)
authenticationMethodinteger1=BASIC, 2=DIGEST, 4=GSSNEGOTIATE, 8=NTLM
customHeadersarrayCustom HTTP headers
userParametersarrayTemplate-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"