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 16:59] nightfly |
api [2023/07/22 12:19] (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? | | ||
+ | | 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 | ||
- | ^ Object ^ Method ^ Parameters required ^ | ||
- | | models | ||
- | | 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 | ||
- | | | | | | ||
- | | | | | | ||
- | | | | | | ||
- | | | | | | ||
+ | ====== Usage examples ====== | ||
+ | ===== Models list ===== | ||
+ | **Request** | ||
< | < | ||
- | models: | + | http:// |
- | | + | </ |
- | storages: | + | **Reply** |
- | + getall | + | < |
- | + getstate | + | Array |
+ | ( | ||
+ | [12] => Array | ||
+ | ( | ||
+ | [id] => 12 | ||
+ | [modelname] => Unv | ||
+ | [template] => UNV_IPC2122LB-SF28-A | ||
+ | ) | ||
- | cameras: | + | |
- | + getall | + | ( |
- | + create | + | [id] => 11 |
- | + activate [cameraid] | + | [modelname] => Hikvision DS-2CD1023G0E-I |
- | + deactivate | + | [template] => Hikvision_DS-2CD1023G0E-I |
- | + setdescription | + | ) |
- | + delete | + | |
- | + isregistered [ip] | + | |
- | users: | + | |
- | + getall | + | ( |
- | + create | + | |
- | + changepassword | + | [modelname] => Tyto IPC-5D28-KS-30 |
- | + delete | + | [template] => Tyto_IPC-5D28-KS-30 |
- | + isregistered | + | ) |
- | + checkauth [login + password] | + | .... |
+ | </ | ||
- | acls: | + | ===== Wrong object or method ===== |
- | + 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: | + | **Request** |
- | + getall | + | |
- | + isrunning [cameraid] | + | |
- | system: | + | < |
- | + gethealth | + | http:// |
+ | </ | ||
+ | **Reply** | ||
+ | < | ||
+ | Array | ||
+ | ( | ||
+ | [error] => 1 | ||
+ | [message] => "No object specified" | ||
+ | ) | ||
</ | </ | ||
+ | |||
+ | |||
+ | |||
+ | **Request** | ||
+ | |||
+ | < | ||
+ | http:// | ||
+ | </ | ||
+ | |||
+ | **Reply** | ||
+ | < | ||
+ | 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 | ||
+ | ) | ||
+ | |||
+ | [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 | ||
+ | ) | ||
+ | |||
+ | ) | ||
+ | |||
+ | [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:// | ||
+ |