Table of Contents

Introdução às APIs de reconhecimento em nuvem

Api completa

Protocolo de interface REST API e mecanismo de autenticação

As APIs CRS seguem os padrões de transmissão HTTP REST.

Cabeçalho HTTP

    Authorization:

Parâmetros de solicitação HTTP, divididos em dois tipos:

  • Parâmetros comuns (incluindo estes, diferentes combinações de autenticação usam diferentes):

    • appId
    • timestamp (Longo: milissegundos decorridos desde 1º de janeiro de 1970, 00:00:00 UTC)
    • apiKey
    • signature (assinatura da solicitação, autenticação por token é uma opção)
  • Parâmetros da API CRS: parâmetros próprios da API

    A documentação da API não descreve mais os parâmetros comuns para autenticação

Autenticação por API Key

Os métodos de autenticação são dois:

Autenticação baseada em token

O cabeçalho HTTP Authorization contém o Token, os parâmetros comuns incluem:

  • appId

Autenticação por assinatura

Sem usar o cabeçalho HTTP Authorization.

Os parâmetros comuns contêm informações de assinatura signature. Todos os parâmetros são incluídos no cálculo da assinatura (exceto imagens).

  • appId
  • timestamp
  • apiKey
  • signature

Para algoritmos detalhados e códigos de cálculo de assinatura, consulte o documento Método de assinatura API Key.

Exemplos de uso e análise de propriedades

Exemplo de uso da API

Aqui está um exemplo - chamando a interface da API para criar uma imagem alvo, ajudando os desenvolvedores a entender o processo de solicitação da API CRS, a estrutura de propriedades da imagem alvo e as entradas/saídas da interface.

Antes de criar uma imagem alvo em ambiente de produção, mais verificações são necessárias. Consulte as melhores práticas para criar uma nova imagem alvo.

Exemplo de solicitação

Adicione um novo arquivo de imagem alvo test-target.jpg. Ao criar a imagem alvo, o arquivo de imagem deve ser codificado em base64.

A documentação da API explicará detalhadamente os parâmetros da solicitação. Consulte API —— Criar imagem alvo, arquivo de imagem codificado em base64 solicitando a API.

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

Exemplo de resposta

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
}

Formato de resposta

As respostas seguem um formato unificado. Aqui está um exemplo:

{
  "statusCode": 119,
  "msg": "Parameter has errors",
  "date": "2022-06-15T09:56:30.000Z",
  "result":  //statusCode 0 tem result, se erro, campo vazio
}

Como mostrado no exemplo acima, esta é a estrutura de detalhes normal da imagem alvo. Uma imagem alvo inclui as seguintes propriedades

Propriedade Descrição
targetId ID único da imagem alvo
trackingImage Imagem em tons de cinza processada codificada em base64, usada para rastreamento de imagem no dispositivo
name Nome da imagem alvo
size Tamanho da imagem, tamanho prático para sobreposição de conteúdo virtual
meta Dados associados pelo usuário, podem ser arquivos, texto ou URL, necessitam codificação base64
type "ImageTarget"
active Imagens alvo ativadas podem ser reconhecidas, desativadas não serão reconhecidas
trackableRate Pontuação de dificuldade de rastreamento, menor é melhor
detectableRate Pontuação geral de dificuldade de reconhecimento, menor é melhor
detectableDistinctiveness Pontuação de dificuldade de distinção no reconhecimento, menor é melhor
detectableFeatureCount Pontuação de dificuldade de recursos no reconhecimento, menor é melhor
trackableDistinctiveness Pontuação de dificuldade de distinção no rastreamento, menor é melhor
trackableFeatureCount Pontuação de dificuldade de recursos no rastreamento, menor é melhor
trackableFeatureDistribution Pontuação de dificuldade de distribuição de recursos no rastreamento, menor é melhor

Códigos de erro

Explicação dos códigos de erro das APIs de reconhecimento em nuvem

Tópicos relacionados