Buscar target recognition | POST /v2/search
Busca image target, una interfaz de recognition para buscar una imagen mediante otra imagen.
Action
POST /v2/search
Autenticación
Http Header
Content-Type : multipart/form-data
Authorization (solo cuando se usa autenticación API Key Token)
Parámetros de request
| Field | Type | Required | Description |
|---|---|---|---|
| image | Multipart | Yes | String de base64 encoding del contenido de imagen, compatible con imágenes en formatos JPG y PNG. |
| notracking | String | No | "false" indica que se devuelve trackingImage. "true" indica que solo se devuelve la propiedad targetId detectada y no se devuelve tracking image. En WebAR se recomienda incluirlo de forma predeterminada para reducir la latencia del request. |
Ejemplo de request con autenticación 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 request con autenticación signature
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
- Asegúrese de usar Client-end-URL como entrada de recognition. https usa el puerto 8443.
- Configure el http header Connection: Keep-Alive para optimizar el coste de conexiones repetidas.
Campos de retorno
| Field | Description |
|---|---|
| statusCode | Status code 0 indica autenticación correcta. Para más información, consulte status code |
| result | Mensaje de error o información de target image |
| timestamp | Hora del servidor cuando se devuelve la response. Usa formato Unix timestamp, en milisegundos |
| result.targetId | ID único de target image |
| result.trackingImage | String de base64 encoding de tracking image |
| result.name | Nombre de target |
| result.size | Ancho de la imagen de recognition (unidad cm). La altura de la imagen de recognition será calculada automáticamente por el sistema según la imagen que cargue. El tamaño de la imagen de recognition corresponde al tamaño del contenido virtual superpuesto |
| result.meta | Información adicional codificada en base64, por ejemplo el string generado tras codificar un string json en base64 |
| result.type | Fijo como ImageTarget |
| result.active | "1" habilitado, "0" deshabilitado |
Códigos de retorno principales
| Response | HTTPCODE | Status | Result |
|---|---|---|---|
| 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
Consulte lista completa de status code y error code
Ejemplo de request
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 response
- Si se encuentra un resultado de recognition, la estructura de retorno 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 target image coincidente, el ejemplo de retorno es:
HTTP/1.1 404 NOT FOUND
Content-Type: application/json
{
"statusCode": 17,
"result": {
"message": "No result: there is no matching."
}
}