Introdução às APIs de cloud recognition
Lista de APIs
- Criar target image
- Lista de target image da biblioteca de imagens
- Obter uma target image individual
- Classificação de dificuldade de recognizability da imagem
- Target images semelhantes existentes
- Excluir target image
- Modificar propriedades de target image
- Pesquisa por imagem
- Health check
Protocolo de interface REST API e mecanismo de autenticação
CRS API segue o padrão de transporte HTTP REST.
Http Header
Authorization:
Parâmetros de request Http, divididos em dois tipos:
Parâmetros comuns (incluem todos estes; métodos de autenticação diferentes usam combinações diferentes):
- appId
- timestamp (inteiro Long: milissegundos decorridos desde 00:00:00 UTC de 1 de janeiro de 1970)
- apiKey
- signature (assinatura do request, alternativa à autenticação por token)
Parâmetros CRS API: parâmetros da própria API
A documentação da API não descreve mais os parâmetros comuns usados para autenticação
Autenticação API Key
Os métodos de autenticação são divididos em dois tipos:
Autenticação baseada em Token
O Http header Authorization contém o Token. Os parâmetros comuns incluem:
- appId
Autenticação por signature
Não se usa Http header Authorization.
Os parâmetros comuns contêm informações de signature. Todos os parâmetros entram no cálculo da assinatura, exceto imagens.
- appId
- timestamp
- apiKey
- signature
Para o algoritmo detalhado e o código de cálculo da assinatura, consulte método de signature de API Key.
Exemplos de uso e análise de propriedades
Exemplo de uso da API
Este exemplo chama uma API para criar uma target image, ajudando desenvolvedores a entender o processo de request da CRS API, a estrutura de propriedades da target image e a entrada e saída da interface.
Em ambiente de produção, são necessárias mais validações antes de criar uma target image. Para detalhes, consulte as best practices para criar uma nova target image.
Exemplo de request
Adicione um arquivo de target image chamado test-target.jpg. Ao criar uma target image, o arquivo de imagem deve ser codificado em base64.
A documentação da API descreve detalhadamente os parâmetros de request. Consulte API - Criar target image para solicitar a API com o arquivo de imagem codificado em 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"
}
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 da resposta
Todas as respostas usam um formato unificado. Veja um exemplo:
{
"statusCode": 119,
"msg": "Parameter has errors",
"date": "2022-06-15T09:56:30.000Z",
"result": //result existe somente quando statusCode é 0. Se ocorrer erro, o campo de resultado fica vazio
}
Como mostrado no exemplo acima, esta é a estrutura normal retornada de detalhes da target image. Uma target image inclui as seguintes propriedades.
| Propriedade | Descrição |
|---|---|
| targetId | Id único da target image |
| trackingImage | Codificação base64 da imagem em escala de cinza processada, usada para image tracking no lado do dispositivo |
| name | Nome da target image |
| size | Tamanho da imagem, o tamanho prático usado para sobrepor conteúdo virtual no aplicativo |
| meta | Dados associados pelo usuário, que podem ser arquivo, texto ou url e precisam ser codificados em base64 |
| type | "ImageTarget" |
| active | Somente target images ativadas podem ser reconhecidas. Após serem desativadas, não serão reconhecidas |
| trackableRate | Pontuação de dificuldade de tracking. Quanto menor, melhor |
| detectableRate | Pontuação de dificuldade geral de recognition. Quanto menor, melhor |
| detectableDistinctiveness | Pontuação de dificuldade de distinção da recognition. Quanto menor, melhor |
| detectableFeatureCount | Pontuação de dificuldade de features de recognition. Quanto menor, melhor |
| trackableDistinctiveness | Pontuação de dificuldade de distinção do tracking. Quanto menor, melhor |
| trackableFeatureCount | Pontuação de dificuldade de features de tracking. Quanto menor, melhor |
| trackableFeatureDistribution | Pontuação de dificuldade de distribuição de features de tracking. Quanto menor, melhor |
Códigos de erro
Descrição dos códigos de erro das cloud recognition APIs