Table of Contents

Введение в облачные API распознавания

Api полный список

Протокол REST API и механизм аутентификации

API CRS соответствует стандартам передачи HTTP REST.

Заголовки HTTP

    Authorization: <Вставьте токен, полученный из APIKey>

Параметры HTTP-запроса делятся на два типа:

  • Общие параметры (включают следующие, используются с разными методами аутентификации):

    • appId
    • timestamp (Long: миллисекунды, прошедшие с 1 января 1970 г., 00:00:00 UTC)
    • apiKey
    • signature (подпись запроса, альтернатива токену)
  • Параметры CRS API: собственные параметры API

    В документации API параметры аутентификации не описываются

Аутентификация с помощью API Key

Существует два метода аутентификации:

Аутентификация на основе токена

Заголовок HTTP Authorization содержит токен. Общие параметры включают:

  • appId

Аутентификация подписью

Без заголовка HTTP Authorization.

Общие параметры содержат подпись signature. Все параметры участвуют в вычислении подписи (кроме изображений).

  • appId
  • timestamp
  • apiKey
  • signature

Подробный алгоритм и код вычисления подписи см. в документе Метод подписи API Key.

Примеры использования и анализ атрибутов

Пример использования API

В этом примере — вызов API для создания целевого изображения — разработчики могут увидеть процесс запроса CRS API, понять структуру атрибутов целевого изображения и ввод-вывод интерфейса.

Перед созданием целевого изображения в рабочей среде требуется больше проверок. См. Рекомендации для создания нового целевого изображения.

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

Добавление файла целевого изображения test-target.jpg. При создании файл изображения должен быть закодирован в base64.

В документации API параметры запроса описаны подробно. См. API — Создать целевое изображение, API запроса с кодированием изображения в base64.

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,
    "apiKey": "8b485c648c3056e79c2a85ee9b51f9dc",
    "appId": "C:CN1:f9f903c36da8bd64d71d491077bba...",
    "signature": "89985e2420899196db5bdf16b3c2ed0922c0c221"
}

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

HTTP/1.1 200 OK
Content-Type: application/json
{
    "statusCode": 0,
    "result": {
        "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
}

Формат ответа

Ответы имеют единый формат. Пример:

{
  "statusCode": 119,
  "msg": "Parameter has errors",
  "date": "2022-06-15T09:56:30.000Z",
  "result":  //поле result присутствует только при statusCode=0, при ошибке оно пустое
}

Как показано в примере выше, это структура деталей целевого изображения при нормальном ответе. Целевое изображение включает следующие атрибуты:

Атрибут Описание
targetId Уникальный идентификатор целевого изображения
trackingImage Обработанное изображение в градациях серого в кодировке base64, для отслеживания изображения на устройстве
name Название целевого изображения
size Размер изображения, фактический размер для наложения виртуального контента
meta Пользовательские связанные данные (файл, текст или URL), закодированные в base64
type "ImageTarget"
active Распознаются только активные целевые изображения, отключенные не распознаются
trackableRate Оценка сложности отслеживания, чем меньше, тем лучше
detectableRate Комплексная оценка сложности распознавания, чем меньше, тем лучше
detectableDistinctiveness Оценка сложности различимости при распознавании, чем меньше, тем лучше
detectableFeatureCount Оценка сложности по количеству признаков распознавания, чем меньше, тем лучше
trackableDistinctiveness Оценка сложности различимости при отслеживании, чем меньше, тем лучше
trackableFeatureCount Оценка сложности по количеству признаков отслеживания, чем меньше, тем лучше
trackableFeatureDistribution Оценка сложности распределения признаков отслеживания, чем меньше, тем лучше

Коды ошибок

Описание кодов ошибок облачных API распознавания

Связанные темы