📘 Documentation

AI Bot System documentation

Real platform capabilities: supported devices, accepted event formats, delivery channels, and storage behavior.

AI Bot System
📱
Telegram Bot
📷
AI Camera
🔒
Security

Live endpoints and ports

The values below are generated from your current server configuration.

API ingest (JSON)

https://ai-bot-system.com/api/events

POST /api/events

HTTP endpoint for cameras

https://ai-bot-system.com/camera
http://ai-bot-system.com:3001/

POST /camera (recommended), /api/camera-event (legacy), direct

TCP endpoint for LPR

ai-bot-system.com:9000
Active ports: web 4000, https 4443, camera-http 3001, tcp 9000

TCP LPR

Supported devices

What you can connect to the platform today.

Cameras and LPR devices

IP cameras, ANPR/LPR cameras, and camera integrations that send event payloads are supported.

IP/ANPR HTTP/TCP

Sensors and controllers

Any device that can push event data with identifiers (DeviceID/MAC/IP) can be connected.

DeviceID MAC/IP

Incoming formats

The ingest layer accepts JSON, multipart/form-data, x-www-form-urlencoded, text/xml/application/xml, and raw TCP camera payloads.

JSON/XML Multipart

Data flow

Where incoming data goes and how it is processed.

Input endpoints

Events are received through HTTP ingest endpoints and optional TCP endpoint (port 9000 for LPR/camera integrations).

HTTP TCP 9000

Delivery targets

Alerts are forwarded to Telegram bots and event metadata is written to dashboard event history.

Telegram Dashboard

Media handling

Snapshots can be attached to Telegram alerts and stored in local uploads or S3-compatible cloud storage.

Uploads/S3 Images

Storage behavior

How the platform stores data and behaves near capacity.

Where data is stored

Events are stored in the database; media files are stored in local uploads or object storage depending on configuration.

DB Local/S3

When storage limit is reached

When user storage is full, new images are not saved to disk/cloud, but alert delivery and event logging continue.

No image save Alerts continue

Manual cleanup controls

You can disable media saving or clear accumulated alert media from dashboard profile settings.

Profile settings Cleanup

How to configure cameras and AI

Minimal steps for stable event delivery and local model training.

Regular camera (non-LPR)

In camera HTTP action set Camera URL (HTTP), method POST, include DeviceID/MAC and a full frame. For multipart use snapshot/image/PictureData field names.

POST Full frame

LPR / NVR camera

For LPR use TCP host:port endpoint. For NVR HTTP push use Camera URL (HTTP) and avoid sending duplicate MAC/CH/ALARM/TIME both as plain text and separate fields.

TCP/HTTP NVR/LPR

Local AI model training

Open Dashboard → Analytics: enable analytics per device, label events with True/False/Needs review in Recent analytics decisions, then click Start local model training.

Dashboard Feedback → Train

Ready templates for NVR / AIBOX / and other HTTP Action capable devices

Copy a template and replace MAC/channel/keys with your values.

NVR / AIBOX: multipart + photo

Recommended option for alert events with an image (full frame).

POST https://ai-bot-system.com/camera
Content-Type: multipart/form-data

MAC=00:1C:B8:81:C7:06
CH=1
Event-Type=Intrusion
Date-Time=2026/2/25 13:39:45
snapshot=@full_frame.jpg

# Do not add a long duplicate text payload like:
# "MAC: ...; CH: ...; ALARM: ...; TIME: ..."
# These fields are already sent separately.
HTTP multipart

NVR / AIBOX: form-urlencoded

Fallback option without image if the camera cannot upload files.

POST https://ai-bot-system.com/camera
Content-Type: application/x-www-form-urlencoded

MAC=00:1C:B8:81:C7:06&CH=1&Event-Type=Intrusion&Date-Time=2026/2/25 13:39:45

# If a camera cannot upload files,
# the event will still be logged, but for Telegram/analytics
# it is recommended to send a full frame (snapshot/image).
HTTP urlencoded

Server/API JSON ingest

Template for server integration through signed ingest endpoint.

POST https://ai-bot-system.com/api/events
Headers:
  X-API-Key: YOUR_DEVICE_API_KEY
  X-Timestamp: UNIX_MS
  X-Signature: HMAC_SHA256_HEX
  Content-Type: application/json

{
  "device_id": "NVR203_CH1",
  "event_type": "intrusion",
    "message": "Camera channel 1 intrusion",
  "metadata": {
    "MAC": "00:1C:B8:81:C7:06",
    "CH": "1",
    "Event-Type": "Intrusion",
    "Date-Time": "2026/2/25 13:39:45"
  }
}
JSON HMAC