Table of Contents

Recherche d'objectif de reconnaissance | POST /v2/search

Interface de recherche d'objectifs d'image par reconnaissance visuelle.

Action

POST /v2/search

Authentification

Requis

En-tête HTTP

Content-Type : multipart/form-data

Authorization (uniquement pour l'authentification par jeton API Key)

Paramètres de requête

Champ Type Requis Description
image Multipart Oui Chaîne encodée en base64 du contenu de l'image, supportant les formats JPG et PNG.
notracking Chaîne Non "false" renvoie l'image de suivi trackingImage. "true" renvoie uniquement l'attribut targetId détecté, sans l'image de suivi. Pour WebAR, il est recommandé de l'inclure pour réduire la latence des requêtes.

Exemple de requête avec authentification par jeton

curl -X POST -H "Authorization:xxx"  --form "image=@trackingImage.jpg;type=image/jpg"  --form appId=YOUR-APPID 
          https://<your-domain>-cn1.crs.easyar.com:8443/v2/search

Exemple de requête avec authentification par signature

curl -X POST --form "image=@trackingImage;type=image/jpg" 
              --form apiKey=YOUR-APIKEY  --form appId=YOUR-APPID 
              --form timestamp=1514736000000 
              --form signature=xxx 
          https://<your-domain>-cn1.crs.easyar.com:8443/v2/search
Important
  • Utilisez toujours l'URL Client-end-URL comme point d'entrée de reconnaissance, le port HTTPS est 8443.
  • Configurez l'en-tête HTTP avec Connection: Keep-Alive pour optimiser les coûts de reconnexion.

Champs de retour

Champ Description
statusCode Code d'état 0 indique une authentification correcte. Voir Codes d'état
result Message d'erreur ou informations sur l'objectif
timestamp Horodatage du serveur au moment de la réponse. Format Unix en millisecondes
result.targetId ID unique de l'objectif
result.trackingImage Chaîne encodée en base64 de l'image de suivi
result.name Nom de l'objectif
result.size Largeur de l'image de référence (en cm). La hauteur est calculée automatiquement par le système selon votre image téléchargée. La taille de l'image de référence correspond à celle du contenu virtuel superposé
result.meta Informations supplémentaires encodées en base64, par exemple une chaîne JSON encodée en base64
result.type Toujours "ImageTarget"
result.active "1" activé, "0" désactivé

Codes de retour principaux

Réponse HTTPCODE Statut Résultat
OK 200 0 result: { imageBody }
NO_RESULT 404 17 result: { message: "No result: there is no matching." }
NO_TARGET 500 18 result: { message: "Target not found: there is a matching but no target, please report this issue: IMAGE-UUID" }
TIMEOUT 408 19 result: { message: "Request timeout." }
OUT_OF_LIMIT 402 21 result: { message: "You have exceeded the limit of daily scanning." }
OUT_OF_QPS 200 21 result: { message: "Exceed your QPS limitation." }
RPC_ERROR 500 20 result: { message: "Error retrieving results." }
OTHER_ERROR 501 30 result: { message: "Other error occur: details" }

Codes d'erreur

Voir Liste complète des codes d'état et d'erreur

Exemple de requête

POST /search/ HTTP/1.1
Host:
Date: Mon, 1 Jan 2018 00:00:00 GMT
Content-Type: application/json
{
    "image":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgM...",
    "timestamp": 1514736000000,
    "appKey": "test_app_key",
    "signature": "89985e2420899196db5bdf16b3c2ed0922c0c221"
}

Exemple de retour

  • Si une correspondance est trouvée :

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

  • Si aucune correspondance n'est trouvée :

    HTTP/1.1 404 NOT FOUND
    Content-Type: application/json
    {
      "statusCode": 17,
      "result": {
        "message": "No result: there is no matching."
      }
    }