Introduzione alle API di riconoscimento cloud
Panoramica delle API
- Creazione immagine target
- Lista immagini target nella galleria
- Recupero singola immagine target
- Valutazione difficoltà riconoscibilità immagine
- Immagini target simili esistenti
- Eliminazione immagine target
- Modifica proprietà immagine target
- Ricerca immagini per immagine
- Controllo integrità
Protocollo interfaccia REST API e meccanismo di autenticazione
Le API CRS seguono lo standard di trasmissione HTTP REST.
Intestazione HTTP
Authorization:
Parametri richiesta HTTP, divisi in due tipi:
Parametri comuni (inclusi questi, diverse combinazioni per diversi metodi di autenticazione):
- appId
- timestamp (Long tipo intero: millisecondi trascorsi dal 1 gennaio 1970 00:00:00 UTC)
- apiKey
- signature (firma richiesta, autenticazione token alternativa)
Parametri API CRS: parametri specifici dell'API
La documentazione API non descrive più i parametri comuni per l'autenticazione
Autenticazione API Key
I metodi di autenticazione sono due:
Autenticazione basata su token
L'intestazione HTTP Authorization contiene il token, i parametri comuni includono:
- appId
Autenticazione tramite firma
Non utilizza l'intestazione HTTP Authorization.
I parametri comuni contengono informazioni di firma signature. Tutti i parametri vengono inclusi nel calcolo della firma (eccetto le immagini).
- appId
- timestamp
- apiKey
- signature
Per algoritmi dettagliati e codice sul calcolo della firma, consultare Metodo di firma API Key.
Esempi d'uso e analisi delle proprietà
Esempio di utilizzo API
Ecco un esempio - chiamare l'interfaccia API per creare un'immagine target, che aiuta gli sviluppatori a comprendere il processo di richiesta API CRS, la struttura delle proprietà dell'immagine target e input/output dell'interfaccia.
Nell'ambiente di produzione, prima di creare un'immagine target è necessaria una verifica più approfondita. Fare riferimento alle best practice per creare una nuova immagine target.
Esempio di richiesta
Aggiungi un file immagine target test-target.jpg. Durante la creazione, il file immagine deve essere codificato in base64.
La documentazione API descrive dettagliatamente i parametri di richiesta. Consulta API - Creazione immagine target per l'API di codifica base64.
POST /targets HTTP/1.1
Host:
Date: Mon, 1 Jan 2018 00:00:00 GMT
Content-Type: application/json
{
"image":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgM...",
"active":"1",
"name":"easyar",
"size":"5",
"meta":"496fbbabc2b38ecs3460a...",
"type":"ImageTarget",
"timestamp": 1514736000000,
"apiKey": "8b485c648c3056e79c2a85ee9b51f9dc",
"appId": "C:CN1:f9f903c36da8bd64d71d491077bba...",
"signature": "89985e2420899196db5bdf16b3c2ed0922c0c221"
}
Esempio di risposta
HTTP/1.1 200 OK
Content-Type: application/json
{
"statusCode": 0,
"result": {
"targetId":"e61db301-e80f-4025-b822-9a00eb48d8d2",
"trackingImage":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgM...",
"name": "easyar",
"size": "5",
"meta": "496fbbabc2b38ecs3460a...",
"type": "ImageTarget",
"modified":1514735000000
"active":"1",
"trackableRate": 0,
"detectableRate": 0,
“detectableDistinctiveness”:0,
"detectableFeatureCount": 0,
"trackableDistinctiveness": 0,
"trackableFeatureCount": 0,
"trackableFeatureDistribution": 0,
"trackablePatchContrast": 0,
"trackablePatchAmbiguity": 0
},
"timestamp": 1514736000000
}
Formato di risposta
Le risposte seguono un formato unificato. Ecco un esempio:
{
"statusCode": 119,
"msg": "Parameter has errors",
"date": "2022-06-15T09:56:30.000Z",
"result": //statusCode 0 include result, in caso di errore il campo è vuoto
}
Come nell'esempio precedente, questa è la struttura dettagliata di un'immagine target. Include le seguenti proprietà
| Proprietà | Descrizione |
|---|---|
| targetId | ID univoco immagine target |
| trackingImage | Codifica base64 dell'immagine in scala di grigi elaborata, per il tracking su dispositivo |
| name | Nome immagine target |
| size | Dimensioni immagine, utilizzate per sovrapporre contenuti virtuali |
| meta | Dati associati dall'utente (file, testo o URL), codificati in base64 |
| type | "ImageTarget" |
| active | Solo le immagini target abilitate saranno riconosciute |
| trackableRate | Punteggio difficoltà tracking (valori più bassi = migliore) |
| detectableRate | Punteggio difficoltà riconoscimento (valori più bassi = migliore) |
| detectableDistinctiveness | Punteggio difficoltà distinguibilità riconoscimento (valori più bassi = migliore) |
| detectableFeatureCount | Punteggio difficoltà caratteristiche riconoscimento (valori più bassi = migliore) |
| trackableDistinctiveness | Punteggio difficoltà distinguibilità tracking (valori più bassi = migliore) |
| trackableFeatureCount | Punteggio difficoltà caratteristiche tracking (valori più bassi = migliore) |
| trackableFeatureDistribution | Punteggio difficoltà distribuzione caratteristiche tracking (valori più bassi = migliore) |
Codici di errore
Spiegazione codici di errore API