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.
KalturaHttpNotificationObjectData (Recommended)
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"
| Field | Type | Description |
|---|---|---|
format | integer | 1=JSON, 2=XML |
apiObjectType | string | Object 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
| Property | Value |
|---|---|
| Delivery latency | ~5-15 seconds after event |
| Default body (no data config) | Empty POST |
| With ObjectData config | JSON body, application/json |
| Retry behavior | Up to 10 retries with exponential backoff over ~24 hours on HTTP 5xx or timeout |