Saltearse al contenido

Centro de contenido

El Centro de contenido es el módulo contenido: lleva un tema desde la conversación hasta la pieza publicada en cada red. Es núcleo, viene en los cuatro planes y no se puede apagar desde el panel. Lo usas cuando un tema sale en varias redes y la decisión no debe vivir en un chat aparte.

  • La conversación es el expediente. Tema, angle (el enfoque), forbidden (lo que no se dice) y hasta seis canales. Los estados son open, decided, launched y archived, y mandan: no se decide lo cerrado ni se lanza lo que no se decidió.
  • Fuentes por conversación. x_activity, document o note, con título, cuerpo o URL. Se guardan en content_sources y viajan con la pieza.
  • Lanzar crea una pieza por canal (content_channels). El idioma se deduce del nombre del canal: si empieza por x_ es en; todo lo demás, es.
  • Baraja y calendario. La baraja muestra los borradores para aprobar, rechazar o posponer, y para ponerles fecha. El calendario agrupa lo programado y deja marcar como publicada una pieza a mano.
  • content:publish corre cada minuto. Busca piezas aprobadas, con fecha vencida y sin publicar: en x_personal publica el hilo encadenando tuits; en facebook_inflinds e instagram_inflinds publica por Meta. Cualquier otro canal —LinkedIn hoy— no tiene publicador y siempre cae en tarea humana.
  • content:prune-media borra las láminas treinta días después de publicarlas.
  • Del módulo contenido y del permiso de trabajo contenido. Ese permiso no viene en ningún perfil del catálogo: lo tiene el propietario o un miembro al que se le dé por permisos manuales.
  • De una app de X o de Meta conectada para publicar por API. Sin ella no hay llamada: la pieza se abre como tarea content_publish con el texto, las láminas y el vencimiento, y se publica a mano.
  • Instagram exige al menos una lámina; sin ella la publicación falla y queda en publish_error, con la tarea disponible.
  • De la clave contenido en las rutas. Con el módulo apagado, escribir devuelve 403 con {"module":"contenido"}.

La lista sale vacía y las escrituras dan 403. La agenda, la baraja y el listado de vencidas no comprueban el módulo cuando no mandas site_id: filtran por los sitios del usuario, no por los que lo tienen encendido. Los callbacks públicos de X y Meta tampoco lo comprueban: su seguridad es el state, que caduca en quince minutos y se gasta al primer uso.

Si el sitio queda suspendido, el módulo se apaga con él; en solo lectura el contenido sigue respondiendo.

  • Lanzar otra vez reescribe la pieza y la devuelve a borrador, y no limpia scheduled_at ni published_at: una pieza ya publicada puede reaparecer como borrador con fecha.
  • El mismo texto para todos los canales. launch copia el texto de la conversación en cada canal elegido; no adapta el tono ni el largo a la red. Si ningún canal elegido trae texto, responde 422.
  • La generación no ocurre en Merez. El flujo no pasa por el ledger, así que el panel no puede prometer consumo medido.
  • El veredicto published existe en la API y marca la pieza sin publicarla: sin URL y sin fecha de publicación. El panel solo manda aprobar, rechazar y posponer.
  • Deshacer devuelve la pieza a borrador, borra fecha y publicación, y cierra la tarea humana abierta de esa pieza.
  • content:autopilot no es de este módulo: es de Blog y propone ideas de artículo.