Introduction aux APIs de cloud recognition
Liste des API
- Créer une target image
- Liste des target images d'une bibliothèque d'images
- Obtenir une target image unique
- Évaluation de la difficulté de recognizability de l'image
- Target images similaires existantes
- Supprimer une target image
- Modifier les propriétés d'une target image
- Recherche d'image par image
- Health check
Protocole d'interface REST API et mécanisme d'authentification
CRS API suit le standard de transport HTTP REST.
Http Header
Authorization:
Paramètres de requête Http, divisés en deux types:
Paramètres communs (ils incluent tous ceux-ci; les différentes méthodes d'authentification utilisent différentes combinaisons):
- appId
- timestamp (entier long Long: nombre de millisecondes écoulées depuis le 1 janvier 1970 à 00:00:00 UTC)
- apiKey
- signature (signature de requête, alternative à l'authentification par token)
Paramètres CRS API: paramètres propres à l'API
La documentation API ne décrit plus les paramètres communs utilisés pour l'authentification
Authentification API Key
Les méthodes d'authentification se divisent en deux types:
Authentification basée sur Token
Le Http header Authorization contient le Token. Les paramètres communs comprennent:
- appId
Authentification par signature
Le Http header Authorization n'est pas utilisé.
Les paramètres communs contiennent les informations de signature. Tous les paramètres sont inclus dans le calcul de la signature, sauf les images.
- appId
- timestamp
- apiKey
- signature
Pour l'algorithme détaillé et le code du calcul de signature, consultez méthode de signature API Key.
Exemples d'utilisation et analyse des propriétés
Exemple d'utilisation de l'API
Cet exemple appelle l'API pour créer une target image, afin d'aider les développeurs à comprendre le processus de requête CRS API, la structure des propriétés de la target image, ainsi que l'entrée et la sortie de l'interface.
En environnement de production, davantage de validations sont nécessaires avant de créer une target image. Pour plus de détails, consultez les best practices pour créer une nouvelle target image.
Exemple de requête
Ajoutez un fichier de target image nommé test-target.jpg. Lors de la création d'une target image, le fichier image doit être encodé en base64.
La documentation API décrit les paramètres de requête en détail. Consultez API - Créer une target image pour appeler l'API avec un fichier image encodé en 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"
}
Exemple de réponse
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
}
Format de réponse
Les réponses utilisent toutes un format unifié. Voici un exemple:
{
"statusCode": 119,
"msg": "Parameter has errors",
"date": "2022-06-15T09:56:30.000Z",
"result": //result n'existe que lorsque statusCode vaut 0. En cas d'erreur, le champ de résultat est vide
}
Comme indiqué dans l'exemple ci-dessus, il s'agit de la structure normale de détails de target image retournée. Une target image comprend les propriétés suivantes.
| Propriété | Description |
|---|---|
| targetId | Id unique de la target image |
| trackingImage | Encodage base64 de l'image en niveaux de gris traitée, utilisé pour image tracking côté appareil |
| name | Nom de la target image |
| size | Taille de l'image, taille pratique utilisée pour superposer du contenu virtuel dans l'application |
| meta | Données associées par l'utilisateur, pouvant être un fichier, du texte ou une url, et devant être encodées en base64 |
| type | "ImageTarget" |
| active | Seules les target images activées peuvent être reconnues. Après désactivation, elles ne seront plus reconnues |
| trackableRate | Score de difficulté du tracking. Plus il est petit, mieux c'est |
| detectableRate | Score de difficulté globale de la recognition. Plus il est petit, mieux c'est |
| detectableDistinctiveness | Score de difficulté de distinction de la recognition. Plus il est petit, mieux c'est |
| detectableFeatureCount | Score de difficulté des features de recognition. Plus il est petit, mieux c'est |
| trackableDistinctiveness | Score de difficulté de distinction du tracking. Plus il est petit, mieux c'est |
| trackableFeatureCount | Score de difficulté des features de tracking. Plus il est petit, mieux c'est |
| trackableFeatureDistribution | Score de difficulté de distribution des features de tracking. Plus il est petit, mieux c'est |
Codes d'erreur
Description des codes d'erreur des cloud recognition APIs