API Usage
Use this service from any app (PHP, Python, Node, etc.) — just like Zoom's API.
POST /api/rooms
Authorization: Bearer <API_KEY>
Content-Type: application/json
{
"room_id": "consult-123", // optional, auto-generated if omitted
"participants": [
{ "role": "specialist", "name": "Dr. Popescu" },
{ "role": "patient", "name": "Ion Ionescu" }
],
"metadata": { "booking_id": 456 } // optional, attached to tokens
}
// Response:
{
"room_id": "consult-123",
"participants": [
{ "role": "specialist", "name": "Dr. Popescu", "token": "eyJ...", "join_url": "http://..." },
{ "role": "patient", "name": "Ion Ionescu", "token": "eyJ...", "join_url": "http://..." }
]
}
POST /api/tokens
Authorization: Bearer <API_KEY>
Content-Type: application/json
{ "room_id": "consult-123", "role": "specialist", "name": "Dr. Popescu" }
// Replace generateMeetingLink() — same pattern as Zoom API
function generateMeetingLink($specialist, $patient) {
$ch = curl_init('http://45.84.138.64/api/rooms');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Authorization: Bearer YOUR_API_KEY'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
'participants' => [
['role'=>'specialist', 'name'=>$specialist],
['role'=>'patient', 'name'=>$patient],
]
]));
$res = json_decode(curl_exec($ch), true);
curl_close($ch);
return $res; // has join_url for each participant
}