LMS Integration API
Standard virtual-classroom wire API for Moodle, Canvas and custom LMS backends. End users join the native 2meet meeting room.
Server URL from partner portal:
https://{slug}.2meet.ir/lms/v1/Authentication
Integration Secret + checksum on every call:
checksum = SHA256(action + queryStringWithoutChecksum + secret)
SHA-1 and SHA-512 accepted for legacy clients.
Core services
These four areas are required for a typical LMS integration:
| Action | Service | Description |
|---|---|---|
create | Create meeting | Idempotent create; passwords, record, optional logoutURL, meta_*. Does not provision portal users. |
join | Join meeting | Redirect to meet.{domain}/join/{ticket}. Pass display name + optional avatar, user id, and logoutURL. |
end | End meeting | End an active meeting |
getRecordings | List recordings | Past meetings with playback URLs |
deleteRecordings | Delete recordings | Delete by recordID |
Join identity (BBB-compatible)
Identity is ephemeral — the same model as BigBlueButton. Teachers and moderators are whoever joins with the moderator password (or role=MODERATOR). 2meet does not create tenant portal accounts from LMS create/join.
| Param | Required | Description |
|---|---|---|
fullName | Recommended | Display name in the room (default Guest) |
avatarURL | Optional | HTTPS image URL shown on video tiles, participants list, and chat when the camera is off |
userID | Optional | Stable LMS user id for identity / attendance across reconnects |
logoutURL | Optional | BBB-compatible return URL after leave/end (join overrides create default) |
password or role | Yes | moderatorPW/attendeePW, or role=MODERATOR|VIEWER |
join?meetingID=course-1&password=mp&fullName=Alice&avatarURL=https%3A%2F%2Flms.example%2Fa.jpg&userID=42&logoutURL=https%3A%2F%2Flms.example%2Fmod%2Fbbb%2Fview.php%3Fid%3D9&checksum=...
Return to LMS (logoutURL)
Same pattern as BigBlueButton / Moodle BBB plugins. Set on create (meeting default) and/or join (per user; overrides create). Only absolute http/https URLs. Placeholders: %%MEETINGID%%, %%USERID%%, %%USERNAME%%. The live client redirects there on leave/end.
Extended services
| Action | Service | Description |
|---|---|---|
insertDocument | Insert documents | POST XML → room files |
sendChatMessage | Public chat | System chat message in room |
getRecordingTextTracks | List captions | Caption tracks for a recording |
putRecordingTextTrack | Upload captions | Upload VTT closed captions |
Monitoring (optional)
| Action | Description |
|---|---|
isMeetingRunning | Status check |
getMeetingInfo | Attendees and metadata |
getMeetings | Active meetings |
publishRecordings | Published flag |