Skip to main content
View as Markdown

Payload Structure - Integration

Payload Structure​

Default Behavior​

System templates send an empty body by default. Configure payload data on your cloned template to include event data.

Sends the event object as structured JSON:

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[data][objectType]=KalturaHttpNotificationObjectData" \
-d "eventNotificationTemplate[data][format]=1" \
-d "eventNotificationTemplate[data][apiObjectType]=KalturaBaseEntry"
FieldTypeDescription
formatinteger1=JSON, 2=XML
apiObjectTypestringObject to serialize (e.g., KalturaBaseEntry, KalturaMediaEntry, KalturaCategoryUser)

KalturaHttpNotificationDataText​

Custom text body with content parameter placeholders:

-d "eventNotificationTemplate[data][objectType]=KalturaHttpNotificationDataText" \
-d "eventNotificationTemplate[data][content][objectType]=KalturaStringValue" \
-d "eventNotificationTemplate[data][content][value]=Entry {entry_id} ({entry_name}) is now ready."

KalturaHttpNotificationDataFields​

Key-value pairs in the POST body:

-d "eventNotificationTemplate[data][objectType]=KalturaHttpNotificationDataFields" \
-d "eventNotificationTemplate[data][fields][0][objectType]=KalturaEventNotificationParameter" \
-d "eventNotificationTemplate[data][fields][0][key]=entryId" \
-d "eventNotificationTemplate[data][fields][0][value][objectType]=KalturaEvalStringField" \
-d "eventNotificationTemplate[data][fields][0][value][code]={event.object.id}" \
-d "eventNotificationTemplate[data][fields][1][objectType]=KalturaEventNotificationParameter" \
-d "eventNotificationTemplate[data][fields][1][key]=status" \
-d "eventNotificationTemplate[data][fields][1][value][objectType]=KalturaEvalStringField" \
-d "eventNotificationTemplate[data][fields][1][value][code]={event.object.status}"

Webhook Payload Example​

With KalturaHttpNotificationObjectData configured, the POST body contains:

{
"object": {
"objectType": "KalturaBaseEntry",
"id": "1_abc123",
"name": "My Video",
"status": 2
},
"eventObjectType": 1,
"eventType": 3,
"templateId": 26970222,
"templateName": "Entry Ready Webhook",
"templateSystemName": "MY_ENTRY_READY",
"eventNotificationJobId": 33578094492,
"objectType": "KalturaHttpNotification"
}

Delivery Characteristics​

PropertyValue
Delivery latency~5-15 seconds after event
Default body (no data config)Empty POST
With ObjectData configJSON body, application/json
Retry behaviorUp to 10 retries with exponential backoff over ~24 hours on HTTP 5xx or timeout