This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
api [2023/05/08 17:04] nightfly |
api [2025/08/14 16:10] (current) nightfly |
||
|---|---|---|---|
| Line 19: | Line 19: | ||
| ====== Supported objects and methods list ====== | ====== Supported objects and methods list ====== | ||
| + | ^ Object ^ Method ^ Parameters required ^ Action/ | ||
| + | | models | ||
| + | | storages | ||
| + | | | getstates | | array of all storages states | | ||
| + | | cameras | ||
| + | | | create | modelid + ip + login + password + active + storageid + description | ||
| + | | | activate | cameraid | ||
| + | | | deactivate | cameraid | ||
| + | | | setdescription | cameraid + description | ||
| + | | | delete | cameraid | deletes specified camera | | ||
| + | | | isregistered | ip | checks is some camera is registered by IP on NVR or not? | | ||
| + | | | isipportfree | ip+port | ||
| + | | users | getall | | ||
| + | | | create | login + password | ||
| + | | | changepassword login + password | | ||
| + | | | delete | login | deletes existing user | | ||
| + | | | isregistered | login | checks is user registered or not | | ||
| + | | | checkauth | login + password | ||
| + | | acls | getall | | ||
| + | | | getallcameras | | ||
| + | | | getallchannels | | ||
| + | | | getchannels | login | returns array of all channels available for user | | ||
| + | | | getcameras | login | returns array of all cameras available for user | | ||
| + | | | assignchannel | login + channelid | assigns some channel to user with ACL | | ||
| + | | | assigncamera | login + cameraid | ||
| + | | | deassignchannel | login + channelid | ||
| + | | | deassigncamera | login + cameraid | ||
| + | | channels | ||
| + | | | getscreenshotsall | | returns array of all available channel screenshots | | ||
| + | | | getscreenshot | channelid | ||
| + | | | getlivestream | channelid | ||
| + | | recorders | ||
| + | | | isrunning | cameraid | ||
| + | | system | ||
| + | ====== Usage examples ====== | ||
| - | ^ Object ^ Method ^ Parameters required ^ Returns ^ | + | ===== Models list ===== |
| - | | models | + | **Request** |
| - | | storages | + | |
| - | | | getstate | | + | |
| - | | cameras | + | |
| - | | | create | modelid + ip + login + password + active + storageid + description | + | |
| - | | | activate | cameraid | + | |
| - | | | deactivate | cameraid | + | |
| - | | | setdescription | cameraid + description | + | |
| - | | | delete | cameraid | | | + | |
| - | | | isregistered | ip | | | + | |
| - | | users | getall | | + | |
| - | | | create | login + password | + | |
| - | | | changepassword login + password | | + | |
| - | | | delete | login | + | |
| - | | | isregistered | login | + | |
| - | | | checkauth | login + password | + | |
| - | | acls | getall | | + | |
| - | | | getallcameras | | + | |
| - | | | getallchannels | | + | |
| - | | | getchannels | login | | | + | |
| - | | | getcameras | login | | | + | |
| - | | | assignchannel | login + channelid | | | + | |
| - | | | assigncamera | login + cameraid | + | |
| - | | | deassignchannel | login + channelid | + | |
| - | | | deassigncamera | login + cameraid | + | |
| - | | channels | + | |
| - | | | getscreenshotsall | | | | + | |
| - | | | getscreenshot | channelid | + | |
| - | | | getlivestream | channelid | + | |
| - | | recorders | + | |
| - | | | isrunning | cameraid | + | |
| - | | system | + | |
| + | < | ||
| + | http:// | ||
| + | </ | ||
| + | **Reply** | ||
| + | < | ||
| + | Array | ||
| + | ( | ||
| + | [12] => Array | ||
| + | ( | ||
| + | [id] => 12 | ||
| + | [modelname] => Unv | ||
| + | [template] => UNV_IPC2122LB-SF28-A | ||
| + | ) | ||
| + | [11] => Array | ||
| + | ( | ||
| + | [id] => 11 | ||
| + | [modelname] => Hikvision DS-2CD1023G0E-I | ||
| + | [template] => Hikvision_DS-2CD1023G0E-I | ||
| + | ) | ||
| + | [10] => Array | ||
| + | ( | ||
| + | [id] => 10 | ||
| + | [modelname] => Tyto IPC-5D28-KS-30 | ||
| + | [template] => Tyto_IPC-5D28-KS-30 | ||
| + | ) | ||
| + | .... | ||
| + | </ | ||
| + | ===== Wrong object or method ===== | ||
| + | **Request** | ||
| < | < | ||
| - | models: | + | http:// |
| - | | + | </ |
| - | storages: | + | **Reply** |
| - | + getall | + | < |
| - | + getstate | + | Array |
| + | ( | ||
| + | [error] => 1 | ||
| + | [message] => "No object specified" | ||
| + | ) | ||
| + | </ | ||
| - | cameras: | ||
| - | + getall | ||
| - | + create [modelid + ip + login + password + active + storageid + description] | ||
| - | + activate [cameraid] | ||
| - | + deactivate [cameraid] | ||
| - | + setdescription [cameraid + description] | ||
| - | + delete [cameraid] | ||
| - | + isregistered [ip] | ||
| - | users: | ||
| - | + getall | ||
| - | + create [login + password] | ||
| - | + changepassword [login + password] | ||
| - | + delete [login] | ||
| - | + isregistered [login] | ||
| - | + checkauth [login + password] | ||
| - | acls: | + | **Request** |
| - | + getall | + | |
| - | + getallcameras | + | |
| - | + getallchannels | + | |
| - | + getchannels [login] | + | |
| - | + getcameras [login] | + | |
| - | + assignchannel [login + channelid] | + | |
| - | + assigncamera [login + cameraid] | + | |
| - | + deassignchannel [login + channelid] | + | |
| - | + deassigncamera [login + cameraid] | + | |
| - | + | ||
| - | channels: | + | |
| - | + getall | + | |
| - | + getscreenshotsall | + | |
| - | + getscreenshot [channelid] | + | |
| - | getlivestream [channelid] | + | |
| - | recorders: | + | < |
| - | + getall | + | http:// |
| - | + isrunning [cameraid] | + | </ |
| - | system: | + | **Reply** |
| - | + gethealth | + | < |
| + | Array | ||
| + | ( | ||
| + | [error] => 2 | ||
| + | [message] => " | ||
| + | ) | ||
| + | </ | ||
| + | |||
| + | ===== Storages list ===== | ||
| + | |||
| + | **Request** | ||
| + | < | ||
| + | http:// | ||
| </ | </ | ||
| + | |||
| + | **Reply** | ||
| + | < | ||
| + | Array | ||
| + | ( | ||
| + | [13] => Array | ||
| + | ( | ||
| + | [id] => 13 | ||
| + | [path] => / | ||
| + | [name] => NFS mounted storage | ||
| + | ) | ||
| + | |||
| + | [1] => Array | ||
| + | ( | ||
| + | [id] => 1 | ||
| + | [path] => /wrstorage | ||
| + | [name] => Default | ||
| + | ) | ||
| + | |||
| + | ) | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Storages states ===== | ||
| + | |||
| + | **Request** | ||
| + | < | ||
| + | http:// | ||
| + | </ | ||
| + | |||
| + | **Reply** | ||
| + | < | ||
| + | Array | ||
| + | ( | ||
| + | [13] => Array | ||
| + | ( | ||
| + | [state] => 1 | ||
| + | [total] => 968792403968 | ||
| + | [used] => 639428460544 | ||
| + | [free] => 329363943424 | ||
| + | ) | ||
| + | |||
| + | [1] => Array | ||
| + | ( | ||
| + | [state] => 1 | ||
| + | [total] => 31183237120 | ||
| + | [used] => 28042903552 | ||
| + | [free] => 3140333568 | ||
| + | ) | ||
| + | |||
| + | ) | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | ===== Existing cameras list ===== | ||
| + | |||
| + | |||
| + | **Request** | ||
| + | < | ||
| + | http:// | ||
| + | </ | ||
| + | |||
| + | **Reply** | ||
| + | < | ||
| + | Array | ||
| + | ( | ||
| + | [54] => Array | ||
| + | ( | ||
| + | [CAMERA] => Array | ||
| + | ( | ||
| + | [id] => 54 | ||
| + | [modelid] => 11 | ||
| + | [ip] => 172.30.1.92 | ||
| + | [login] => admin | ||
| + | [password] => SomePassword | ||
| + | [active] => 1 | ||
| + | [storageid] => 1 | ||
| + | [channel] => kiqgdmrbma1 | ||
| + | [comment] => Here some camera description | ||
| + | [realport] => Here is camera RTSP port that depends template or custom port if set | ||
| + | [maxretention] => Here is maximum retention days limit or zero if no | ||
| + | ) | ||
| + | |||
| + | [TEMPLATE] => Array | ||
| + | ( | ||
| + | [DEVICE] => Hikvision DS-2CD1023G0E-I | ||
| + | [PROTO] => rtsp | ||
| + | [MAIN_STREAM] => /h264 | ||
| + | [SUB_STREAM] => /h264 | ||
| + | [RTSP_PORT] => 554 | ||
| + | [HTTP_PORT] => 80 | ||
| + | [SOUND] => 0 | ||
| + | ) | ||
| + | |||
| + | [STORAGE] => Array | ||
| + | ( | ||
| + | [id] => 1 | ||
| + | [path] => /wrstorage | ||
| + | [name] => Default | ||
| + | ) | ||
| + | |||
| + | [OPTS] => Array | ||
| + | ( | ||
| + | [id] => 1 | ||
| + | [cameraid] => 57 | ||
| + | [rtspport] => 666 | ||
| + | [keepsubalive] => 0 | ||
| + | [maxretdays] => 0 | ||
| + | [order] => | ||
| + | ) | ||
| + | |||
| + | ) | ||
| + | |||
| + | [33] => Array | ||
| + | ( | ||
| + | .... | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== User creation ===== | ||
| + | |||
| + | **Request** | ||
| + | < | ||
| + | http:// | ||
| + | </ | ||
| + | |||
| + | **Request data** | ||
| + | < | ||
| + | $requestData=array( | ||
| + | ' | ||
| + | ' | ||
| + | ); | ||
| + | </ | ||
| + | |||
| + | **POST variable ' | ||
| + | < | ||
| + | |||
| + | {" | ||
| + | </ | ||
| + | |||
| + | **Reply** | ||
| + | < | ||
| + | |||
| + | |||
| + | Array | ||
| + | ( | ||
| + | [error] => 0 | ||
| + | [message] => Success | ||
| + | ) | ||
| + | </ | ||
| + | |||
| + | ===== Attempt to create existing user ===== | ||
| + | |||
| + | **Request** | ||
| + | < | ||
| + | http:// | ||
| + | </ | ||
| + | |||
| + | **Request data** | ||
| + | < | ||
| + | $requestData=array( | ||
| + | ' | ||
| + | ' | ||
| + | ); | ||
| + | </ | ||
| + | |||
| + | **POST variable ' | ||
| + | < | ||
| + | |||
| + | {" | ||
| + | </ | ||
| + | |||
| + | **Reply** | ||
| + | < | ||
| + | Array | ||
| + | ( | ||
| + | [error] => 7 | ||
| + | [message] => User already exists | ||
| + | ) | ||
| + | </ | ||
| + | |||
| + | |||
| + | We hope it is clear how it works. You can also check out a sample implementation of this API at [[https:// | ||
| + | |||