@multiapi/multisocket
v0.1.1
Published
Laravel Echo connector for the MultiSocket websocket hub
Readme
@multiapi/multisocket
Conector de Laravel Echo para MultiSocket, el hub de websockets de MultiAPI.
Instalación
npm install laravel-echo @multiapi/multisocketFunciona con laravel-echo v1.10+ y v2.
Frontend
import Echo from 'laravel-echo';
import { Connector } from '@multiapi/multisocket';
window.Echo = new Echo({
broadcaster: Connector,
key: 'TU_APP_KEY',
// host: 'wss://ws.multisocket.dev.multiapi.cl', // solo para development
});
window.Echo.private(`orders.${id}`).listen('OrderCreated', (event) => console.log(event));
window.Echo.connector.onError(({ code, message }) => {
// 4000 no se pudo conectar · 4001 app deshabilitada · 4003 cuenta bloqueada · 4004 límite de conexiones · 4005 cuota de mensajes
console.warn(code, message);
});Sin host, el conector usa producción: wss://ws.multisocket.multiapi.cl. Sin key no abre conexión.
Códigos de error
Los errores 4000–4099 son definitivos: el conector deja de reconectar. Los 4100–4199 son temporales y reconecta solo.
| Código | Significado | |---|---| | 4000 | No se pudo conectar (el conector se rindió tras 5 intentos fallidos seguidos; p. ej. key desconocida) | | 4001 | App deshabilitada (key conocida pero inactiva) | | 4003 | Cuenta bloqueada | | 4004 | Límite de conexiones alcanzado | | 4005 | Cuota de mensajes agotada | | 4100 | Conexión desconocida, reconectar |
Los canales privados se autorizan contra /broadcasting/auth de tu backend, igual que con Pusher o Reverb.
Backend (Laravel)
En el .env de tu app, con los datos que muestra el panel de MultiSocket:
BROADCAST_CONNECTION=pusher
PUSHER_APP_ID=...
PUSHER_APP_KEY=...
PUSHER_APP_SECRET=...
PUSHER_HOST=multisocket.multiapi.cl
PUSHER_PORT=443
PUSHER_SCHEME=httpsLimitaciones
- Presence channels todavía no están soportados.
Licencia
MIT. Basado en laravel-echo-api-gateway de George Boot.
