Table of Contents

Pesquisar target recognition | POST /v2/search

Pesquisa image target, interface de recognition para buscar uma imagem por imagem.

Action

POST /v2/search

Autenticação

Necessária

Http Header

Content-Type : multipart/form-data

Authorization (somente quando for usada autenticação API Key Token)

Parâmetros do request

Field Type Required Description
image Multipart Yes String de base64 encoding do conteúdo da imagem, compatível com imagens nos formatos JPG e PNG.
notracking String No "false" significa retornar trackingImage. "true" significa retornar somente a propriedade targetId detectada, sem retornar tracking image. Para WebAR, recomenda-se incluir por padrão para reduzir a latência do request.

Exemplo de request com autenticação 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

Exemplo de request com autenticação 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
  • Use obrigatoriamente Client-end-URL como entrada de recognition. https usa a porta 8443.
  • Defina o http header Connection: Keep-Alive para otimizar o custo de conexões repetidas.

Campos retornados

Field Description
statusCode Status code 0 indica autenticação correta. Para mais detalhes, consulte status code
result Mensagem de erro ou informações de target image
timestamp Horário do servidor quando a response é retornada. Usa formato Unix timestamp, em milissegundos
result.targetId ID único da target image
result.trackingImage String de base64 encoding da tracking image
result.name Nome do target
result.size Largura da imagem de recognition (unidade cm). A altura da imagem de recognition será calculada automaticamente pelo sistema de acordo com a imagem carregada. O tamanho da imagem de recognition corresponde ao tamanho do conteúdo virtual sobreposto
result.meta Informações adicionais codificadas em base64, por exemplo a string gerada após codificar uma string json em base64
result.type Fixo como ImageTarget
result.active "1" ativado, "0" desativado

Principais códigos retornados

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 erro

Veja lista completa de status code e error code

Exemplo 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"
}

Exemplo de resposta

  • Se houver match na recognition, a estrutura retornada é:

    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
    }

  • Se não houver target image correspondente, o exemplo retornado é:

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