Camera switcher
This tutorial provides a step-by-step guide to managing camera switcher in a Nureva® audio system using the available API.
Currently, full support is available only for the INOGENI® CAM230 camera switcher. Other camera switchers may have limited or unsupported functionality.
Supported devices
- HDL310, HDL410
- HDX
What can be controlled with the API?
- Add a camera switcher to a Nureva system
- Set (update) properties of a camera switcher
- Get information about configured camera switcher
- Remove a camera switcher 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 new camera switcher to Nureva system.
-
Use Get devices 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 peripheral from Nureva system.
Instructions
Step 1 - Make a request to register new peripheral to Nureva system
To add (register) a new camera switcher, 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
"deviceType": "camera-switcher"andcustomName(optional), network settings and access information. The code sample below is a request to add camera switcher for the Nureva device with the IP address of10.0.0.1.
Example of request
Using username and password
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": "camera-switcher",
"customName": "Camera switcher",
"ipOrHostname": "192.168.1.165",
"port": 443,
"username": "<YOUR_INOGENI_USER>",
"password": "<YOUR_INOGENI_PASSWORD>"
}'Using access token
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": "camera-switcher",
"customName": "Camera switcher",
"ipOrHostname": "192.168.1.165",
"port": 443,
"accessToken": "<YOUR_INOGENI_ACCESS_TOKEN>"
}'- 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"
}- You may also need to Configure the camera switcher.
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": "hdl410",
"deviceStatusColor": "green",
"hardwareComponents": [
{
"portNumber": 1,
"hardwareId": "AAFDE9C1E2E7",
"connectionStatus": "Connected",
"model": "Bar"
},
{
"portNumber": 2,
"hardwareId": "AAD7F5C1E2E7",
"connectionStatus": "Connected",
"model": "Bar"
}
]
},
{
"deviceType": "camera-switcher",
"customName": "Inogeni CAM230",
"deviceId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"currentStatus": true,
"ipOrHostname": "192.168.1.165",
"port": 443,
"enabled": true,
"model": "CAM230",
"activeCameraInput": null
}
]
}Step 3 - Make a request to get camera switcher configuration
To get the camera switcher 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 camera switcher configuration 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
{
"deviceType": "camera-switcher",
"customName": "Inogeni CAM230",
"deviceId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"currentStatus": true,
"ipOrHostname": "192.168.1.165",
"port": 443,
"enabled": true,
"model": "CAM230",
"activeCameraInput": null
}Step 4 - Make a request to update camera switcher configuration
To set (update) a camera switcher 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": "new name",
"ipOrHostname": "192.168.1.166",
"port": 443,
"enabled": true
}'- 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 camera switcher configuration
To remove a camera switcher from 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 camera switcher 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 camera switcher.
Updated about 1 month ago
