API de Administración
Todos los endpoints de administración requieren el encabezado X-Auth-Token con un token de ámbito administrador. Los tokens de administrador tienen acceso completo a todas las operaciones de la API, incluyendo subida.
Productos
Listar Productos
GET /admin/api/productsDevuelve todos los productos con su información básica.
curl http://localhost:8000/admin/api/products \
-H "X-Auth-Token: YOUR_ADMIN_TOKEN"Crear Producto
POST /admin/api/products
Content-Type: application/json| Campo | Requerido | Descripción |
|---|---|---|
name | Sí | Nombre de visualización del producto |
slug | Sí | Identificador URL (único) |
description | No | Descripción del producto |
curl -X POST http://localhost:8000/admin/api/products \
-H "X-Auth-Token: YOUR_ADMIN_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "MyApp", "slug": "myapp", "description": "Cross-platform app"}'Obtener Producto
GET /admin/api/products/:productIDDevuelve el producto con todas sus variantes.
Actualizar Producto
PUT /admin/api/products/:productID
Content-Type: application/jsonEliminar Producto
DELETE /admin/api/products/:productIDEliminación en Cascada
Eliminar un producto elimina permanentemente todas sus variantes, versiones y archivos subidos.
Variantes
Crear Variante
POST /admin/api/products/:productID/variants
Content-Type: application/json| Campo | Requerido | Descripción |
|---|---|---|
platform | Sí | ios, android, macos, windows, linux |
display_name | Sí | Nombre legible por humanos |
identifier | Sí | Bundle ID o nombre de paquete |
arch | No | Arquitectura de CPU |
installer_type | No | Tipo de archivo (ipa, apk, dmg, etc.) |
min_os | No | Versión mínima del OS |
sort_order | No | Orden de visualización (menor = primero) |
Actualizar Variante
PUT /admin/api/variants/:variantID
Content-Type: application/jsonEliminar Variante
DELETE /admin/api/variants/:variantIDEliminación en Cascada
Eliminar una variante elimina permanentemente todas sus versiones y archivos subidos.
Estadísticas de Variante
GET /admin/api/variants/:variantID/statsDevuelve conteos de descargas y otras estadísticas de la variante.
Versiones
Eliminar Versión
DELETE /admin/api/releases/:releaseIDElimina la versión y su archivo binario subido.
Publicación
Controla si un producto/app es visible en la página de descarga pública.
Publicar
PUT /admin/api/apps/:appID/publishDespublicar
PUT /admin/api/apps/:appID/unpublishEventos
Consultar Eventos
GET /admin/api/eventsDevuelve eventos de visita, clic y descarga. Soporta parámetros de consulta para filtrado.
| Parámetro | Descripción |
|---|---|
type | Tipo de evento (visit, click, download) |
variant_id | Filtrar por variante |
release_id | Filtrar por versión |
Dispositivos iOS
Listar Dispositivos
GET /admin/api/ios_devicesDevuelve todos los dispositivos iOS que han completado la vinculación UDID.
Registrar Dispositivo con Apple
POST /admin/api/devices/:deviceID/register-appleRegistra un único dispositivo en tu cuenta de Apple Developer.
Registro en Lote de Dispositivos
POST /admin/api/devices/register-appleRegistra todos los dispositivos no registrados con Apple en una única operación de lote.
API de Apple Developer
Comprobar Estado
GET /admin/api/apple/statusDevuelve si las credenciales de la API de Apple Developer están configuradas y son válidas.
Listar Dispositivos Apple
GET /admin/api/apple/devicesDevuelve los dispositivos registrados en tu cuenta de Apple Developer.
Ajustes
Obtener Ajustes
GET /admin/api/settingsDevuelve los ajustes actuales del sistema (dominios, organización, tipo de almacenamiento).
Actualizar Ajustes
PUT /admin/api/settings
Content-Type: application/jsonLos campos actualizables incluyen:
primary_domain-- URL pública para manifiestos y callbackssecondary_domains-- Dominios CDN o alternativosorganization-- Nombre de organización en perfiles iOSstorage_type--localos3- Configuración S3 (endpoint, bucket, claves, URL pública)
- Credenciales de la API de Apple Developer
Obtener Configuración de Subida
GET /admin/api/upload-configDevuelve la configuración actual de subida incluyendo tipo de almacenamiento y límites.
Exportaciones
Exporta datos como archivos CSV para análisis externo:
| Endpoint | Datos |
|---|---|
GET /admin/exports/releases.csv | Todas las versiones con metadatos |
GET /admin/exports/events.csv | Todos los eventos |
GET /admin/exports/ios_devices.csv | Todos los dispositivos iOS |
# Example: export all releases
curl -o releases.csv http://localhost:8000/admin/exports/releases.csv \
-H "X-Auth-Token: YOUR_ADMIN_TOKEN"Siguientes Pasos
- API de Subida -- Referencia del endpoint de subida
- Configuración -- Opciones de configuración del servidor
- Despliegue en Producción -- Asegura tu API de administración