Sensaphone.net API/feature
From Sensaphone.net
								
												
				Sensaphone.net API
Specifications
The feature resource
The feature resource has the following properties:
| Parent Property | Property | Type | Description | Create | Delete | Read | Update | 
| <parent> | feature | Array of Object | The feature linked to the account/device | ✓ | ✓ | ||
| feature | feature_id | Integer | The ID of the feature | ✓ | |||
| feature | resource | String | The resource of the feature | ✓ | |||
| feature | description | String | The description of the feature | ✓ | |||
| feature | resource_id | Integer | The ID of the resource | ✓ | |||
| feature | parent_ids | Array of Integers | The IDs of the parent features | ✓ | |||
| feature | option | String | The value of the feature | ✓ | ✓ | ||
| feature | is_hidden | Boolean | Is the feature hidden | ✓ | 
GET
URI Mode Request URI's:
- Retrieve all the account features
  GET https://rest.sensaphone.net/api/v1/{ACCTID}/{SESSIONID}/account/feature
- Retrieve all the device features
  GET https://rest.sensaphone.net/api/v1/{ACCTID}/{SESSIONID}/device/feature
JSON Mode Request URI:
POST https://rest.sensaphone.net/api/v1/account/feature
JSON Mode Request Properties
| Parent Properties | Child Properties | Type | Description | 
| acctid | Integer | Account ID | |
| session | Integer | Session ID | |
| request_type | String | "read" | |
| <parent> | feature | Array of Objects | The features object | 
JSON Mode Response Properties
| Parent Properties | Child Property | Status | Type | Description | 
| <parent object(s)> | Optional | Array of Objects | The parent(s) specified in the request. | |
| <parent> | feature | Required | Object | The feature linked to the account/device | 
| feature | feature_id | Required | Integer | The ID of the feature | 
| feature | resource | Optional | String | The resource of the feature | 
| feature | description | Optional | String | The description of the feature | 
| feature | resource_id | Optional | Integer | The ID of the resource | 
| feature | parent_ids | Optional | Array of Integers | The IDs of the parent features | 
| feature | option | Optional | String | The value of the feature | 
| feature | is_hidden | Optional | Boolean | Is the feature hidden | 
Example JSON
Receive all the account features' option
- Request JSON:
{
  "acctid": 987654,
  "sessionid": "0123-4567-8901",
  "request_type": "read",
  "account": [
     {
          "option" : null
     }
  ]
}
- Response JSON
{
  "result":
  {
    "success": true,
    "code": 0,
    "message": "OK"
  },
  "response":
  {
    "account": [
    {
       "feature": [
           {
               "feature_id" : 1234,
               "option" : "Premium"
           }
        ]
    }]
  }
}
PUT
URI Mode Request URI's:
- Change an account feature
PUT https://rest.sensaphone.net/api/v1/{ACCTID}/{SEESIONID}/account/feature/option/{NEW_OPTION}
JSON Mode Request URI:
POST https://rest.sensaphone.net/api/v1/account/feature POST https://rest.sensaphone.net/api/v1/device/feature
JSON Mode Request Properties
| Parent Properties | Child Properties | Type | Description | 
| acctid | Integer | Account ID | |
| session | Integer | Session ID | |
| request_type | String | "read" | |
| <parent> | feature | Array of Objects | The feature object | 
| feature | CHILD PROPERTY | Feature's child properties to be edited* | 
JSON Mode Response Properties
| Parent Properties | Child Property | Status | Type | Description | 
| <parent object(s)> | Optional | Array of Objects | The parent(s) specified in the request. | |
| <parent> | feature | Optional | Object | The feature linked to the account/device | 
| feature | feature_id | Required | Integer | The ID of the feature | 
| feature | option | Optional | String | The value of the feature | 
