Table of Contents

Buscar objetivo de reconocimiento| POST /v2/search

Buscar objetivo en imágenes, interfaz de reconocimiento de búsqueda por imagen.

Acción

POST /v2/search

Autenticación

Requerida

Cabecera HTTP

Content-Type : multipart/form-data

Authorization (solo cuando se utiliza autenticación por token de API Key)

Parámetros de solicitud

Campo Tipo Requerido Descripción
image Multipart Cadena codificada en base64 del contenido de la imagen, compatible con formatos JPG y PNG.
notracking String No "false" indica que se devuelve la imagen de seguimiento trackingImage. "true" indica que solo se devuelve la propiedad targetId detectada, sin la imagen de seguimiento. Se recomienda incluir para WebAR para reducir la latencia de solicitud.

Ejemplo de solicitud con autenticación por token

curl -X POST -H "Authorization:xxx"  --form "image=@trackingImage.jpg;type=image/jpg"  --form appId=YOUR-APPID 
          https://<your-domain>-cn1.crs.easyar.com:8443/v2/search

Ejemplo de solicitud con autenticación por firma

curl -X POST --form "image=@trackingImage;type=image/jpg" 
              --form apiKey=YOUR-APIKEY  --form appId=YOUR-APPID 
              --form timestamp=1514736000000 
              --form signature=xxx 
          https://<your-domain>-cn1.crs.easyar.com:8443/v2/search
Importante
  • Debe utilizar Client-end-URL como punto de entrada de reconocimiento, HTTPS utiliza puerto 8443
  • Configure la cabecera HTTP Connection: Keep-Alive para optimizar la sobrecarga de conexiones repetidas

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. Usa formato de marca de tiempo Unix en milisegundos
result.targetId ID único del objetivo
result.trackingImage Cadena codificada en base64 de la imagen de seguimiento
result.name Nombre del objetivo
result.size Ancho del objetivo (en cm). La altura se calculará automáticamente según la imagen cargada. El tamaño del objetivo corresponde al tamaño del contenido virtual superpuesto
result.meta Información adicional codificada en base64, por ejemplo, cadena JSON codificada
result.type Fijo como ImageTarget
result.active "1" activo, "0" inactivo

Códigos de respuesta principales

Respuesta Código HTTP Estado Resultado
OK 200 0 result: { imageBody }
NO_RESULT 404 17 result: { message: "No result: there is no matching." }
NO_TARGET 500 18 result: { message: "Target not found: there is a matching but no target, please report this issue: IMAGE-UUID" }
TIMEOUT 408 19 result: { message: "Request timeout." }
OUT_OF_LIMIT 402 21 result: { message: "You have exceeded the limit of daily scanning." }
OUT_OF_QPS 200 21 result: { message: "Exceed your QPS limitation." }
RPC_ERROR 500 20 result: { message: "Error retrieving results." }
OTHER_ERROR 501 30 result: { message: "Other error occur: details" }

Códigos de error

Ver Lista completa de códigos de estado y error

Ejemplo de solicitud

POST /search/ HTTP/1.1
Host:
Date: Mon, 1 Jan 2018 00:00:00 GMT
Content-Type: application/json
{
    "image":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgM...",
    "timestamp": 1514736000000,
    "appKey": "test_app_key",
    "signature": "89985e2420899196db5bdf16b3c2ed0922c0c221"
}

Ejemplo de respuesta

  • Si se detecta una coincidencia, la estructura de respuesta es:

    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
    }

  • Si no hay objetivos coincidentes:

    HTTP/1.1 404 NOT FOUND
    Content-Type: application/json
    {
      "statusCode": 17,
      "result": {
        "message": "No result: there is no matching."
      }
    }