Table of Contents

Introduction aux apis de reconnaissance cloud

Api complète

Protocole d'interface api rest et mécanisme d'authentification

L'api crs suit la norme de transmission http rest standard.

En-tête http

    Authorization:

Paramètres de requête http, de deux types:

  • Paramètres publics (inclus globalement, différentes combinaisons selon l'authentification):

    • appId
    • timestamp (Long type entier: millisecondes écoulées depuis le 1er janvier 1970 à 00:00:00 UTC)
    • apiKey
    • signature (signature de requête, alternative au jeton d'authentification)
  • Paramètres de l'api crs: paramètres spécifiques à l'api

    Les paramètres publics d'authentification ne sont plus décrits dans la documentation de l'api

Authentification par clé api

Deux méthodes d'authentification:

Authentification basée sur jeton

L'en-tête http Authorization contient le token. Paramètres publics inclus:

  • appId

Authentification par signature

Sans en-tête http Authorization.

Les paramètres publics contiennent la signature. Tous les paramètres sont inclus dans le calcul de signature (sauf les images).

  • appId
  • timestamp
  • apiKey
  • signature

Pour l'algorithme détaillé et les exemples de code, référez-vous à Méthode de signature par clé api.

Exemples d'utilisation et analyse des propriétés

Exemple d'utilisation d'api

Un exemple - appeler l'api pour créer une cible d'image - aide les développeurs à comprendre le processus de requête api crs, la structure des propriétés de la cible, et les entrées/sorties de l'interface.

En production, plus de validations sont nécessaires avant la création. Référez-vous aux bonnes pratiques pour créer une nouvelle cible d'image.

Exemple de requête

Ajouter un fichier image cible test-target.jpg. Lors de la création, le fichier image doit être encodé en base64.

La documentation api décrit en détail les paramètres de requête. Voir API - Créer une cible d'image, requête api avec encodage 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

Réponses dans un format unifié. Exemple:

{
  "statusCode": 119,
  "msg": "Parameter has errors",
  "date": "2022-06-15T09:56:30.000Z",
  "result":  //présent uniquement si statusCode=0, vide en cas d'erreur
}

Comme dans l'exemple, structure normale des détails d'une cible, incluant ces propriétés:

Propriété Description
targetId ID unique de la cible
trackingImage Encodage base64 de l'image en niveaux de gris traitée, pour le suivi d'image côté appareil
name Nom de la cible
size Taille de l'image, dimension utilisée pour superposer du contenu virtuel
meta Données associées utilisateur (fichier, texte ou url), encodées en base64
type "ImageTarget"
active Les cibles activées sont détectables, les désactivées ne le sont plus
trackableRate Évaluation de la difficulté de suivi, plus bas=meilleur
detectableRate Évaluation globale de difficulté de détection, plus bas=meilleur
detectableDistinctiveness Évaluation de la difficulté de distinction en détection, plus bas=meilleur
detectableFeatureCount Évaluation de la difficulté liée aux caractéristiques de détection, plus bas=meilleur
trackableDistinctiveness Évaluation de la difficulté de distinction en suivi, plus bas=meilleur
trackableFeatureCount Évaluation de la difficulté liée aux caractéristiques de suivi, plus bas=meilleur
trackableFeatureDistribution Évaluation de la difficulté de distribution des caractéristiques de suivi, plus bas=meilleur

Codes d'erreur

Explication des codes d'erreur des apis de reconnaissance cloud

Sujets connexes