Table of Contents

Introduzione alle API di riconoscimento cloud

Panoramica delle API

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

Argomenti correlati