Class CreateRoomOnMediaSFU

Asynchronously creates a room on MediaSFU.

This method sends a POST request to the MediaSFU API to create a new room. It validates the provided credentials and dynamically constructs the API endpoint, supporting the Community Edition via a custom localLink. The method includes a 30-second protection mechanism to prevent duplicate room creation requests.

Configuration options for creating the room.

The payload containing the room creation details.

The API username, used for authentication.

The API key, used for authentication.

A promise resolving to an object containing the API response:

  • data: The response object, either CreateJoinRoomResponse or CreateJoinRoomError.
  • success: Boolean indicating whether the operation was successful.

Throws an error if the request fails or if the provided credentials are invalid.

const response = await createRoomOnMediaSFU.createRoomOnMediaSFU({
payload: {
action: 'create',
duration: 60, // Duration in minutes
capacity: 10, // Max participants
userName: 'hostUser',
scheduledDate: Date.now() + 3600000, // One hour from now
secureCode: 'secure123', // Optional
eventType: 'conference', // Optional
},
apiUserName: 'yourAPIUSERNAME',
apiKey: 'yourAPIKEY',
localLink: 'http://localhost:3000', // Optional for Community Edition
});

if (response.success) {
console.log('Room created successfully:', response.data);
} else {
console.error('Failed to create room:', response.data?.error);
}

Constructors

Methods

Constructors

Methods

  • Asynchronously creates a room on MediaSFU.

    This method sends a POST request to the MediaSFU API to create a new room. It validates the provided credentials and dynamically constructs the API endpoint, supporting the Community Edition via a custom localLink. The method includes a 30-second protection mechanism to prevent duplicate room creation requests.

    Parameters

    • options: {
          payload: CreateMediaSFURoomOptions | JoinMediaSFURoomOptions;
          apiUserName: string;
          apiKey: string;
          localLink?: string;
      }

      Configuration options for creating the room.

      • payload: CreateMediaSFURoomOptions | JoinMediaSFURoomOptions

        The payload containing the room creation details.

      • apiUserName: string

        The API username, used for authentication.

      • apiKey: string

        The API key, used for authentication.

      • OptionallocalLink?: string

        The local link for Community Edition users. If provided, it overrides the default API URL.

    Returns Promise<{
        data: null | CreateJoinRoomResponse | CreateJoinRoomError;
        success: boolean;
    }>

    A promise resolving to an object containing the API response:

      • data: The response object, either CreateJoinRoomResponse or CreateJoinRoomError.
      • success: Boolean indicating whether the operation was successful.

    Throws an error if the request fails or if the provided credentials are invalid. * *

    * const response = await createRoomOnMediaSFU.createRoomOnMediaSFU({
    * payload: {
    * action: 'create',
    * duration: 60, // Duration in minutes
    * capacity: 10, // Max participants
    * userName: 'hostUser',
    * scheduledDate: Date.now() + 3600000, // One hour from now
    * secureCode: 'secure123', // Optional
    * eventType: 'conference', // Optional
    * },
    * apiUserName: 'yourAPIUSERNAME',
    * apiKey: 'yourAPIKEY',
    * localLink: 'http://localhost:3000', // Optional for Community Edition
    * });
    *
    * if (response.success) {
    * console.log('Room created successfully:', response.data);
    * } else {
    * console.error('Failed to create room:', response.data?.error);
    * }