Canales de distribución
Cada proyecto tiene tres canales de distribución fijos que representan entornos de despliegue. Publicar un template en un canal lo hace disponible en ese entorno.
Canales
| Canal | Valor enum | Propósito |
|---|---|---|
DEV | 0 | Desarrollo local y pruebas tempranas de integración |
STAGING | 1 | Validación pre-producción con infraestructura real |
PROD | 2 | Tráfico de producción en vivo |
Publicar en PROD es lo que hace que el estado del template cambie a Production.
Estado del canal
Cada canal registra:
| Campo | Descripción |
|---|---|
channel | DEV, STAGING o PROD |
activeTemplateId | El template actualmente publicado en este canal (null si no publicado) |
channelHandle | Identificador interno de publicación |
publishedBy | Usuario que realizó la última acción de publicación |
publishedAt | Timestamp de la última acción de publicación |
Endpoints de API
| Método | Ruta | Rol requerido | Descripción |
|---|---|---|---|
GET | /api/Projects/{projectId}/distribution-channels | Viewer+ | Listar los tres canales con su estado actual |
POST | /api/Projects/{projectId}/distribution-channels/{channel}/publish | ProjectManager+ | Publicar un template en un canal |
POST | /api/Projects/{projectId}/distribution-channels/{channel}/unpublish | ProjectManager+ | Eliminar el template activo de un canal |
{channel} debe ser DEV, STAGING o PROD.
Publicar un template
POST /api/Projects/{projectId}/distribution-channels/PROD/publish
Authorization: Bearer {token}
{
"templateId": "template-uuid"
}
El template debe estar en estado Testing para publicarse. Publicar en PROD mueve automáticamente el template Production anterior a Previous.
Despublicar un canal
POST /api/Projects/{projectId}/distribution-channels/STAGING/unpublish
Authorization: Bearer {token}
Elimina el template activo del canal. El estado del template no se ve afectado — permanece como estaba.
Archivar un proyecto despublica automáticamente los tres canales.
Flujo recomendado
Subir template → Publicar en DEV → Probar
→ Publicar en STAGING → Validar
→ Publicar en PROD → En vivo
Los canales son independientes — puedes publicar diferentes versiones de template en DEV y STAGING simultáneamente para pruebas paralelas.