Skip to main content

/callSummary ⇒

GET

This API is used to fetch the call summary after the meeting ends.

Your application server must provide a /call summary endpoint to Android/Web/IOS clients to fetch the call summary.

API signature in your application server.

* ENDPOINT :	'/callSummary/<room_name>'
* METHOD : GET
* HEADERS : Content-type: application/json
* RESPONSE : { "error": null, "data" : <Call summary file content> }

To implement the /callSummary API under your application server use the following details.

* ADMIN BACKEND BASE URL : https://admin.<example.com>/api
* METHOD : GET
* API ENDPOINT : /call-summary/:room_name
* HEADERS : Content-type: application/json

code snippet

Sample implementation of /callSummary API using nodejs technology.

const axios = require("axios");

const ADMIN_BACKEND_URL = "https://admin.<example.com>/api";
const endpoint = "/call-summary";
const room_name = "testRoom";

const response = await axios.get(
ADMIN_BACKEND_URL + endpoint + "/" + room_name,
req,
{ headers: { "Content-type": "application/json" } }
);

return { error: null, data: response };

Sample response from Admin Control.

{
"error": null,
"data": {
"id": 113,
"meeting_id": 2900,
"room_name": "r1",
"file_url": "r1_1718871014/summary.txt"
}
}

To process the file URL to get the data from the s3 bucket in your application server. It would help if you used aws-sdk.

const AWS = require("aws-sdk");

AWS.config.update({ region: "configured region" });
const s3Bkt = new AWS.S3({
accessKeyId: "configured access key id",
secretAccessKey: "configured secret access key",
});

s3Bkt.getObject(
{
Bucket: "s3 bucket",
key: "File name",
},
() => {
// Logic to process the file
}
);

Response expected by Android/Web/IOS clients from Your Application Server.

{
"error": null,
"data": "Meeting Summary content"
}

Error Codes:

401 : Unauthorized (If authentication token is invalid or expired)

{
"data": null,
"error": {
"code": 401,
"message": "Unauthorized"
}
}

400 : Bad Request (If roomName query is not passed)

{
"data": null,
"error": {
"code": 400,
"message": "Room name required in query param."
}
}

404 : Not Found (If invalid url or wrong http method is used)

{
"error": {
"code": 404,
"message": "Not found"
},
"data": null
}

500 : Internal Server Error (If there is any exception on server side)

{
"error": {
"code": 500,
"message": "Internal server error"
},
"data": null
}

If your application server is built on Node.js technology, the ProCONF server SDK's getCallSummary(roomName) method can be used. To integrate proconf-server-sdk please click here.

Call the getCallSummary(roomName) server SDK method into your application server.

const { roomName } = req.query;
const callCatchUp = await serverSDK.getCallSummary(roomName);