Dispositivos
Copia un prompt de configuración con los pasos de instalación y la guía de markdown completa para este plugin.
Los dispositivos son instalaciones de aplicaciones individuales que informan metadatos de actualización a Capgo. Utilice este API para recuperar esos metadatos o establecer y eliminar un override de canal privado específico del dispositivo.
Metadata del dispositivo
Sección titulada “Metadata del dispositivo”Each record can include the device ID, platform, updater and OS versions, native build, installed bundle, production and emulator state, custom ID, and channel override.
Cuando esté disponible country_code es la última code válida de dos letras ISO 3166-1 recibida de una Cloudflare-manejada solicitud para el dispositivo. No es GPS ni un valor de ubicación proporcionado por tu aplicación. Puede ser null utilice un lookup de dispositivo único cuando este campo no esté disponible.
Puntos finales
Sección titulada “Puntos finales”https://api.capgo.app/device/
Set a device-specific override to a privado canal. Para elegir un paquete para un dispositivo, asigna ese paquete al canal; no se admiten sobrescripciones de paquetes por dispositivo directas. La sobrescritura caduca 90 días después de la última escritura a menos que vuelvas a enviar un POST.
Solicitud de cuerpo
Sección titulada “Solicitud de cuerpo”interface DeviceChannelOverride { app_id: string; // reverse-domain app ID, for example com.example.app device_id: string; channel: string; // existing non-public channel name}Ejemplo de solicitud
Sección titulada “Ejemplo de solicitud”curl -X POST \ -H "authorization: your-api-key" \ -H "Content-Type: application/json" \ -d '{ "app_id": "com.example.app", "device_id": "device_456", "channel": "beta" }' \ https://api.capgo.app/device/Los canales públicos no pueden usarse como sobreescripciones de dispositivo.
Respuesta de éxito
Sección titulada “Respuesta de éxito”{ "status": "ok"}https://api.capgo.app/device/
Obtener metadatos de dispositivo. Los resultados están paginados con cursor cuando omites device_id.
Parámetros de consulta
Sección titulada “Parámetros de consulta”app_idID de aplicación de dominio inverso requerido, comocom.example.app.device_idID de dispositivo opcional. Cuando está presente, la respuesta es un solo dispositivo en lugar de una lista paginada.customIdModeOpcional booleano. Establezca atruepara devolver solo dispositivos con un valor no vacíocustom_id.cursor: Cursor opcional desde la respuesta de la lista anterior.limit: Número opcional de dispositivos por página.
Pedidos de ejemplo
Título de la sección “Pedidos de ejemplo”# Get the first pagecurl -H "authorization: your-api-key" \ "https://api.capgo.app/device/?app_id=com.example.app"
# Get one device, including its request-derived country when availablecurl -H "authorization: your-api-key" \ "https://api.capgo.app/device/?app_id=com.example.app&device_id=device_456"
# Get only devices with a custom IDcurl -H "authorization: your-api-key" \ "https://api.capgo.app/device/?app_id=com.example.app&customIdMode=true"
# Get the next pagecurl -H "authorization: your-api-key" \ "https://api.capgo.app/device/?app_id=com.example.app&cursor=2024-01-01T00:00:00Z%7Cdevice_456"Tipos de respuesta
Section titled “Response types”interface DeviceListResponse { data: Device[]; nextCursor?: string; hasMore: boolean;}
interface Device { updated_at: string; device_id: string; custom_id: string; version?: number; version_name: string | null; channel?: string; app_id: string; platform: "ios" | "android" | "electron"; plugin_version: string; os_version: string; version_build: string; is_prod: boolean; is_emulator: boolean; key_id: string | null; install_source: string | null; country_code: string | null;}country_code is populated by a device-specific lookup when Capgo has stored a valid Cloudflare-derived country code. Requests without a valid country do not clear the last valid value; list responses may return null para este campo
Respuesta de ejemplo (lista)
Sección titulada “Respuesta de ejemplo (lista)”{ "data": [ { "device_id": "device_456", "custom_id": "test-device-1", "version": 1, "version_name": "1.0.0", "app_id": "com.example.app", "platform": "ios", "plugin_version": "5.0.0", "os_version": "17.0", "version_build": "1", "is_prod": true, "is_emulator": false, "key_id": null, "install_source": null, "country_code": null, "updated_at": "2024-01-01T00:00:00Z" } ], "nextCursor": "2024-01-01T00:00:00Z|device_456", "hasMore": true}Respuesta de ejemplo (dispositivo individual)
Sección titulada “Respuesta de ejemplo (dispositivo individual)”{ "device_id": "device_456", "custom_id": "test-device-1", "version": 1, "version_name": "1.0.0", "app_id": "com.example.app", "platform": "ios", "plugin_version": "5.0.0", "os_version": "17.0", "version_build": "1", "is_prod": true, "is_emulator": false, "key_id": "MIIB", "install_source": null, "country_code": "FR", "updated_at": "2024-01-01T00:00:00Z", "channel": "beta"}https://api.capgo.app/device/
Quitar la sobrescritura de canal de un dispositivo. El dispositivo volverá a usar su selección de canal normal; este endpoint no elimina su registro de metadatos.
Cuerpo de solicitud o parámetros de consulta
Sección titulada “Parámetros de solicitud o de consulta”interface DeviceOverrideRemoval { app_id: string; device_id: string;}Solicitud de ejemplo
Sección titulada “Solicitud de ejemplo”curl -X DELETE \ -H "authorization: your-api-key" \ -H "Content-Type: application/json" \ -d '{ "app_id": "com.example.app", "device_id": "device_456" }' \ https://api.capgo.app/device/Solicitud de ejemplo
Section titled “Success response”{ "status": "ok"}Errores utilizan un estado de error HTTP y un cuerpo JSON con error and message códigos de error comunes incluyen:
invalid_app_idcuandoapp_idno es un identificador de dominio inverso.device_not_foundpara una búsqueda de dispositivo desconocido.channel_not_foundcuando el canal solicitado no existe.public_channel_overridecuando se intenta sobreescribir un dispositivo a un canal público.invalid_version_idcuando se intenta sobreescribir un paquete directo; utilice un canal en su lugar.cannot_access_appocannot_access_channelcuando la clave API no tiene la permiso requerido.
Casos de uso comunes
Section titled “Common use cases”-
Título de la sección: Uso común
{"app_id": "com.example.app","device_id": "device_456","channel": "beta"} -
Restablecer un dispositivo a la selección de canal normal
Utilice el
DELETEendpoint with the app and device IDs.
Siga adelante desde Dispositivos
Título de sección “Siga adelante desde Dispositivos”Si está utilizando Dispositivos conectarlo para planificar la ruta de canal y el despliegue en etapas Channels para los detalles de implementación en los canales, Channels para los detalles de implementación en los canales, Canales para los detalles de implementación en Canales, Solución de Pruebas Beta para el flujo de trabajo del producto en Solución de Pruebas Beta, y Solución de Alcance de Versión para el flujo de trabajo del producto en Solución de Alcance de Versión.