B-Deploy/Provisioning APIs

The B-Deploy service allows for automated provisioning of BrightSign players over the Internet. This page outlines how to develop an application and file server (FS) that will integrate with B-Deploy. 

Authentication

All B-Deploy calls require a valid authentication token. Authentication is carried out using the same OAUTH endpoint as other BSN.cloud services. See Step 8 on this page for more details.

Required Components

To integrate with the B-Deploy server, you will need to create two components:

  • Application: The application registers player serial numbers and Setup files with the B-Deploy server.

  • File Server: The HTTP file server hosts presentation packages for distribution to players. Each presentation package is a ZIP file named autorun.zip, which contains presentation files along with an autozip.brs boilerplate script (see this page for more information). In most cases, the boilerplate script will not need to be modified.

Workflow Overview

B-Deploy

  1. The user uploads one or more presentation packages to the file server (FS) and records the download URL for each package.

  2. The user creates a player Setup by posting a JSON payload containing Player Setup parameters to the B-Deploy server. The Player Setup contains the download URL for the presentation package.

  3. Via the B-Deploy API, the user registers player serial numbers that should be associated with the Player Setup.

PSS API Configuration.png

BrightSign Player

  1. The user inserts a blank storage device (e.g. a microSD card) into the player and powers it on.

  2. The player boots up and, lacking an autorun.brs or autorun.zip file on the storage device, launches on-screen Player Setup. The user must avoid activating the player using the Activation screen (or setting up the player with the Player Setup screen). These actions may prevent automated provisioning.

  3. When on-screen Player Setup times out, the player queries the B-Deploy server (unless the local network infrastructure is configured for provisioning via DHCP Option 43).

  4. The B-Deploy server responds with a provisioning script URL if the player serial number in the request matches a serial number in the database. If the B-Deploy server does not recognize the serial number, it will return status code 204.

  5. The player reboots, downloads the provisioning script, and runs it. The provisioning script directs the player to download the Player Setup package from B-Deploy.

  6. The player reboots and runs Player Setup, which sets the recovery URL to a handler on B-Deploy.

  7. The player reboots, downloads a recovery script from the recovery URL, and runs it. The recovery script instructs the player to download the presentation package from the file server.

  8. The player reboots and runs the presentation.

VLAN Network Setup via B-Deploy

Using B-Deploy with VLAN(s) has a few components to consider while configuring the network controller and the B-Deploy Setup Package. In order to download and apply a Setup package from B-Deploy on your player, an internet connection must first be connected without any manual Setup needed. This internet connection could be established through various methods; either through a physical ethernet connection (or BrightSign USB-C Ethernet adapter) possibly using DHCP to avoid a manual configuration needed; or WiFi configured through the player's On-Device Setup WiFi Access Point Mode (see url.com); or connecting a BrightSign Mobile cellular modem. Keep in mind that the Setup package may configure this current network interface by adjusting, removing, or leaving it as is once the B-Deploy Setup Package has been applied. 

If the Setup package download has VLANs configured, your network controller interface must be configured to maintain internet connectivity. For example, if you download a Setup package via ethernet that prioritizes Wifi, and Wifi is expected to have an internet connection, the network controller must have Wifi configured with an internet connection. Then, although ethernet was used to download the Setup package, Wifi will be the only interface used for network traffic since it is a higher priority. The same is true for BrightSign Mobile and USB ethernet interfaces that are downloaded via ethernet.

If the Setup package does change the current configuration of the physical ethernet, the ethernet port in the network controller must support the VLAN configuration in the Setup package. If the current settings use ethernet to download the Setup package, then the network controller must allow the default/native VLAN (untagged) connectivity to support tagged VLANs.