Introducción a las APIs de cloud recognition
Lista de APIs
- Crear target image
- Lista de target image de una biblioteca de imágenes
- Obtener una sola target image
- Calificación de dificultad de recognizability de imagen
- Target images similares existentes
- Eliminar target image
- Modificar propiedades de target image
- Búsqueda por imagen
- Health check
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