Ziel durch suche identifizieren| POST /v2/search
Suchen Sie nach Bildzielen, Schnittstelle zur Bilderkennung durch Bildsuche.
Aktion
POST /v2/search
Authentifizierung
Http-Header
Content-Type : multipart/form-data
Authorization (nur bei API Key Token-Authentifizierung)
Anfrageparameter
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| image | Multipart | Ja | Base64-kodierter String des Bildinhalts, unterstützt JPG- und PNG-Bildformate. |
| notracking | String | Nein | "false" gibt das Tracking-Bild zurück. "true" gibt nur die erkannte targetId-Eigenschaft zurück, ohne Tracking-Bild. Für WebAR wird standardmäßig empfohlen, dies zur Reduzierung der Anfragelatenz mitzusenden. |
Anfragebeispiel für Token-Authentifizierung
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
Anfragebeispiel für Signatur-Authentifizierung
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
[!WICHTIG]
- Verwenden Sie unbedingt die Client-end-URL als Erkennungseinstiegspunkt, HTTPS verwendet Port 8443
- Setzen Sie im HTTP-Header Connection: Keep-Alive zur Optimierung von Wiederholungsverbindungskosten
Rückgabefelder
| Feld | Beschreibung |
|---|---|
| statusCode | Statuscode 0 bedeutet korrekte Authentifizierung, weitere Referenzen unter Statuscodes |
| result | Fehlermeldung oder Zielbildinformationen |
| timestamp | Serverzeitpunkt bei Antwortrückgabe. Verwendet Unix-Zeitstempelformat in Millisekunden |
| result.targetId | Eindeutige ID des Zielbildes |
| result.trackingImage | Base64-kodierter String des Tracking-Bildes |
| result.name | Zielname |
| result.size | Breite des Erkennungsbildes (in cm). Die Höhe wird automatisch basierend auf Ihrem hochgeladenen Bild berechnet. Die Größe des Erkennungsbildes entspricht der Größe der überlagerten virtuellen Inhalte |
| result.meta | Base64-kodierte Zusatzinformationen, z.B. ein aus einem JSON-String generierter Base64-kodierter String |
| result.type | Festgelegt auf ImageTarget |
| result.active | "1" aktiviert, "0" deaktiviert |
Hauptrückgabecodes
| Antwort | HTTPCODE | Status | Ergebnis |
|---|---|---|---|
| OK | 200 | 0 | result: { imageBody } |
| NO_RESULT | 404 | 17 | result: { message: "Kein Ergebnis gefunden: Es gibt keine Übereinstimmung." } |
| NO_TARGET | 500 | 18 | result: { message: "Ziel nicht gefunden: Es gibt eine Übereinstimmung, aber kein Ziel, bitte melden Sie dieses Problem: IMAGE-UUID" } |
| TIMEOUT | 408 | 19 | result: { message: "Anfragezeitüberschreitung." } |
| OUT_OF_LIMIT | 402 | 21 | result: { message: "Sie haben das Limit der täglichen Scans überschritten." } |
| OUT_OF_QPS | 200 | 21 | result: { message: "Ihr QPS-Limit wurde überschritten." } |
| RPC_ERROR | 500 | 20 | result: { message: "Fehler beim Abrufen der Ergebnisse." } |
| OTHER_ERROR | 501 | 30 | result: { message: "Anderer Fehler aufgetreten: Details" } |
Fehlercodes
Siehe Status- und Fehlercodes
Anfragebeispiel
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"
}
Rückgabebeispiel
- Bei erfolgreicher Erkennung:
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
}
- Wenn kein passendes Zielbild gefunden wurde:
HTTP/1.1 404 NOT FOUND
Content-Type: application/json
{
"statusCode": 17,
"result": {
"message": "Kein Ergebnis gefunden: Es gibt keine Übereinstimmung."
}
}