Saltare al contenuto

Dispositivi

Gli dispositivi sono installazioni di app individuali che inviano dati di aggiornamento a Capgo. Utilizzare questo API per recuperare quei dati o impostare e rimuovere un override di canale privato specifico per dispositivo.

Ogni record può includere l'ID del dispositivo, la piattaforma, le versioni di aggiornamento e OS, la costruzione nativa, il bundle installato, lo stato di produzione e di emulazione, l'ID personalizzato e l'override del canale.

Quando disponibile, country_code is the latest valid two-letter ISO 3166-1 country code received from a Cloudflare-handled request for the device. It is not GPS or a location value supplied by your app. It can be null quando non disponibile; utilizza una ricerca singola dispositivo quando hai bisogno di questo campo.

https://api.capgo.app/device/

Imposta un override dispositivo specifico a un canale privato. Per scegliere un bundle per un dispositivo, assegna quel bundle al canale; non sono supportate sovrapposizioni di bundle per dispositivo diretto. Corpo della richiesta

Sottosezione intitolata “Corpo della richiesta”

Copia negli appunti
interface DeviceChannelOverride {
app_id: string; // reverse-domain app ID, for example com.example.app
device_id: string;
channel: string; // existing non-public channel name
}

when unavailable; use a single-device lookup when you need this field.

Sezione intitolata “Richiesta di esempio”
Finestra del terminale
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/

I canali pubblici non possono essere utilizzati come override per dispositivi.

{
"status": "ok"
}

https://api.capgo.app/device/

Recupera i metadati del dispositivo. I risultati sono paginati a cursor quando si omette device_id.

  • app_id: ID del'app obbligatorio, ad esempio com.example.app.
  • device_id: ID dispositivo facoltativo. Quando presente, la risposta è un singolo dispositivo piuttosto che una lista paginata.
  • customIdMode: Boolean facoltativo. Imposta su true : Boolean facoltativo. Imposta su custom_id.
  • cursor: ID cursor facoltativo dal precedente elenco di risposta.
  • limit: Numero facoltativo di dispositivi per pagina.
Finestra del terminale
# Get the first page
curl -H "authorization: your-api-key" \
"https://api.capgo.app/device/?app_id=com.example.app"
# Get one device, including its request-derived country when available
curl -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 ID
curl -H "authorization: your-api-key" \
"https://api.capgo.app/device/?app_id=com.example.app&customIdMode=true"
# Get the next page
curl -H "authorization: your-api-key" \
"https://api.capgo.app/device/?app_id=com.example.app&cursor=2024-01-01T00:00:00Z%7Cdevice_456"
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 è popolato da un lookup specifico del dispositivo quando Capgo ha memorizzato un paese valido Cloudflare-derivato code. Le richieste senza un paese valido non cancellano il valore valido precedente; le risposte elenco possono restituire null per questo campo.

{
"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
}
{
"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/

Elimina l'override del canale di un dispositivo. Il dispositivo utilizzerà nuovamente la selezione del canale normale; questo endpoint non cancella il record di metadati del dispositivo.

interface DeviceOverrideRemoval {
app_id: string;
device_id: string;
}
Finestra del terminale
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/
{
"status": "ok"
}

Esegui un errore utilizza uno stato di errore HTTP e un corpo JSON con error e message i campi degli errori. I codici di errore comuni includono:

  • invalid_app_id quando app_id non è un identificatore di dominio inverso.
  • device_not_found per una ricerca di dispositivo sconosciuto.
  • channel_not_found quando il canale richiesto non esiste.
  • public_channel_override quando si tenta di sovrascrivere un dispositivo a un canale pubblico.
  • invalid_version_id quando si tenta di sovrascrivere un bundle diretto; utilizzare un canale invece.
  • cannot_access_app o cannot_access_channel when the API key lacks the required permission.

quando la chiave __CAPGO_KEEP_0__ non dispone della permessione richiesta.

Sezione intitolata “Casi d'uso comuni”
  1. Spostare un dispositivo di prova su un canale beta privato

    {
    "app_id": "com.example.app",
    "device_id": "device_456",
    "channel": "beta"
    }
  2. Ripristina un dispositivo alla selezione normale dei canali

    Utilizza il DELETE endpoint con gli ID dell'app e del dispositivo.

Continua da Dispositivi

Se stai utilizzando

Dispositivi per pianificare la routing dei canali e la distribuzione in fase di test, connettilo con Canali context:Canali di rilascio di Capgo. Pagina/area: Pagina di marketing delle soluzioni di Capgo. Ruolo: Etichetta di navigazione o elemento UI breve. Visualizzato in: pagina solutions/white-label.astro. Chiave di messaggio `solutions_white_label_visual_cell2_value` (Valore della cella visiva White Label Solutions). per i dettagli di implementazione nei canali, Canali per i dettagli di implementazione nei canali, Canali per i dettagli di implementazione nei canali, Soluzione di testing beta per il flusso di lavoro del prodotto in Soluzione di testing beta, e Soluzione di targeting della versione per il flusso di lavoro del prodotto in Soluzione di targeting della versione.