Rule¶
Contains API calls to interact with tracker's rules. Rules used to set up conditions according to which the system logs the events and sends notifications to user.
Rule object¶
{
"id": 668054,
"name": "Lock is opened/closed",
"type": "locking_unlocking",
"description": "This rule was created automatically",
"zone_ids": [ 18928 ],
"trackers": [ 10029750, 10030168, 10031971 ],
"primary_text": "Lock is opened",
"secondary_text": "Lock is closed",
"param": 0,
"alerts": {
"sms_phones": [],
"phones": [],
"emails": [],
"push_enabled": true
},
"suspended": false,
"auto_created": true,
"schedule": [{
"type": "weekly",
"from": {
"weekday": 1,
"time": "00:00:00"
},
"to": {
"weekday": 7,
"time": "23:59:59"
},
"interval_id": 48732
}],
"extended_params": {
"emergency": false,
"zone_limit_inverted": false,
"private_rule": true
}
}
id
- int. An ID of a rule.name
- string. Name of a rule.type
- enum. One of pre-defined types of rules. See rule types.description
- string. Rule's description.zone_ids
- int array. List of geofence IDs.trackers
- int array. List of bound tracker IDs.primary_text
- string. Primary text of rule notification.secondary_text
- string. Secondary text of rule notification.param
- int. A common parameter. See rule types.alerts
- object with destinations for notifications.sms_phones
- string array. Phones for SMS notifications.phones
- string array. Phones for voice calls.emails
- string array. Emails for notifications.push_enabled
- boolean. Iftrue
push notifications available.emergency
- boolean. Iftrue
notifications will be marked as emergency with color and sound.
suspended
- boolean.true
if the rule suspended.auto_created
- optional, boolean.true
means that the rule created automatically.shedule
- optional object. The rule will work in specified period.-
extended_params
- optional. An object specified for concrete rule type. See rule types. -
schedule_interval is one of:
- weekly_schedule_interval
* fixed_schedule_interval{ "type": "weekly", "from": { "weekday": 1, "time": "00:00:00" }, "to": { "weekday": 7, "time": "23:59:59" }, "interval_id": 1 }
{ "type": "fixed", "from": "2014-07-09 07:50:58", "to": "2014-07-10 07:50:58", "interval_id": 3 }
-
date/time
andlocal_time
types described at the data types description section.
API actions¶
API base path: /tracker/rule
.
bind¶
Binds rule with rule_id
to trackers list.
required sub-user rights: tracker_rule_update
.
parameters¶
name | description | type |
---|---|---|
rule_id | ID of a rule. | int |
trackers | IDs of trackers. Trackers which do not exist, owned by other user or deleted ignored without errors. | int array |
example¶
curl -X POST 'https://api.navixy.com/v2/tracker/rule/bind' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "rule_id": 123, "trackers": [265489]}'
response¶
{ "success": true }
errors¶
- 201 - Not found in the database – if rule with
rule_id
does not exist or owned by other user.
create¶
Creates rule and scheduled intervals.
required sub-user rights: tracker_rule_update
.
parameters¶
Presented parameters are common for all rule types. However, there are specific parameters primary_text
and secondary_text
that are described for every rule type if exist in rule types.
name | description | type |
---|---|---|
name | The name of created rule. | string |
description | Rule's description. | string |
trackers | List of tracker IDs belong to user for which the rule will work. | int array |
zone_ids | List of zones to bind where the rule will work. Leave it empty if rule should work everywhere. Parameter zone_ids is not allowed for rule offline and can't be empty for route and inoutzone rule types. | int array |
type | One of pre-defined types of rules. See rule types. | enum |
param | A common parameter that responsible for integer conditions. See rule types. | int |
alerts | An object with destinations for notifications. Described above. | JSON object |
suspended | Starts or stops tracking the rule. true if the rule suspended. | boolean |
schedule | An optional object. Configures the time - when the rule works. Described above. | JSON object |
extended_params | An optional object. Specified for concrete rule type. See rule types. | JSON object |
example¶
curl -X POST 'https://api.navixy.com/v2/tracker/rule/create' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "rule": {"description": "", "type": "work_status_change", "primary_text": "status changed", "secondary_text": "", "alerts": {"push_enabled": true, "emails": ["example@gmail.com"], "emergency": false, "sms_phones": ["745494878945"], "phones": []}, "suspended": "", "append_zone_title": "", "name": "Status changing", "trackers": [123456], "extended_params": {"emergency": false, "zone_limit_inverted": false, "status_ids": [319281,319282,319283]}, "param": "", "schedule": [{"from": {"weekday": 1, "time": "00:00:00"}, "to": {"weekday": 7, "time": "23:59:59"}, "type": "weekly"}], "zone_ids": [], "group_id": 1}}'
response¶
{
"success": true,
"id": 123
}
id
- int. An ID of created rule.
errors¶
- 204 - Entity not found – when associated zone is not exist.
delete¶
Deletes rule with rule_id and all related objects from the database.
required sub-user rights: tracker_rule_update
.
parameters¶
name | description | type |
---|---|---|
rule_id | ID of a rule. | int |
examples¶
curl -X POST 'https://api.navixy.com/v2/tracker/rule/delete' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "rule_id": 123}'
https://api.navixy.com/v2/tracker/rule/delete?hash=a6aa75587e5c59c32d347da438505fc3&rule_id=123
response¶
{ "success": true }
errors¶
- 201 - Not found in the database – if rule with
rule_id
does not exist or owned by other user.
list¶
List tracker rules bound to tracker with an ID=tracker_id
or all users' tracker rules if tracker_id
not passed.
examples¶
curl -X POST 'https://api.navixy.com/v2/tracker/rule/list' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3"}'
https://api.navixy.com/v2/tracker/rule/list?hash=a6aa75587e5c59c32d347da438505fc3
response¶
{
"success": true,
"list": [{
"id": 667281,
"name": "Case intrusion",
"type": "case_intrusion",
"description": "This rule was created automatically",
"zone_id": 0,
"trackers": [10029448, 10030168],
"primary_text": "Case is opened",
"secondary_text": "Case is closed",
"param": 0,
"alerts": {
"sms_phones": [],
"phones": [],
"emails": [],
"push_enabled": true
},
"suspended": false,
"auto_created": true,
"schedule": [{
"type": "weekly",
"from": {
"weekday": 1,
"time": "00:00:00"
},
"to": {
"weekday": 7,
"time": "23:59:59"
},
"interval_id": 46892
}]
}]
}
list
- list of rules
unbind¶
Unbinds trackers from rule with rule_id
.
required sub-user rights: tracker_rule_update
.
parameters¶
name | description | type |
---|---|---|
rule_id | ID of a rule. | int |
trackers | IDs of trackers. Trackers which do not exist, owned by other user or deleted ignored without errors. | int array |
examples¶
curl -X POST 'https://api.navixy.com/v2/tracker/rule/unbind' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "rule_id": 123, "trackers": [265489]}'
response¶
{ "success": true }
errors¶
- 201 - Not found in the database – if rule with
rule_id
does not exist or owned by other user.
update¶
Updates rule and scheduled intervals.
required sub-user rights: tracker_rule_update
.
parameters¶
Presented parameters are common for all rules, but there are specific parameters that can be found in rule types.
name | description | type |
---|---|---|
id | ID of a rule. You can get IDs using the rule/list call. | int |
name | The name of created rule. | string |
description | Rule's description. | string |
zone_ids | List of zones to bind where the rule will work. Leave it empty if rule should work everywhere. Parameter zone_ids is not allowed for rule offline and required for route and inoutzone rule types (there can be exactly one item). | int array |
trackers | List of tracker IDs belong to user for which the rule will work. | int array |
type | One of pre-defined types of rules. See rule types. | enum |
param | A common parameter that responsible for integer conditions. See rule types. | int |
alerts | An object with destinations for notifications. Described above. | JSON object |
suspended | Starts and stops tracking the rule. true if the rule suspended. | boolean |
schedule | An optional object. Configures the time - when the rule works. Described above. | JSON object |
extended_params | An optional object. Specified for concrete rule type. See rule types. | JSON object |
example¶
curl -X POST 'https://api.navixy.com/v2/tracker/rule/update' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "rule": {"id": 123, "description": "", "type": "work_status_change", "primary_text": "status changed", "secondary_text": "", "alerts": {"push_enabled": true, "emails": ["example@gmail.com"], "emergency": false, "sms_phones": ["745494878945"], "phones": []}, "suspended": "", "append_zone_title": "", "name": "Status changing", "trackers": [123456], "extended_params": {"emergency": false, "zone_limit_inverted": false, "status_ids": [319281,319282,319283]}, "param": "", "schedule": [{"from": {"weekday": 1, "time": "00:00:00"}, "to": {"weekday": 7, "time": "23:59:59"}, "type": "weekly"}], "zone_ids": [], "group_id": 1}}'
response¶
{ "success": true }
errors¶
- 201 - Not found in the database – if rule is not exists or owned by other user.
- 204 - Entity not found – when new associated zone is not exists.