Rule
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.
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.
Described creation and using rules step-by-step in the guide.
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
{ "type": "weekly", "from": { "weekday": 1, "time": "00:00:00" }, "to": { "weekday": 7, "time": "23:59:59" }, "interval_id": 1 }
fixed_schedule_interval
{ "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
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
curl -X POST 'https://api.eu.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
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
suspended
Starts or stops tracking the rule. true
if the rule suspended.
boolean
Example
cURL
curl -X POST 'https://api.eu.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": "", "name": "Status changing", "trackers": [123456], "extended_params": {"emergency": false, "zone_limit_inverted": false, "append_zone_title": "", "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
rule_id
ID of a rule.
int
Examples
curl -X POST 'https://api.eu.navixy.com/v2/tracker/rule/delete' \
-H 'Content-Type: application/json' \
-d '{"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.eu.navixy.com/v2/tracker/rule/list' \
-H 'Content-Type: application/json' \
-d '{"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
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
curl -X POST 'https://api.eu.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
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
suspended
Starts and stops tracking the rule. true
if the rule suspended.
boolean
Example
cURL
curl -X POST 'https://api.eu.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": "", "name": "Status changing", "trackers": [123456], "extended_params": {"emergency": false, "zone_limit_inverted": false, "append_zone_title": "", "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.
Last updated
Was this helpful?