Reporting API gives you access to different type of Reports, e.g. Video Sessions, CDR, Session Recordings etc., with many filter options.

Table of Contents

Get list of Sessions

This AP is used get list of Video Sessions. By default, it gets sessions done by the logged-in user. For others, use Query String Parameters to filter reports as needed.

  • API Route: https://api.enablex.io/ucaas/v1/sessions
  • API Route:  https://api.enablex.io/ucaas/v1/sessions?page={{$PAGE_NUM}} – With Query String Parameter
  • HTTP Request: GET
  • Access Mechanism: HTTP Basic Authentication, OAauth2
  • Role Based Accessibility; All
    • Reseller (Access to Reports of all customers under the Reseller)
    • Admin / Tenant (Access to Reports of all customers under the Tenant)
    • Customer (Access to Reports of all users under the Customer)

Request Example (OAuth2):

GET https://api.enablex.io/ucaas/v1/timezones
Content-Type: application/json
Authorization: Token ACCESS_TOTKEN
X-App-Type: vc

Headers Explanation:

  • Content-Type: To have application/json.
  • Authorization: To have Token Access Information
  • X-App-Type: To filter application specific report. Use vc=Video Conference, wb=Webinar

Query String Parameter Explanation:

ParameterDescription
pageNumber, Optional. Default 1. Get data for requested Page.
page_lengthNumber. Optional. Default 10, Total Records per page
search_byString. Optional. Required if search_string is used. Use one of the following:
room_id: On Room ID field
session_id: On Session ID field
user_id: On a specific user
room_id: On specified room-id
meeting_id: On specified meeting-id
from_session_date: Start Date filter on Session Date. Format: YYYY-MM-DD HH:ii:ss in UTC
to_session_date: To Date filter on Session Date. Format: YYYY-MM-DD HH:ii:ss in UTC
search_stringString. Required with search_by
order_byString. Optional. Use search_by strings. Multiple may be comma-separated.
order_qualifyString: Optional. Default asc. Enum: asc, desc

Response Example:

{
  "result": 1,
  "search": {
    "page": "Number",
    "page_length": "Number",
    "search_by": "String",
    "stage": "String",
    "search_string": "String",
    "order_by": "String",
    "order_qualify": "String"
  },
  "sessions": [
    {
      "session_id": "String",
      "meeting_id": "String",
      "room_id": "String",
      "user_id": "ObjectId",
      "user_name": "String",
      "trans_date": "Date",
      "connect_dt": "Date",
      "disconnect_dt": "Date",
      "duration": "Number",
      "app_type": "String"
    }
  ]
}

Response Explanation (Only for important Object and Keys) :

Object/KeyDescription
searchObject. It contains the Query String Parameters used to get the result
sessionsArray of Objects. Each Object contains a Session Information
sessions.user_idUser ID who used the session
sessions.durationTotal Video minutes used in the session
sessions.app_typeType of App. vc=Video Conference, wb=Webinar

Note: All Date Time data in response are in UTC

Get CDR

This API is used to get CDR for a given Session ID, Room ID or Meeting ID. These filters are to be used as Query String.

  • API Route: https://api.enablex.io/ucaas/v1/cdr
  • HTTP Request: GET
  • Access Mechanism: HTTP Basic Authentication, OAauth2
  • Role Based Accessibility; All
    • Reseller (Access to Reports of all customers under the Reseller)
    • Admin / Tenant (Access to Reports of all customers under the Tenant)
    • Customer (Access to Reports of all users under the Customer)

Request Example (OAuth2): Shown with session_id as Query String. You may use it with room_id or meeting_id

GET https://api.enablex.io/ucaas/v1/cdr?session_id=XXXXXXX
Content-Type: application/json
Authorization: Token ACCESS_TOTKEN

Headers Explanation:

  • Content-Type: To have application/json.
  • Authorization: To have Token Access Information

Query String Parameter Explanation:

ParameterDescription
pageNumber, Optional. Default 1. Get data for requested Page.
page_lengthNumber. Optional. Default 10, Total Records per page
session_idString. Optional. To get CDR for a session_id
meeting_idString. Optional. To get CDR for a meeting_id
room_idString. Optional. To get CDR for a room_id

Note:

  • You must use one filter only.
  • In case multiple parameters are used, we use one one parameter in the following order of precedence: room_id, meetign_id, session_id

Response Example:

{
  "result": 1,
  "search": {
        "page_length": 10,
        "page": 1,
        "filters": {
            "session_id": "xxxxxxxxx"
        }
    },
  "session": {
    "session_id": "String",
    "meeting_id": "String",
    "room_id": "String",
    "user_id": "ObjectId",
    "user_name": "String",
    "trans_date": "Date",
    "connect_dt": "Date",
    "disconnect_dt": "Date",
    "duration": "Number",
    "app_type": "String"
  },
  "cdr": [
    {
      "call_num": "String",
      "call_log_id": "String",
      "connect_dt": "Date",
      "disconnect_dt": "Date",
      "duration": "Number",
      "user_ref": "String",
      "name": "String",
      "role": "String",
      "ip": "String",
      "agent": "String"
    }
  ]
}

Response Explanation (Only for important Object and Keys) :

Object/KeyDescription
sessionObject. It contains the Session Information. This appears only when session_id is used as query string.
meetingObject. It contains the Meeting Information. This appears only when meeting_id is used as query string.
roomObject. It contains the Room Information. This appears only when room_id is used as query string.
cdrArray of Objects. Each Object contains CDR for single User Connection
cdr.call_numUnique Call Number for the User
cdr.durationTotal Video minutes used by user
cdr.log_idUnique Log ID helps to retrieve logs for audit

Get Recordings

This API is used to get Recordings for a given Session ID, Room ID or Meeting ID. These filters are to be used as Query String.

  • API Route: https://api.enablex.io/ucaas/v1/recordings
  • HTTP Request: GET
  • Access Mechanism: HTTP Basic Authentication, OAauth2
  • Role Based Accessibility; All
    • Reseller (Access to Reports of all customers under the Reseller)
    • Admin / Tenant (Access to Reports of all customers under the Tenant)
    • Customer (Access to Reports of all users under the Customer)

Request Example (OAuth2): Shown with session_id as Query String. You may use it with room_id or meeting_id

GET https://api.enablex.io/ucaas/v1/recordings?session_id=XXXXXXX
Content-Type: application/json
Authorization: Token ACCESS_TOTKEN

Headers Explanation:

  • Content-Type: To have application/json.
  • Authorization: To have Token Access Information

Query String Parameter Explanation:

ParameterDescription
pageNumber, Optional. Default 1. Get data for requested Page.
page_lengthNumber. Optional. Default 10, Total Records per page
session_idString. Optional. To get Recordings for a session_id
meeting_idString. Optional. To get Recordings for a meeting_id
room_idString. Optional. To get Recordings for a room_id

Note:

  • You must use one filter only.
  • In case multiple parameters are used, we use one one parameter in the following order of precedence: room_id, meetign_id, session_id

Response Example:

{
  "result": 1,
  "search": {
    "page_length": 10,
    "page": 1,
    "filters": {
      "session_id": "xxxxxxxxx"
    }
  },
  "recordings": [
    {
      "room_id": "String",
      "session_id": "String",
      "meeting_id": "String",
      "file": "String",
      "play_time": "Number",
      "stage": "Number",
      "start_time": "Number",
      "end_time": "Number",
      "file_size": "Number"
    }
  ]
}
Object/KeyDescription
searchObject. It contains query details for the response
search.page_lengthTotal Document returne
search.pagePage number returned
search.filtersObject. It contains filters used in the request
search.filters.sessiom_idsession_id used as filter
search.filters.meeting_id meeting_id used as filter
search.filters.room_id room_id used as filter
recordingsArray of objects. Each Recording file information appears as object in it
recordings[n].session_idSession ID of the recording file
recordings[n].meeting_id Meeting ID of the recording file
recordings[n].room_id Room ID of the recording file
recordings[n] .fileString. Full URL of the Recording File
recordings[n].play_timeNumber. Play File of Video in seconds
recordings[n].stageNumber. Sequence No. of Recording Files. Starts with 1
recordings[n].start_timeUnix Timestamp. Start Time of Recording
recordings[n].end_timeUnix Timestamp. End Time of Recording
recordings[n].file_sizeNumber. File Size in bytes

Note: All Date Time data in response are in UTC

Get Poll Data

This API is used to get responses of polls in a Meeting Room.

  • API Route: https://api.enablex.io/ucaas/v1/polls/{{$ROOM_ID}} – Get Poll data for all Video Sessions in a Meeting Room
  • API Route: https://api.enablex.io/ucaas/v1/polls/{{$ROOM_ID}} ?session_id={{$SESSION_ID}}- Get Poll data for a given Video Sessions in a Meeting Room
  • HTTP Request: GET

Headers Explanation:

  • Content-Type: To have application/json to notify that the body content is in JSON.
  • X-App-Type: vc, wb

Query String Parameters:

  • conf_num – Optional. Conference Number for the Session. To receive Polled Data for specific session.

Response Example:

{
    "result": 1,
    "polls": [
        {
            "poll_id": Number,
            "session_id": Number,
            "timestamp": Number,
            "duration": String,
            "type": "String",	/* Enumerated Data: MCQ1=1-Answer, MCQN=Multi-Answer */
            "question": "String",
            "options": {
                "opt1": "String",
                "opt2": "String",
                "opt3": "String"
            },
            "status": "P",		/* Enumerated Data: P=Polled, D=Draft */
            "result": {
                "opt1": Number,		/* Total Responses of Opt-1 */
                "opt2": Number,
                "opt3": Number
            },
            "total_result": Number,	/* Overall responponders */
            "id": Number		/* Poll-ID */
        } 
    ],
    "msg": "String"
}

Get Q&A Data

This API is used to get data of Q&A Sessions in a Meeting Room.

  • API Route: https://api.enablex.io/ucaas/v1/qna/{{$ROOM_ID}} – Get Q&A data for all Sessions in a Meeting Room
  • API Route: https://api.enablex.io/ucaas/v1/qna/{{$ROOM_ID}} ?session_id={{$SESSION_ID}}- Get Q&A data for a given Video Sessions in a Meeting Room
  • HTTP Request: GET

Headers Explanation:

  • Content-Type: To have application/json to notify that the body content is in JSON.
  • X-App-Type: vc, wb

Query String Parameters:

  • conf_num – Optional. Conference Number for the Session. To receive Q&A data for specific session.

Response Example:

{	"result":1, 
	"qna":[	
		{	
			"id": Number, 
			"timestamp": Number,  
			"username":"String", 
			"user_ref":"String", 
			"client_id":"String", 
			"question":"String", 
			"status":"String", 
			"ans":	[
				{ 
					"id": Number, 
					"timestamp": Number, 
					"username":"String", 
					"user_ref":"String", 
					"client_id":"String", 
					"ans":"String", 
					"private":false  
				} 
			]
		}
	],
	"msg":"String"
}