Table of Contents

Поиск target recognition | POST /v2/search

Поиск image target, интерфейс распознавания для поиска изображения по изображению.

Action

POST /v2/search

Аутентификация

Требуется

Http Header

Content-Type : multipart/form-data

Authorization (только при использовании аутентификации API Key Token)

Параметры запроса

Field Type Required Description
image Multipart Yes Строка base64 encoding содержимого изображения, поддерживаются изображения форматов JPG и PNG.
notracking String No "false" означает вернуть trackingImage. "true" означает вернуть только обнаруженное свойство targetId и не возвращать tracking image. Для WebAR рекомендуется указывать этот параметр по умолчанию, чтобы уменьшить задержку запроса.

Пример запроса с 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

Пример запроса с 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
Важно
  • Обязательно используйте Client-end-URL как вход recognition. https использует порт 8443.
  • Задайте http header Connection: Keep-Alive, чтобы оптимизировать затраты на повторные подключения.

Возвращаемые поля

Field Description
statusCode Status code 0 означает корректную аутентификацию. Подробнее см. status code
result Сообщение об ошибке или информация target image
timestamp Серверное время при возврате response. Используется формат Unix timestamp в миллисекундах
result.targetId Уникальный ID target image
result.trackingImage Строка base64 encoding tracking image
result.name Имя target
result.size Ширина изображения recognition (единица cm). Высота изображения recognition будет автоматически рассчитана системой на основе загруженного изображения. Размер изображения recognition соответствует размеру накладываемого виртуального контента
result.meta Дополнительная информация, закодированная в base64, например строка, полученная после base64-кодирования json string
result.type Фиксированно ImageTarget
result.active "1" включено, "0" отключено

Основные коды возврата

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

Коды ошибок

См. полный список status code и error code

Пример запроса

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

Пример ответа

  • Если recognition успешно нашло совпадение, структура возврата выглядит так:

    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
    }

  • Если совпадающий target image отсутствует, пример возврата:

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