Importar desde GitHub
Puedes importar templates de tema directamente desde un repositorio de GitHub, ya sea público o privado.
Endpoint
POST /admin/themes/templates/import/github
Body
| Campo | Requerido | Descripción |
|---|---|---|
repo | Sí | Repositorio en formato owner/repo |
path | No | Subdirectorio dentro del repo (opcional) |
token | No | Token de GitHub para repos privados |
{
"repo": "mi-tienda/theme-templates",
"path": "templates",
"token": "ghp_xxxxxxxxxxxx"
}
Comportamiento
- Valida el formato
owner/repo - Consulta la API de GitHub (
/repos/{owner}/{contents}/{path}) - Descarga cada archivo
.jsony.htmlencontrado - Guarda los archivos en el directorio de templates del tenant:
themes/_tenants/<tenant_id>/templates/
- Devuelve el conteo de archivos importados
{ "ok": true, "imported": 5 }
Limitaciones
- Solo importa archivos
.jsony.html - Los archivos existentes se sobreescriben
- No importa subdirectorios (solo archivos del nivel especificado)
- Timeout de 30 segundos por request a GitHub
Repositorios privados
Para repositorios privados, genera un Personal Access Token con permisos de repo y pásalo en el campo token.
Exportar templates
Para exportar todos los templates como ZIP:
GET /admin/themes/templates/export
Descarga un archivo ZIP con la estructura templates/ que incluye los templates del tema base y los overrides del tenant.