Saltar al contenido principal

Templates

Un Template es un paquete de video versionado subido a un proyecto. Contiene los assets de animación, el manifiesto de bindings y archivos de video opcionales que el Percus Player usa para renderizar videos personalizados.

Tipos de template

TipoDescripción
LottieStandaloneAnimación Lottie/Bodymovin en JSON pura con assets estáticos opcionales
RasterVideo MP4 de base combinado con un overlay Lottie para personalización de texto e imágenes

Ciclo de vida del estado

Testing ──► Production ──► Previous
│ │
└──────────────────────────►└──► Archived
EstadoSignificado
TestingSubido y disponible para pruebas internas. Aún no está en producción.
ProductionEl template activo servido en el canal PROD. Solo un template por proyecto puede estar en Production a la vez.
PreviousEstaba previamente en Production. Se mantiene como referencia.
ArchivedRetirado. No puede eliminarse si estuvo alguna vez en Production.

Cuando un nuevo template se despliega a Production, el template Production actual se mueve automáticamente a Previous.

Subir un template

Los templates se suben como formulario multipart a:

POST /api/Projects/{projectId}/templates/upload

Campos soportados:

CampoTipoRequeridoNotas
namestringNombre del template
versionstringPor defecto "1.0". Formato: "major.minor"
kindenumLottieStandalone o Raster
templateJsonarchivoJSON Lottie (inline, Fase 1)
manifestJsonarchivoJSON del manifiesto de bindings
overlayJsonarchivoConfig del overlay (solo Raster)
videoFilearchivoSolo RasterVideo MP4 de fondo
posterFilearchivoImagen de previsualización
assetFilesarchivo[]Assets estáticos adicionales

Tamaño máximo de subida: 250 MB.

La cabecera Idempotency-Key puede establecerse para evitar subidas duplicadas en caso de reintento.

Ejemplo (curl)

curl -X POST https://api.example.com/api/Projects/{projectId}/templates/upload \
-H "Authorization: Bearer {token}" \
-H "Idempotency-Key: unique-upload-id" \
-F "name=Q2 Tarjeta de crédito v1" \
-F "kind=LottieStandalone" \
-F "version=1.0" \
-F "templateJson=@template.json" \
-F "manifestJson=@manifest.json"

Desplegar a Production

El despliegue publica un template en Testing al canal de distribución PROD y lo marca como Production:

POST /api/Projects/{projectId}/templates/{templateId}/deploy

Requiere rol ProjectManager o OrganizationAdmin.

Alternativamente, publica directamente a un canal específico usando la API de Canales de distribución.

Archivar un template

POST /api/Projects/{projectId}/templates/{templateId}/archive

Un template en estado Production no puede archivarse. Primero muévelo a Previous desplegando una versión más nueva.

Previsualización

Genera una previsualización del template con datos de prueba:

POST /api/Projects/{projectId}/templates/{templateId}/preview
{ "data": { "clientName": "Ana García", "balance": "$ 15.432" } }

Devuelve una URL firmada al asset de previsualización renderizado.

Reglas de versionado

  • Las versiones son inmutables. No puedes editar un template subido — sube una nueva versión en su lugar.
  • El campo version es una etiqueta de visualización ("1.0", "2.0", etc.) definida por quien sube el template.
  • Solo un template por proyecto puede estar en Production en un momento dado.