Event Recording API (ENG)

Event Recording API (ENG)

Introduction

This API is used to start and stop the recording of a Icareus Suite Channel.

The system automatically links the recording to an event (e.g. Webinar) that is on the channel. The logic for linkin is the following:

Warning
API requires a stream to be available for recording. If there is no video input to API/Channel ingest point recording will not start.

API PATH

/api/events/recording

Start Recording

Method: POST

Parameters
Name
Value
Requirement
Info
action
startRecording
Mandatory

organizationId
Number
Mandatory
Icareus Suite Organization Identifier
token
String
Mandatory

channelId
Number
Mandatory
Icareus Suite Linear Channel Identifier

RESPONSE (SUCCESS):

  1. {
        "message": "",
        "recording-status": "on",
        "eventId": 38686402,
        "channelId": 8656399,
        "status": "ok",
        "recordingConnector": "wowza",
        "recordingJobId": 39084740
    }

RESPONSE (ERROR):

  1. {
    "message": "Invalid eventId.",
    "status": "error"
    }
Same pattern applies to all acknowledgement calls. Status "ok" means a successful execution of the intended action. Status "error" will have the corresponding error information in the message parameter.

Stop Recording

Method: POST

Parameters:

Name
Value
Requirement
Info
action
stopRecording
Mandatory

organizationId
Number
Mandatory
Icareus Suite Organization Identifier
token
String
Mandatory

channelId
Number
Mandatory
Icareus Suite Linear Channel Identifier

RESPONSE (SUCCESS):

  1. {
        "message": "",
        "recording-status": "off",
        "eventId": 38686402,
        "channelId": 8656399,
        "status": "ok"
    }

RESPONSE (ERROR):

  1. {
    "message": "Invalid eventId.",
    "status": "error"
    }
Same pattern applies to all acknowledgement calls. Status "ok" means a successful execution of the intended action. Status "error" will have the corresponding error information in the message parameter.

Token

A token consists of 42 character long hex value. The value has two different parts:

  • Version [8 bits / 2 chars] - current version
  • Current time [32 bits / 8 chars] - current timestamp in number of seconds since 1970 UTC
  • Signature [128 bits / 32 chars] - the MD5 hash of (organizationId + ":" + channelId + ":" + Current time + ”:” + Key), where ’+’ is a string concatenation

Key - A secret key that is only present on the client creating the token and the server verifying the token and is defined for the organization.

Example:
Version = ”01”
organizationId = "13509”
channelId = "12345"

Current time = 1578034919 (Fri Jan 03 2020 07:01:59 UTC) -> ”5e0ee6e7”
Key = ”secret”
Signature = MD5("13509:12345:5e0ee6e7:secret") -> ”416d7e809efa820d85c2bb783e863a2f”

Then token would be "015e0ee6e7416d7e809efa820d85c2bb783e863a2f".