Proyectos
Un Proyecto es la unidad organizativa principal en el Backoffice. Representa una campaña de video personalizado (ej. "Tarjeta de crédito preaprobada Q2 2026"). Cada proyecto contiene templates, canales de distribución y opcionalmente páginas de aterrizaje públicas.
Campos
| Campo | Tipo | Notas |
|---|---|---|
id | UUID | Inmutable |
organizationId | UUID | Organización propietaria |
name | string | Requerido |
slug | string | URL-safe, único dentro de la organización |
description | string | Opcional |
status | enum | Draft, Active, Archived |
createdAt | ISO 8601 | UTC |
createdBy | UUID | Usuario que creó el proyecto |
archivedAt | ISO 8601 | Se establece cuando el estado pasa a Archived |
Ciclo de vida del estado
Draft ──► Active
│ │
└────────►└──► Archived
- Draft — proyecto recién creado. Los templates pueden subirse y probarse.
- Active — proyecto en producción. Los templates pueden publicarse en PROD.
- Archived — proyecto cerrado. Todos los canales de distribución se despublican automáticamente. Un proyecto no puede eliminarse si tiene templates en estado
Production.
Endpoints de API
| Método | Ruta | Rol requerido | Descripción |
|---|---|---|---|
GET | /api/Projects?organizationId={id} | Viewer+ | Listar proyectos (paginado) |
GET | /api/Projects/{id} | Viewer+ | Obtener proyecto con templates y canales |
POST | /api/Projects | OrgAdmin / Owner | Crear proyecto |
PUT | /api/Projects/{id} | OrgAdmin / Owner | Actualizar nombre o descripción |
POST | /api/Projects/{id}/archive | OrgAdmin / Owner | Archivar proyecto |
Crear un proyecto
POST /api/Projects
Authorization: Bearer {token}
X-Percus-Forwarded-Active-Org: {orgId}
X-Percus-Forwarded-Org-Role: OrganizationAdmin
{
"name": "Tarjeta de crédito preaprobada Q2",
"description": "Campaña para ofertas de tarjeta de crédito preaprobada"
}
El slug se deriva automáticamente del nombre y es único dentro de la organización.
Respuesta detallada del proyecto
Una respuesta de GET /api/Projects/{id} incluye:
{
"id": "uuid",
"name": "Tarjeta de crédito preaprobada Q2",
"slug": "tarjeta-credito-preaprobada-q2",
"description": "...",
"status": "Draft",
"createdAt": "2026-01-15T10:00:00Z",
"templates": [ ... ],
"distributionChannels": [
{ "channel": "DEV", "activeTemplateId": null, "publishedAt": null },
{ "channel": "STAGING", "activeTemplateId": null, "publishedAt": null },
{ "channel": "PROD", "activeTemplateId": null, "publishedAt": null }
],
"publicVideoShares": [ ... ]
}
Relacionado
- Templates — subir y versionar templates dentro de un proyecto
- Canales de distribución — publicar templates en DEV / STAGING / PROD
- Public Video Shares — crear páginas de aterrizaje públicas para un canal