Crear nuevos objetivos de imagen | POST /targets
Sube imágenes de reconocimiento para crear nuevos objetivos de imagen
Acción
POST /targets
Autenticación
Cabecera HTTP
Content-Type=application/json
Cabecera HTTP: Authorization (cuando se utiliza autenticación por token de clave API)
Parámetros de solicitud
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
| image | String(base64) | Sí | Cadena codificada en base64 del contenido de la imagen, admite formatos JPG y PNG. Tamaño máximo de imagen: 2MB. |
| active | String | No | "1" activa el objetivo, "0" lo desactiva. Por defecto "1". |
| name | String | Sí | Nombre del objetivo. Solo admite letras inglesas, puntuación inglesa, números. Longitud mínima: 1 carácter, máxima: 64 caracteres. |
| size | String (Float) | Sí | Ancho de la imagen de reconocimiento (en cm). La altura se calculará automáticamente según la imagen subida. El tamaño de la imagen de reconocimiento corresponde al tamaño del contenido virtual. Por defecto 20. |
| meta | String | Sí | Normalmente almacena información de contenido AR, formato de cadena de texto. Por defecto "". Ejemplo: información JSON del objeto reconocible, codificación base64 de imagen, o URL de descarga de archivos grandes en almacenamiento en nube. Máximo 2MB. |
| type | String | Sí | Debe configurarse como la cadena fija "ImageTarget". Nota: distingue mayúsculas/minúsculas. |
| allowSimilar | String | No | Permite forzar la adición si existen imágenes similares. Por defecto 0. Las imágenes similares pueden afectar el reconocimiento; se recomienda usar el valor por defecto. |
Nota
- image tiene un límite máximo de 2MB
- meta tiene un límite máximo de 2MB
Ejemplo de solicitud
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,
"appKey": "test_app_key",
"signature": "89985e2420899196db5bdf16b3c2ed0922c0c221"
}
Ejemplo de respuesta
HTTP/1.1 200 OK
Content-Type: application/json
{
"statusCode": 0,
"result": {
"target": {
"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
}
Campos de respuesta
| Campo | Descripción |
|---|---|
| statusCode | Código de estado. 0 indica autenticación correcta. Más referencias en Códigos de estado |
| result | Mensaje de error o información del objetivo |
| timestamp | Hora del servidor al momento de la respuesta. Formato Unix timestamp en milisegundos |
| result.targetId | ID único del objetivo |
| result.trackingImage | Cadena base64 de la imagen de seguimiento |
| result.name | Nombre del objetivo |
| result.size | Ancho de la imagen de reconocimiento (en cm). La altura se calcula automáticamente. El tamaño corresponde al contenido virtual superpuesto |
| result.meta | Información adicional codificada en base64. Ej: cadena JSON codificada en base64 |
| result.type | Fijo como "ImageTarget" |
| result.active | "1" activo, "0" inactivo |
Códigos de error
Ver Lista completa de códigos de estado y error
Instrucciones de uso de meta
- Asociar URL de video
- Para cada objetivo de reconocimiento, puede almacenar en el campo meta la URL del video asociado a ese objetivo específico
- Cuando su aplicación reconozca el objetivo, use la URL del meta para conectarse al servidor, descargar y reproducir el video. Ej:
https://mi_servidor/mis_videos/mi_video_001.mp4
- Asociar modelos 3D
- Para cada objetivo, puede almacenar en meta modelos 3D o paquetes de recursos Unity asociados a ese objetivo
- Se requiere codificar el modelo en base64 antes de almacenarlo en meta, o almacenar la URL del modelo en los metadatos
- Cuando la aplicación detecte el objetivo, renderizará el modelo 3D sobre el objetivo detectado