Guía de integración
Qué es Confirio y cómo empezar #
Confirio agrega videollamadas con tu marca dentro de tu software. Tu backend crea las salas con una API key; tu navegador recibe sólo el enlace necesario para entrar. El consumo se mide por segundo de cada conexión.
Camino rápido de 5 minutos #
- Creá una API key en el Panel. Copiala y guardala en el entorno de tu backend. El Panel la muestra una sola vez.
- Instalá el SDK y Express:
npm install confirio-sdk express. - Levantá el endpoint del backend. La API key queda en
CONFIRIO_API_KEYy el endpoint le devuelve a tu app los datos de entrada. - Pedí la sala desde tu página.
ConfirioBrowsertoma la respuesta y arma el iframe.
En una carpeta nueva, instalá el SDK y Express, y configurá la API key en tu terminal:
npm install confirio-sdk express
export CONFIRIO_API_KEY=TU_API_KEY
Guardá lo siguiente como server.mjs y ejecutalo con node server.mjs:
import express from 'express';
import ConfirioServer from 'confirio-sdk/server';
const apiKey = process.env.CONFIRIO_API_KEY;
if (!apiKey) throw new Error('Configurá CONFIRIO_API_KEY');
const confirio = new ConfirioServer({ apiKey });
const app = express();
app.use(express.json());
// Esta ruta es de tu backend: el nombre lo elegís vos.
// Protegela con el login de tu producto.
app.post('/videollamada', async (req, res) => {
try {
const joinInfo = await confirio.createRoomForClient({
name: req.body?.roomName || 'Sala de prueba',
// Opcionales: startsAt: '2026-10-10T15:00:00-03:00', waitingRoom: true
});
res.status(201).json(joinInfo);
} catch (error) {
res.status(error.status || 500).json({ error: error.message, code: error.code });
}
});
app.listen(3000, () => console.log('Backend listo en http://localhost:3000'));
Cuando tu página le hace POST /videollamada a tu backend, este crea la sala en Confirio y le devuelve los datos para entrar. El SDK ya apunta a la API de Confirio: sólo necesita la API key.
Abrila en tu página #
Agregá este bloque en la pantalla de tu producto. El navegador llama a tu backend, que ya tiene la key, y embeberá la sala que le devuelve.
<button id="start">Abrir llamada</button>
<div id="call-container"></div>
<script src="https://cdn.jsdelivr.net/npm/confirio-sdk@2/dist/confirio-sdk-browser.min.js"></script>
<script>
const browser = new ConfirioBrowser();
document.getElementById('start').addEventListener('click', async () => {
// Le pide la sala a tu backend, nunca a Confirio directo.
const response = await fetch('/videollamada', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ roomName: 'Consulta de prueba' })
});
if (!response.ok) {
alert('No se pudo crear la sala.');
return;
}
const joinInfo = await response.json();
browser.useRoom(joinInfo);
const iframe = browser.createEmbed(joinInfo.roomId, {
width: '100%',
height: '600px'
});
document.getElementById('call-container').appendChild(iframe);
});
</script>
No pongas la API key en código de navegador. Cualquier persona puede verla en las herramientas del navegador y usarla para operar salas y generar consumo a cargo de tu organización. ConfirioBrowser no necesita ni acepta esa key.
Qué recibís #
createRoomForClient() devuelve roomId, name, joinUrl, maxParticipants, isPasswordProtected y participantRef. No incluye el enlace privado de moderación. Para repartir los dos tipos de enlace, mirá Salas.
La llamada empieza cuando se conecta alguien. No hace falta llamar a startRoom() para medir el tiempo.