Table of Contents

Introducción a las APIs de cloud recognition

Lista de APIs

Protocolo de interfaz REST API y mecanismo de autenticación

CRS API sigue el estándar de transporte HTTP REST.

Http Header

    Authorization:

Parámetros de request Http, divididos en dos tipos:

  • Parámetros comunes (incluyen todos estos; los distintos métodos de autenticación usan distintas combinaciones):

    • appId
    • timestamp (entero largo Long: milisegundos transcurridos desde las 00:00:00 UTC del 1 de enero de 1970)
    • apiKey
    • signature (firma del request, alternativa a la autenticación por token)
  • Parámetros de CRS API: parámetros propios de la API

    La documentación de API ya no describe los parámetros comunes usados para autenticación

Autenticación con API Key

Los métodos de autenticación se dividen en dos tipos:

Autenticación basada en Token

El Http header Authorization contiene el Token. Los parámetros comunes incluyen:

  • appId

Autenticación por signature

No se usa Http header Authorization.

Los parámetros comunes contienen información de signature. Todos los parámetros se incluyen en el cálculo de la firma, excepto las imágenes.

  • appId
  • timestamp
  • apiKey
  • signature

Para el algoritmo y el código detallados del cálculo de signature, consulte método de signature de API Key.

Ejemplos de uso y análisis de propiedades

Ejemplo de uso de API

Este ejemplo llama a la API para crear una target image, ayudando a los desarrolladores a comprender el proceso de request de CRS API, la estructura de propiedades de la target image y la entrada y salida de la interfaz.

En producción se requieren más validaciones antes de crear una target image. Para más detalles, consulte las best practices para crear una nueva target image.

Ejemplo de request

Añada un archivo de target image llamado test-target.jpg. Al crear una target image, el archivo de imagen debe codificarse en base64.

La documentación de API describe en detalle los parámetros del request. Consulte API - Crear target image para solicitar la API con el archivo de imagen codificado en 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"
}

Ejemplo de response

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 de response

Todas las responses usan un formato unificado. El siguiente es un ejemplo:

{
  "statusCode": 119,
  "msg": "Parameter has errors",
  "date": "2022-06-15T09:56:30.000Z",
  "result":  //result solo existe cuando statusCode es 0. Si se produce un error, el campo result queda vacío
}

Como se muestra en el ejemplo anterior, esta es la estructura normal de detalles de target image devuelta. Una target image incluye las siguientes propiedades.

Propiedad Descripción
targetId Id único de la target image
trackingImage Codificación base64 de la imagen en escala de grises procesada, usada para image tracking en el lado del dispositivo
name Nombre de target image
size Tamaño de imagen, el tamaño práctico usado para superponer contenido virtual en la aplicación
meta Datos asociados por el usuario, que pueden ser archivo, texto o url y deben codificarse en base64
type "ImageTarget"
active Solo se pueden reconocer las target images habilitadas. Después de deshabilitarse no se reconocerán
trackableRate Puntuación de dificultad de tracking. Cuanto menor, mejor
detectableRate Puntuación de dificultad integral de recognition. Cuanto menor, mejor
detectableDistinctiveness Puntuación de dificultad de diferenciación de recognition. Cuanto menor, mejor
detectableFeatureCount Puntuación de dificultad de características de recognition. Cuanto menor, mejor
trackableDistinctiveness Puntuación de dificultad de diferenciación de tracking. Cuanto menor, mejor
trackableFeatureCount Puntuación de dificultad de características de tracking. Cuanto menor, mejor
trackableFeatureDistribution Puntuación de dificultad de distribución de características de tracking. Cuanto menor, mejor

Códigos de error

Descripción de códigos de error de cloud recognition APIs

Temas relacionados