Estado de los canales
Sabe si WhatsApp, Instagram, Messenger y correo están conectados, con qué cuenta y si están sanos, antes de prometer que un mensaje va a salir.
Antes de mandar algo por un canal conviene saber si ese canal está conectado y sano. GET /workspaces/{workspaceId}/channels/status te lo dice para los cuatro tipos —WhatsApp, Instagram, Messenger y correo— en una sola llamada.
Scope
channels:read. No consume Energía. No devuelve credenciales: ni tokens, ni PIN, ni la ruta del webhook. Conectar, reconectar y desconectar un canal se hace desde el panel de Meteor.
import { Met } from '@meteor.ia/sdk';
const met = new Met(process.env.MET_KEY!, { workspaceId: 42 });
const { data } = await met.channels.status();
for (const canal of data) {
console.log(canal.type, canal.connected, canal.health, canal.reason);
for (const cuenta of canal.accounts) console.log(' ', cuenta.display, cuenta.health);
}
Siempre llegan los cuatro tipos, en el mismo orden, conectados o no.
Qué dice cada campo
| Campo | Qué significa |
|---|---|
connected | El canal está conectado en tu workspace. |
channel_id | El id del canal para el resto de operaciones (GET /channels/{channelId}/config, los envíos de WhatsApp). null si nunca se conectó. |
accounts[] | Cada número de WhatsApp, cuenta de Instagram, Página de Facebook o casilla de correo, con display (lo que ve tu cliente), is_active y su propia salud. |
health | ok, attention, disconnected o not_connected. Es la peor salud entre sus cuentas activas. |
reason | Por qué no está ok (abajo). |
last_synced_at | Cuándo Meteor sincronizó esa cuenta con el proveedor por última vez. |
Los motivos
reason | Qué hacer |
|---|---|
line_not_operational | El número de WhatsApp no terminó de verificarse o registrarse. Termina el alta desde el panel. |
quality_low | Meta calificó en rojo la calidad del número. Baja el volumen de plantillas de marketing. |
authorization_expiring | El permiso de la cuenta vence en menos de 7 días. Reconéctala desde el panel. |
authorization_expired | El permiso venció: lo que entra por esa cuenta ya no llega. Reconéctala desde el panel. |
account_inactive | La cuenta está apagada en el panel; no cuenta para la salud del canal. |
no_accounts | El canal está conectado pero no tiene ninguna cuenta activa. |
Si una cuenta se cae y las demás siguen sanas, el canal queda en attention: sigue respondiendo por las otras. Solo está disconnected cuando se cayeron todas.
Lo que no hace
La salud sale de lo último que Meteor sincronizó, no de una consulta a Meta en el momento: llamarla en bucle no te da información más fresca. Para diagnosticar un canal en detalle —qué flujo atiende cada línea, qué Met responde— usa GET /channels/{channelId}/config.