Інтеграція відеоконсультацій на сайт

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.
Розробка та обслуговування будь-яких видів сайтів:
Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Інтеграція відеоконсультацій на сайт
Складна
~3-5 робочих днів
Часті питання
Наші компетенції:
Етапи розробки
Останні роботи
  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Інтеграція відеоконсультацій на сайт

Відеоконсультації на сайті — інструмент для медичних, юридичних, фінансових і освітніх сервісів. Лікар, юрист або тренер спілкуються з клієнтом віч-на-віч без необхідності зустрічатися фізично. Технічно — WebRTC з відеопотоком або інтеграція готового SDK.

Варіанти реалізації

Готові SDK — Daily.co, Twilio Video, Vonage Video API, Agora. Швидше в розробці (2–4 тижні), вимагають щомісячної оплати за хвилини.

Власний WebRTC стек — максимальний контроль, немає залежності від зовнішнього провайдера, складніше підтримувати. Виправдано при великому обсязі консультацій.

Jitsi Meet API — відкритий WebRTC-сервер, можна розгорнути самостійно:

const jitsi = new JitsiMeetExternalAPI('meet.yourserver.ru', {
    roomName: `consultation-${consultationId}`,
    parentNode: document.getElementById('video-container'),
    userInfo: { displayName: user.name, email: user.email },
    configOverwrite: { startWithAudioMuted: false, startWithVideoMuted: false }
});

Daily.co SDK — інтеграція за кілька годин

// npm install @daily-co/daily-js

import Daily from '@daily-co/daily-js';

const callFrame = Daily.createFrame(document.getElementById('video-container'), {
    iframeStyle: { width: '100%', height: '600px' }
});

// Створити кімнату через API
const room = await fetch('https://api.daily.co/v1/rooms', {
    method: 'POST',
    headers: { Authorization: `Bearer ${DAILY_API_KEY}` },
    body: JSON.stringify({
        name:       `consultation-${consultationId}`,
        properties: {
            exp:         Math.floor(Date.now() / 1000) + 3600, // истекає через годину
            max_participants: 2
        }
    })
}).then(r => r.json());

// Присоєднатися до кімнати
await callFrame.join({ url: room.url, token: participantToken });

Планування та управління сесіями

consultations (
  id, doctor_id, patient_id,
  scheduled_at, duration_minutes,
  status: scheduled | active | completed | cancelled | no_show,
  room_id,      -- ID кімнати в відеосервісі
  join_url_doctor, join_url_patient,  -- унікальні посилання
  recording_url,
  notes         -- нотатки лікаря після консультації
)

За 30 хвилин до — email/push сповіщення обом сторонам з кнопкою "Входити в консультацію". Посилання містить одноразовий токен, привязаний до користувача.

Запис консультацій

Daily.co, Twilio Video та Jitsi підтримують запис:

// Daily.co: почати запис
callFrame.startRecording();
callFrame.on('recording-started', () => console.log('Recording started'));
callFrame.on('recording-stopped', (event) => {
    // event.recordingId — ID для скачування
});

Записи зберігаються у провайдера або скачуються через webhook і переносяться на S3. Згода на запис від користувача — обов'язкова (відображається у UI перед початком).

Waiting Room (зал ожідання)

Клієнт не повинен попадати в кімнату до прибуття спеціаліста. Реалізація:

  • Клієнт натискає "Входити" → попадає в очікування
  • Спеціаліст бачить сповіщення у своєму кабінеті
  • Спеціаліст натискає "Почати консультацію" → обидва попадають в кімнату
// Режим knock (Daily.co)
callFrame.join({ url: roomUrl, userData: { name: user.name } });
// Без токена admin — користувач чекає одобрення

Екран і документи

Спільний перегляд екрану:

await callFrame.startScreenShare();

Для обміну документами під час консультації — окремий чат або загрузка файлів через форму рядом з відео.

Адаптація під слабкий інтернет

Daily.co та Twilio автоматично знижують якість відео при поганому з'єднанні. Для власного WebRTC:

const sender = pc.getSenders().find(s => s.track?.kind === 'video');
const params = sender.getParameters();
params.encodings[0].maxBitrate = 500000; // 500 kbps
await sender.setParameters(params);

Термін розробки: 2–3 тижні для інтеграції Daily.co або Jitsi з планувальником консультацій і сповіщеннями. Власний WebRTC стек — 6–8 тижнів.