Ir al contenido

Conceptos básicos

PushGo puede verse como una ruta de sincronización entre sus scripts, servicios o dispositivos y los clientes suscritos a un Channel. No se limita a convertir texto en una notificación del sistema: también conserva ciclos de vida de Event y estados de Thing para que el historial, los filtros y la automatización sigan teniendo estructura.

Sender -> Gateway -> Channel -> Subscribed devices
|
+-> Message / Event / Thing
  • Sender: un script, servidor, Home Assistant, pipeline de CI/CD o asistente de IA.
  • Gateway: valida peticiones, guarda estado, elige rutas de entrega y despacha datos.
  • Channel: espacio de comunicación al que se suscriben uno o varios dispositivos. Cada petición necesita channel_id y password.
  • Cliente: los clientes Apple reciben notificaciones mediante APNs; los clientes Android pueden combinar FCM con transportes privados.
  • Modelo de datos: PushGo separa alertas puntuales, procesos con ciclo de vida y estado persistente en objetos distintos.

Un Channel es el límite básico de PushGo. Varios dispositivos pueden suscribirse al mismo Channel, y varios remitentes pueden escribir en él si conocen sus credenciales.

ConceptoPropósito
channel_idIdentifica a qué Channel se envía la petición.
passwordAutoriza escrituras en ese Channel.
Dispositivos suscritosReciben el contenido aceptado para el Channel.

La contraseña de Channel no es una contraseña de administración del Gateway. Tanto los Gateways públicos como los privados siguen usando autorización a nivel de Channel; un Gateway privado puede añadir además un token Bearer propio.

Cuando el Gateway recibe una petición:

  1. Valida el formato, las credenciales del Channel y, si existe, el token Bearer del Gateway.
  2. Crea o actualiza el estado de Message, Event o Thing.
  3. Entrega el contenido a los dispositivos suscritos mediante APNs, FCM o transportes privados de Android.

La respuesta HTTP indica si el Gateway aceptó la petición. La entrega real de la notificación del sistema es asíncrona: accepted significa que la petición entró en la ruta de despacho, no que todos los dispositivos ya la hayan mostrado.

La idea central de PushGo no es tener “muchos campos de notificación”, sino usar un modelo distinto para cada tipo de objeto.

ModeloRepresentaEjemplosAPI principal
MessageAlerta puntualDisco casi lleno, copia de seguridad completada, bajada de precioPOST /message
EventProceso con actualizaciones y cierreDespliegue, incidente, puerta abierta hasta cerrarse/event/create, /event/update, /event/close
ThingEstado persistente de una entidadNAS, sensor, habitación, servicio de red/thing/create, /thing/update, /thing/archive, /thing/delete

Antes de elegir, formule una pregunta sencilla: ¿quiere avisar de algo una vez, seguir un proceso o sincronizar el estado actual de un objeto?

PushGo no obliga a todas las plataformas a usar la misma conexión en segundo plano.

PlataformaRuta principalNotas
Plataformas AppleAPNsEntrega gestionada por el sistema para iOS, macOS y watchOS.
AndroidFCM + transportes privadosFCM puede despertar el dispositivo; los transportes privados reducen la latencia de sincronización.
Gateway autoalojadoDepende del desplieguePuede habilitar WSS, QUIC y Raw TCP para transportes privados de Android.

Consulte compatibilidad de aplicaciones y plataformas para ver las capacidades de cada cliente.

CapaQué protege
Contraseña de ChannelEvita escrituras no autorizadas en un Channel.
Token Bearer de GatewayRestringe quién puede llamar a una instancia privada del Gateway.
HTTPS/TLSProtege credenciales y peticiones en tránsito.
E2EE ciphertextPermite que los clientes descifren campos sensibles localmente mientras el Gateway solo retransmite texto cifrado.
MCP OAuthPermite que asistentes de IA actúen dentro de Channels autorizados sin poseer directamente sus contraseñas.

Si solo quiere enviar la primera notificación de prueba, basta con entender Channel y Message. Lea después los modelos de datos, autenticación y autoalojamiento cuando necesite estado duradero o un Gateway propio.