Una JSON público de API Una interfaz permite que el software intercambie datos estructurados mediante peticiones y respuestas HTTP. Con su API tipada y RESTful, Capgo da a los equipos de CapacitorJS y Electron control programático sobre live updates, canales, bundles y la entrega a los dispositivos.
Tabla de contenidos
Fundamentos de JSON de la API pública de Capgo
Capgo no es un directorio de datos de uso general. Su interfaz pública de API JSON conecta tu sistema de build con el servicio de entrega en la nube de Capgo, de modo que la automatización de releases pueda publicar y dirigir bundles web firmados sin esperar a la revisión de App Store o Play. REST utiliza métodos HTTP habituales como GET, POST, PUT, PATCH y DELETE, con JSON como formato de respuesta habitual, como se explica en este Guía de API REST desde Postman.

Para Capgo, JSON es el lenguaje común entre scripts de automatización, trabajos de CI/CD, clientes de TypeScript y la plataforma de entrega. Esa consistencia hace que los payloads sean legibles en los logs y fáciles de validar antes de iniciar un despliegue.
Qué controla la interfaz
Usa los endpoints JSON públicos de API para gestionar recursos de release operativos, incluyendo:
- Bundles, los assets web y metadatos que componen una actualización desplegable.
- Canales, como staging, beta, producción o flujos de release específicos para clientes.
- Versiones, que identifican y rastrean los builds asignados a esos canales.
- Segmentación de dispositivos, lo que ayuda a dirigir las releases a plataformas, versiones de app, sistemas operativos o grupos de metadatos seleccionados.
- Datos de observabilidad, incluyendo adopción, fallos, actividad de rollback y estado por dispositivo.
Una solicitud típica sigue una secuencia predecible. Tu pipeline crea o prepara un bundle, envía metadatos JSON a Capgo, verifica el estado devuelto y luego asigna la release a un canal apropiado. Una consulta posterior puede confirmar qué dispositivos recibieron la actualización.
Idea clave: Trata el JSON de Capgo como un contrato de control de releases, no solo como un formato de datos. Cada campo debe soportar la publicación, el targeting, el monitoreo o la recuperación de una actualización de la aplicación.
Por qué ayuda el JSON tipado
Los payloads tipados reducen la ambigüedad en bases de código de TypeScript. Un identificador de versión debe permanecer como string, una bandera de rollout como Boolean y un recuento de dispositivos como numérico. Antes de conectar la automatización, define interfaces para solicitudes y respuestas, y luego valida los campos requeridos y los valores nulos.
Lee también: Aprende más sobre el uso de TypeScript con APIs.
Mantén tres hábitos en cada integración:
- Inspecciona códigos de estado y cuerpos de respuesta juntos, porque el éxito HTTP por sí solo puede no describir la finalización del despliegue.
- Conservar los identificadores devueltos, especialmente los IDs de bundle, versión y canal, para llamadas posteriores.
- Log safely, excluyendo las claves API y los datos sensibles del dispositivo.
Las siguientes secciones de referencia utilizan esta base para explicar la autenticación, las cargas de subida, los esquemas de canal, las consultas de segmentación y los objetos de error. Para los nombres actuales de endpoints y las definiciones de campos, verifica la documentación de Capgo en capgo.app.
{ “authorization”: “Bearer YOUR_CAPGO_API_KEY”, “contentType”: “application/json”, “accept”: “application/json” }
{ “success”: true, “bundleId”: “com.example.field-app”, “version”: “2.4.0”, “status”: “uploaded”, “bundleUuid”: “generated-bundle-identifier”, “createdAt”: “2026-01-15T10:30:00Z” }
{ “defaultVersion”: “2.4.3”, “autoUpdate”: true, “rollbackProtection”: { “enabled”: true, “fallbackVersion”: “2.4.2” } }
{ “data”: [ { “timestamp”: “2026-02-04T09:00:00Z”, “installs”: 842, “rollbacks”: 3, “errors”: 11 }, { “timestamp”: “2026-02-04T10:00:00Z”, “installs”: 1276, “rollbacks”: 2, “errors”: 8 } ], “summary”: { “totalInstalls”: 2118, “totalRollbacks”: 5, “totalErrors”: 19 } }
{ “error”: { “code”: “INVALID_PARAMETER”, “message”: “The ‘version’ field is required”, “field”: “version”, “details”: { “expected”: “string”, “received”: “null” } } }
{ “version”: “2.4.0”, “checksum”: “sha256-value”, “encryption”: true, “externalUrl”: “https://storage.example/bundle.zip” }