Pengantar API cloud recognition
Daftar API
- Membuat target image
- Daftar target image pada image library
- Mendapatkan satu target image
- Rating tingkat kesulitan recognizability gambar
- Target image serupa yang sudah ada
- Menghapus target image
- Mengubah properti target image
- Pencarian gambar dengan gambar
- Health check
Protokol antarmuka REST API dan mekanisme autentikasi
CRS API mengikuti standar transmisi HTTP REST.
Http Header
Authorization:
Parameter request Http dibagi menjadi dua jenis:
Parameter umum (mencakup semua ini; metode autentikasi yang berbeda menggunakan kombinasi yang berbeda):
- appId
- timestamp (Long integer: jumlah milidetik sejak 00:00:00 UTC pada 1 Januari 1970)
- apiKey
- signature (signature request, salah satu pilihan selain autentikasi token)
Parameter CRS API: parameter milik API itu sendiri
Dokumentasi API tidak lagi menjelaskan parameter umum yang digunakan untuk autentikasi
Autentikasi API Key
Metode autentikasi dibagi menjadi dua:
Autentikasi berbasis Token
Http header Authorization berisi Token. Parameter umum meliputi:
- appId
Autentikasi signature
Tidak menggunakan Http header Authorization.
Parameter umum berisi informasi signature. Semua parameter ikut dalam perhitungan signature, kecuali gambar.
- appId
- timestamp
- apiKey
- signature
Untuk algoritma dan kode detail perhitungan signature, lihat metode signature API Key.
Contoh penggunaan dan parsing properti
Contoh penggunaan API
Contoh ini memanggil API untuk membuat target image, membantu developer memahami proses request CRS API, struktur properti target image, serta input dan output antarmuka.
Di lingkungan produksi, diperlukan lebih banyak validasi sebelum membuat target image. Untuk detail, lihat best practice untuk membuat target image baru.
Contoh request
Tambahkan file target image bernama test-target.jpg. Saat membuat target image, file gambar harus dienkode base64.
Dokumentasi API akan menjelaskan parameter request secara detail. Lihat API - Membuat target image untuk meminta API dengan file gambar yang telah dienkode 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"
}
Contoh response
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 response
Response semuanya menggunakan format terpadu. Berikut adalah contoh:
{
"statusCode": 119,
"msg": "Parameter has errors",
"date": "2022-06-15T09:56:30.000Z",
"result": //result hanya ada ketika statusCode adalah 0. Jika terjadi error, field result kosong
}
Seperti ditunjukkan pada contoh di atas, ini adalah struktur detail target image yang dikembalikan secara normal. Sebuah target image mencakup properti berikut.
| Properti | Deskripsi |
|---|---|
| targetId | Id unik target image |
| trackingImage | Encoding base64 dari grayscale image yang telah diproses, digunakan untuk image tracking di sisi device |
| name | Nama target image |
| size | Ukuran gambar, ukuran praktis untuk menumpangkan konten virtual dalam aplikasi |
| meta | Data terkait pengguna, dapat berupa file, teks, atau url, dan perlu dienkode base64 |
| type | "ImageTarget" |
| active | Hanya target image yang diaktifkan yang dapat dikenali. Setelah dinonaktifkan, target tidak akan dikenali |
| trackableRate | Skor kesulitan tracking. Semakin kecil semakin baik |
| detectableRate | Skor kesulitan keseluruhan recognition. Semakin kecil semakin baik |
| detectableDistinctiveness | Skor kesulitan keterbedaan recognition. Semakin kecil semakin baik |
| detectableFeatureCount | Skor kesulitan fitur recognition. Semakin kecil semakin baik |
| trackableDistinctiveness | Skor kesulitan keterbedaan tracking. Semakin kecil semakin baik |
| trackableFeatureCount | Skor kesulitan fitur tracking. Semakin kecil semakin baik |
| trackableFeatureDistribution | Skor kesulitan distribusi fitur tracking. Semakin kecil semakin baik |
Kode error
Deskripsi kode error cloud recognition APIs