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 haveapplication/json
. Authorization
: To have Token Access InformationX-App-Type
: To filter application specific report. Use vc=Video Conference, wb=Webinar
Query String Parameter Explanation:
Parameter | Description |
page | Number, Optional. Default 1. Get data for requested Page. |
page_length | Number. Optional. Default 10, Total Records per page |
search_by | String. 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_string | String. Required with search_by |
order_by | String. Optional. Use search_by strings. Multiple may be comma-separated. |
order_qualify | String: 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/Key | Description |
search | Object. It contains the Query String Parameters used to get the result |
sessions | Array of Objects. Each Object contains a Session Information |
sessions.user_id | User ID who used the session |
sessions.duration | Total Video minutes used in the session |
sessions.app_type | Type 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 haveapplication/json
.Authorization
: To have Token Access Information
Query String Parameter Explanation:
Parameter | Description |
page | Number, Optional. Default 1. Get data for requested Page. |
page_length | Number. Optional. Default 10, Total Records per page |
session_id | String. Optional. To get CDR for a session_id |
meeting_id | String. Optional. To get CDR for a meeting_id |
room_id | String. 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/Key | Description |
session | Object. It contains the Session Information. This appears only when session_id is used as query string. |
meeting | Object. It contains the Meeting Information. This appears only when meeting_id is used as query string. |
room | Object. It contains the Room Information. This appears only when room_id is used as query string. |
cdr | Array of Objects. Each Object contains CDR for single User Connection |
cdr.call_num | Unique Call Number for the User |
cdr.duration | Total Video minutes used by user |
cdr.log_id | Unique 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 haveapplication/json
.Authorization
: To have Token Access Information
Query String Parameter Explanation:
Parameter | Description |
page | Number, Optional. Default 1. Get data for requested Page. |
page_length | Number. Optional. Default 10, Total Records per page |
session_id | String. Optional. To get Recordings for a session_id |
meeting_id | String. Optional. To get Recordings for a meeting_id |
room_id | String. 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/Key | Description |
search | Object. It contains query details for the response |
search.page_length | Total Document returne |
search.page | Page number returned |
search.filters | Object. It contains filters used in the request |
search.filters.sessiom_id | session_id used as filter |
search.filters .meeting_id | meeting_id used as filter |
search.filters .room_id | room_id used as filter |
recordings | Array of objects. Each Recording file information appears as object in it |
recordings[n].session_id | Session 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] .file | String. Full URL of the Recording File |
recordings | Number. Play File of Video in seconds |
recordings | Number. Sequence No. of Recording Files. Starts with 1 |
recordings[n].start_time | Unix Timestamp. Start Time of Recording |
recordings[n].end_time | Unix Timestamp. End Time of Recording |
recordings[n].file_size | Number. 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 haveapplication/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 haveapplication/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" }