Table of Contents

Rechercher une cible de recognition | POST /v2/search

Recherche une image target, interface de recognition permettant de rechercher une image par image.

Action

POST /v2/search

Authentification

Requise

Http Header

Content-Type : multipart/form-data

Authorization (uniquement lorsque l'authentification API Key Token est utilisée)

Paramètres de requête

Field Type Required Description
image Multipart Yes Chaîne base64 encoding du contenu de l'image, prend en charge les images aux formats JPG et PNG.
notracking String No "false" signifie que trackingImage est renvoyée. "true" signifie que seule la propriété targetId détectée est renvoyée, sans tracking image. Pour WebAR, il est recommandé de l'ajouter par défaut afin de réduire la latence de la requête.

Exemple de requête avec authentification Token

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 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 impérativement Client-end-URL comme entrée de recognition. https utilise le port 8443.
  • Définissez l'http header Connection: Keep-Alive pour optimiser le coût des connexions répétées.

Champs retournés

Field Description
statusCode Status code 0 indique que l'authentification est correcte. Pour plus d'informations, consultez status code
result Message d'erreur ou informations de target image
timestamp Heure côté serveur au retour de la response. Utilise le format Unix timestamp en millisecondes
result.targetId ID unique de la target image
result.trackingImage Chaîne base64 encoding de la tracking image
result.name Nom de la target
result.size Largeur de l'image de recognition (unité cm). La hauteur de l'image de recognition sera automatiquement calculée par le système selon l'image téléversée. La taille de l'image de recognition correspond à la taille du contenu virtuel superposé
result.meta Informations supplémentaires encodées en base64, par exemple la chaîne générée après encodage base64 d'une chaîne json
result.type Fixé à ImageTarget
result.active "1" activé, "0" désactivé

Principaux codes de retour

Response HTTPCODE Status Result
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 status codes et error codes

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 réponse

  • Si la recognition trouve une correspondance, la structure retournée est la suivante:

    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
    }

  • S'il n'y a pas de target image correspondante, l'exemple de retour est le suivant:

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