Nodeflux Central
Search (Smart Search)

API Reference — Smart Search

Endpoint pencarian lintas domain berbasis vektor semantik Quertex untuk menemukan event dari seluruh kamera dan analitik.

Semua endpoint memerlukan header Authorization: Bearer <token> atau X-Api-Key: <key>. Basis URL mengikuti variabel lingkungan VITE_API_URL yang dikonfigurasi pada instalasi Lenz. Jika Anda belum punya token, lihat halaman Otentikasi.


Pencarian Event

Endpoint utama Smart Search. Menerima query bahasa alami dan mengembalikan daftar event yang relevan secara semantik dari seluruh kamera dan analitik. Gunakan last_id untuk cursor pagination (infinite scroll).

GET
/api/smart-search

Authorization

AuthorizationBearer <token>

In: header

Query Parameters

search*string

Teks query pencarian dalam bahasa alami. Dikirimkan ke mesin Quertex untuk mendapatkan hasil yang relevan secara semantik.

limit?integer

Jumlah item yang dikembalikan per request. Disarankan antara 20–50 untuk menjaga latensi rendah.

Default10
quertex_mode?boolean

Aktifkan mesin pencari berbasis vektor Quertex. Sangat disarankan selalu diset true agar hasil relevan secara semantik.

Defaulttrue
last_id?integer

ID numerik dari item terakhir pada batch sebelumnya. Digunakan sebagai cursor untuk mengambil halaman berikutnya. Kosongkan pada request pertama.

filter[site_id]?string

ID site untuk memfilter hasil. Hanya event dari kamera yang berada di site ini yang dikembalikan.

filter[stream_id]?string

ID stream/kamera untuk memfilter hasil. Hanya event dari satu kamera tertentu yang dikembalikan.

filter[timestamp_from]?string

Batas awal rentang waktu pencarian. Format ISO 8601 dengan timezone offset.

Formatdate-time
filter[timestamp_to]?string

Batas akhir rentang waktu pencarian. Format ISO 8601 dengan timezone offset.

Formatdate-time

Response Body

application/json

application/json

application/json

curl -X GET "https://lenz.example.com/api/smart-search?search=motor+merah+masuk+gerbang+malam+hari&last_id=5821&filter%5Bsite_id%5D=site-abc-123&filter%5Bstream_id%5D=stream-cam-02&filter%5Btimestamp_from%5D=2024-01-15T00%3A00%3A00%2B07%3A00&filter%5Btimestamp_to%5D=2024-01-15T23%3A59%3A59%2B07%3A00"
{  "ok": true,  "message": "successfully fetch smart search results",  "results": [    {      "id": 5821,      "analytic_id": "NFV4-LPR",      "stream_id": "stream-cam-02",      "label": "B 1234 XYZ",      "result": "KNOWN",      "location": "Gerbang Parkir Utara",      "status": "KNOWN",      "logic": "",      "timestamp": "2024-01-15T09:15:42+07:00",      "pipeline_event_id": "evt-uuid-00123",      "score": "0.91",      "stream_latitude": -6.2123,      "stream_longitude": 106.8456,      "pipeline_data": {        "embedding": "<vector>",        "event_id": "evt-uuid-00123",        "event_data": {          "captureTime": "2024-01-15T09:15:42Z",          "deviceName": "Kamera Gerbang Utara",          "locationName": "Gerbang Parkir Utara",          "plate": "B 1234 XYZ",          "plateColor": "hitam",          "plateImageURL": "",          "vehicleColor": "merah",          "vehicleImageURL": "",          "vehicleType": "motor",          "videoURL": "",          "violationCode": "",          "violationName": ""        }      }    }  ]}
{  "ok": false,  "message": "search parameter is required"}
{  "ok": false,  "message": "unauthorized"}

Gambar Event

Endpoint untuk mengambil gambar visual dari event berdasarkan pipeline_event_id yang didapat dari hasil Smart Search. Digunakan untuk menampilkan thumbnail dan gambar detail di grid hasil pencarian.

GET
/api/event/image

Authorization

AuthorizationBearer <token>

In: header

Query Parameters

event_id*string

UUID event (pipeline_event_id) dari hasil Smart Search.

type*string

primary — gambar crop objek yang dideteksi; secondary — gambar latar penuh/konteks.

Value in"primary" | "secondary"

Response Body

image/jpeg

application/json

application/json

curl -X GET "https://lenz.example.com/api/event/image?event_id=evt-uuid-00123&type=secondary"
"string"
{  "ok": false,  "message": "unauthorized"}
{  "ok": false,  "message": "event image not found"}

On this page