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
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."
}
}