IP devices
This tutorial provides a step-by-step guide to managing IP devices in a Nureva® audio system using the available API.
Supported devices
- HDL200
- HDL300, Dual HDL300
- HDL310, HDL410
- HDX
What can be controlled with the API?
- Add an IP device to a Nureva system
- Set (update) properties of an IP device
- Get information about configured IP devices
- Remove an IP device from the system
Minimum role required: general
generalThe Get devices, Get device, Post devices, Update device and Delete device endpoints can be accessed with the general role (recommended) or any role of a higher level. Follow the Authorization tutorial to authenticate with a general role and obtain YOUR_GENERAL_AUTHPARAMETERS which is required for the requests below.
Overview
-
Use Post devices to register a new IP device to a Nureva system.
-
Use Get devices to make a request to get all peripheral configurations.
-
Use Get device to get a specific peripheral configuration.
-
Use Update device to update the peripheral configuration.
-
Use Delete device to remove a peripheral from a Nureva system.
Instructions
Step 1 - Make a request to register a new peripheral to Nureva system
To add (register) a new IP device, use the Post devices endpoint.
- Set the path with the IP address of the Nureva device followed by
/api/v1/room/devices. - Update the headers to include
Authorizationas key and the value beingNurevafollowed by theauthParametersreceived from the login endpoint using thegeneralaccount. - Update the headers to include
Nureva-Client-Idas key andintegration_app_nameas the value. - Update the headers to include
Nureva-Client-Versionas key and0.0.1as the value. - Send the POST request with the following properties:
| Property name | Type | Value |
|---|---|---|
| deviceType | String | ip-device |
| customName | String | Required, maximum 100 characters |
| ipDeviceType | String | Camera, Display, Other |
| otherDeviceType | String | Required when ipDeviceType is Other, maximum 100 characters |
| manufacturerName | String | Required, maximum 100 characters |
| modelName | String | Required, maximum 100 characters |
| ipAddress | String | Valid IP address within same LAN with Nureva audio device |
| port | Integer | Valid port number |
The code sample below is a request to add an IP device for the Nureva device with the IP address of 10.0.0.1.
Example of request
curl --request POST \
--url https://10.0.0.1/api/v1/room/devices \
--header 'Authorization: Nureva <YOUR_GENERAL_AUTHPARAMETERS>' \
--header 'Nureva-Client-Id: integration_app_name' \
--header 'Nureva-Client-Version: 0.0.1' \
--header 'Content-Type: application/json' \
--data '{
"deviceType": "ip-device",
"customName": "IP device A",
"ipDeviceType": "Camera",
"manufacturerName": "Sony",
"modelName": "PTZ",
"ipAddress": "10.0.0.2",
"port": 80
}'- If the call is successful, an HTTP status code of 200 OK and a generated device ID (UUID v4) will be returned.
{
"deviceId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}Step 2 - Make a request to get all peripheral configurations
To get all peripheral configurations, use the Get devices endpoint.
- Set the path with the IP address of the Nureva device followed by
/api/v1/room/devices. - Update the headers to include
Authorizationas key and the value beingNurevafollowed by theauthParametersreceived from the login endpoint using thegeneralaccount. - Update the headers to include
Nureva-Client-Idas key andintegration_app_nameas the value. - Update the headers to include
Nureva-Client-Versionas key and0.0.1as the value. - Send the GET request. The code sample below is a request to retrieve the peripherals for the Nureva device with the IP address of
10.0.0.1.
Example of request
curl --request GET \
--url https://10.0.0.1/api/v1/room/devices \
--header 'Authorization: Nureva <YOUR_GENERAL_AUTHPARAMETERS>' \
--header 'Nureva-Client-Id: integration_app_name' \
--header 'Nureva-Client-Version: 0.0.1' \- If the call is successful, an HTTP status code of 200 OK and the Nureva device details together with all its peripherals will be returned.
Example of response
{
"devices": [
{
"deviceId": "MK072S69M025060",
"deviceType": "nu-audio-device",
"audioDeviceType": "hdl310",
"deviceStatusColor": "green",
"hardwareComponents": [
{
"portNumber": 1,
"hardwareId": "AAFDE9C1E2E7",
"connectionStatus": "Connected",
"model": "bar"
}
]
},
{
"deviceId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"deviceType": "ip-device",
"customName": "IP device A",
"ipDeviceType": "Camera",
"manufacturerName": "Sony",
"modelName": "PTZ",
"ipAddress": "10.0.0.2",
"port": 80
}
]
}Step 3 - Make a request to get IP device configuration
To get the IP device configuration of a single peripheral, use the Get device endpoint.
- Set the path with the IP address of the Nureva device followed by
/api/v1/room/devices/<deviceId>, wheredeviceIdis the ID of the peripheral. - Update the headers to include
Authorizationas key and the value beingNurevafollowed by theauthParametersreceived from the login endpoint using thegeneralaccount. - Update the headers to include
Nureva-Client-Idas key andintegration_app_nameas the value. - Update the headers to include
Nureva-Client-Versionas key and0.0.1as the value. - Send the GET request. The code sample below is a request to retrieve the IP device settings for the Nureva device with the IP address of
10.0.0.1and device IDxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
Example of request
curl --request GET \
--url https://10.0.0.1/api/v1/room/devices/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
--header 'Authorization: Nureva <YOUR_GENERAL_AUTHPARAMETERS>' \
--header 'Nureva-Client-Id: integration_app_name' \
--header 'Nureva-Client-Version: 0.0.1' \- If the call is successful, an HTTP status code of 200 OK and the specified peripheral configuration will be returned.
Example of response
{
"deviceId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"deviceType": "ip-device",
"customName": "IP device A",
"ipDeviceType": "Camera",
"manufacturerName": "Sony",
"modelName": "PTZ",
"ipAddress": "10.0.0.2",
"port": 80
}Step 4 - Make a request to update IP device configuration
To set (update) an IP device configuration, use the Update device endpoint.
- Set the path with the IP address of the Nureva device followed by
/api/v1/room/devices/<deviceId>, wheredeviceIdis the ID of the peripheral. - Update the headers to include
Authorizationas key and the value beingNurevafollowed by theauthParametersreceived from the login endpoint using thegeneralaccount. - Update the headers to include
Nureva-Client-Idas key andintegration_app_nameas the value. - Update the headers to include
Nureva-Client-Versionas key and0.0.1as the value. - Send the PATCH request to update the peripheral settings. The code sample below is a request to update the peripheral settings for the Nureva device with the IP address of
10.0.0.1and device IDxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. The example includes all the optional properties. At least one property must be specified.
Example of request
curl --request PATCH \
--url https://10.0.0.1/api/v1/room/devices/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
--header 'Authorization: Nureva <YOUR_GENERAL_AUTHPARAMETERS>' \
--header 'Nureva-Client-Id: integration_app_name' \
--header 'Nureva-Client-Version: 0.0.1' \
--header 'Content-Type: application/json' \
--data '{
"customName": "IP device B",
"modelName": "PTZ",
"ipAddress": "10.0.0.2",
"port": 80
}'- If the call is successful, an HTTP status code of 200 OK and the peripheral device ID will be returned.
Example of response
{
"deviceId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}Step 5 - Make a request to remove IP device configuration
To remove an IP device from a Nureva system, use the Delete device endpoint.
- Set the path with the IP address of the Nureva device followed by
/api/v1/room/devices/<deviceId>, wheredeviceIdis the ID of the peripheral. - Update the headers to include
Authorizationas key and the value beingNurevafollowed by theauthParametersreceived from the login endpoint using thegeneralaccount. - Update the headers to include
Nureva-Client-Idas key andintegration_app_nameas the value. - Update the headers to include
Nureva-Client-Versionas key and0.0.1as the value. - Send the DELETE request. The code sample below is a request to delete the IP device from the Nureva device with the IP address of
10.0.0.1and device IDxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
Example of request
curl --request DELETE \
--url https://10.0.0.1/api/v1/room/devices/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
--header 'Authorization: Nureva <YOUR_GENERAL_AUTHPARAMETERS>' \
--header 'Nureva-Client-Id: integration_app_name' \
--header 'Nureva-Client-Version: 0.0.1'- If the call is successful, an HTTP status code of 200 OK will be returned.
Tutorial complete!You now understand how to add, retrieve, configure, and remove IP devices.
Updated about 1 month ago
