---
title: Puntos finales del dispositivo B-Deploy (v2)
slug: develop/es/puntos-finales-del-dispositivo-b-deploy-v2
docTags: 
createdAt: 2025-03-11T07:03:28.938Z
---

Estos endpoints permiten a los usuarios aprovisionar automáticamente reproductores BrightSign a través de internet. Este endpoint gestiona todo lo relacionado con los reproductores *individuales* si agrega su número de serie al almacenamiento en la nube de BrightSign con un nombre de reproductor asociado, nombre del paquete de aprovisionamiento y la URL donde se aloja el paquete de aprovisionamiento. La URL es opcional; puede dejarse en blanco si se utiliza un paquete de configuración.

URL base para estos endpoints:  ***https\://provision.bsn.cloud/rest-device/v2/device/***

***

# GET 

Recupera una colección de registros de aprovisionamiento que pertenecen a su red en B-Deploy

**Parámetros de URL**

- `query[NetworkName]` <font color="#704ae0">string</font> <font color="#01a0af">required</font>: El nombre de red de BSN.Cloud/BSN.com
- `sort[serial]` <font color="#704ae0">byte</font> <font color="#01a0af">optional</font>: Una marca que define si la lista devuelta debe ordenarse por el número de serie del reproductor
- `page[pageNum]` <font color="#704ae0">number</font> <font color="#01a0af">optional</font>: Un índice de una página en la lista paginada para recuperar
- `page[pageSize]` <font color="#704ae0">number</font> <font color="#01a0af">optional</font>: El número máximo de registros de aprovisionamiento en una página de la lista paginada

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud** ****

- `query[NetworkName]` está configurado en `JaneDoeNetwork`
- `sort[serial]` está configurado en `1`
- `page[pageNum]` está configurado en `1`
- `page[pageSize]` está configurado en `20`

```text
GET /rest-device/v2/device/?query%5BNetworkName%5D=JaneDoeNetwork&sort%5Bserial%5D=1&page%5BpageNum%5D=1&page%5BpageSize%5D=20 HTTP/1.1
Host: provision.bsn.cloud
Connection: Keep-Alive
Authorization: {{Bearer Token}}
Accept: application/json
Accept-Encoding: gzip,deflate
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la respuesta exitosa**

<font color="#089a4d">200</font>: Devuelve una lista paginada de [Entidad de registro de provisión (v2)](docId\:Io15aj04PAwo_NgKtB2Qq)&#x20;

**Ejemplo de respuesta**

```json
{
   "error": null,
   "result":    {
      "total": 1,
      "matched": 1,
      "players":       [
                  {
            "_id": "1a2b3c4d5e6f7a8b9c0d1e2f",
            "client": "baconnected",
            "NetworkName": "JaneDoeNetwork",
            "username": "JaneDoe@brightsign.biz",
            "serial": "123456789012",
            "name": "My Player",
            "model": "XC4055",
            "desc": "Brand New Player",
            "setupName": "My Setup Package",
            "createdAt": "2024-08-25T13:38:00.042Z",
            "updatedAt": "2024-08-25T13:38:00.042Z",
            "__v": 0
         }
      ],
      "priv": "user"
   }
}
```

**Respuesta de error**

<font color="#9a0808">400</font>: La solicitud está mal formada y, por lo tanto, no es válida

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque es válido, no proporciona acceso a este método.

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

# GET  /?\_id=\{string}

Recupera un registro de aprovisionamiento de B-Deploy que tiene el ID especificado.

**Parámetro de cadena de consulta**

- `_id` <font color="#704ae0">string</font> <font color="#01a0af">required</font>: El identificador único del registro de aprovisionamiento que se va a recuperar. Si este parámetro no se incluye en la URL, la solicitud GET devolverá todos los registros de aprovisionamiento asociados con la cuenta

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud** ****

- `_id` está establecido en `1a2b3c4d5e6f7a8b9c0d1e2f`

```none
GET /rest-device/v2/device/?_id=1a2b3c4d5e6f7a8b9c0d1e2f HTTP/1.1
Host: provision.bsn.cloud
Connection: Keep-Alive
Authorization: {{Bearer Token}}
Accept: application/json
Accept-Encoding: gzip,deflate
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la respuesta exitosa**

<font color="#0F766E">200</font>: Devuelve la entidad especificada [Entidad de registro de provisión (v2)](docId\:Io15aj04PAwo_NgKtB2Qq)&#x20;

**Ejemplo de respuesta**

```json
{
   "error": null,
   "result":    {
      "_id": "1a2b3c4d5e6f7a8b9c0d1e2f",
      "client": "baconnected",
      "NetworkName": "JaneDoeNetwork",
      "username": "JaneDoe@brightsign.biz",
      "serial": "ABCD00000001",
      "name": "ProvisionTest",
      "model": "XC4055",
      "desc": "Brand New Player",
      "setupName": "My Setup Package",
      "createdAt": "2024-08-25T13:38:00.042Z",
      "updatedAt": "2024-08-25T13:38:00.042Z",
      "__v": 0
   }
}
```

**Respuesta de error**

<font color="#B91C1C">400</font>: La solicitud tiene un formato incorrecto y, por lo tanto, no es válida

<font color="#B91C1C">401</font>: El token de acceso no es válido o no se especificó

<font color="#B91C1C">403</font>: El token de acceso proporcionado, aunque es válido, no proporciona acceso a este método.

<font color="#B91C1C">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<font color="#B91C1C">5XX</font>: Cualquier código 500 es un error interno del servidor

# GET  /?serial=\{string}

Recupera un registro de aprovisionamiento de B-Deploy creado para un reproductor que tiene el número de serie especificado.

**Parámetro de cadena de consulta**

- `serie` <font color="#704ae0">string </font><font color="#01a0af">required</font>: El número de serie de un reproductor que está especificado por un registro de aprovisionamiento. Si este parámetro no se incluye en la URL, la solicitud GET devolverá todos los registros de aprovisionamiento asociados con la cuenta

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud** ****

- `serie` está establecido en `ABCD00000001`

```none
GET /rest-device/v2/device/?serial=ABCD00000001 HTTP/1.1
Host: provision.bsn.cloud
Connection: Keep-Alive
Authorization: {{Bearer Token}}
Accept: application/json
Accept-Encoding: gzip,deflate
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la respuesta exitosa**

<font color="#0F766E">200</font>: Devuelve la entidad especificada [Entidad de registro de provisión (v2)](docId\:Io15aj04PAwo_NgKtB2Qq)&#x20;

**Ejemplo de respuesta**

```json
{
   "error": null,
   "result":    {
      "total": 1,
      "matched": 1,
      "players":       [
                  {
            "_id": "1a2b3c4d5e6f7a8b9c0d1e2f",
            "client": "baconnected",
            "NetworkName": "JaneDoeNetwork",
            "username": "JaneDoe@brightsign.biz",
            "serial": "ABCD00000001",
            "name": "ProvisionTest",
            "model": "XC4055",
            "desc": "Brand New Player",
            "setupName": "My Setup Package",
            "createdAt": "2024-08-25T13:38:00.042Z",
            "updatedAt": "2024-08-25T13:38:00.042Z",
            "__v": 0
         }
      ],
      "priv": "user"
   }
}
```

**Respuesta de error**

<font color="#B91C1C">400</font>: La solicitud tiene un formato incorrecto y, por lo tanto, es inválida

<font color="#B91C1C">401</font>: El token de acceso es inválido o no se especificó

<font color="#B91C1C">403</font>: El token de acceso proporcionado, aunque es válido, no proporciona acceso a este método.

<font color="#B91C1C">5XX</font>: Cualquier código 500 es un error interno del servidor

# POST 

Crea un registro de aprovisionamiento para un reproductor específico y hace referencia a un paquete de configuración almacenado en B-Deploy o proporcionado por un servicio externo.

**Cuerpo de la solicitud**

- `nombre de usuario` <font color="#704ae0">string </font><font color="#01a0af">required</font>: El inicio de sesión de la persona que posee el registro. Tenga en cuenta que la persona puede o no estar registrada en BSN.Cloud.
- `serie` <font color="#704ae0">string </font><font color="#01a0af">required</font>: El número de serie del reproductor representado por el registro de aprovisionamiento
- `nombre` <font color="#704ae0">string </font><font color="#01a0af">optional</font>: El nombre que obtendrá el reproductor de destino como resultado del aprovisionamiento. Cuando se especifica, reemplaza los valores especificados en el paquete de configuración referenciado.
- `NetworkName` <font color="#704ae0">string </font><font color="#01a0af">required</font>: El nombre de la red en la que se debe aprovisionar el reproductor especificado
- `modelo` <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: El modelo del reproductor que tiene el número de serie especificado
- `descripción` <font color="#704ae0">string </font><font color="#01a0af">optional</font>:  La descripción que obtendrá el reproductor de destino como resultado del aprovisionamiento. Cuando se especifica, reemplaza los valores especificados en el paquete de configuración referenciado.
- `setupId` <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: El identificador único del paquete de configuración almacenado en B-Deploy y administrado mediante la API de PSS documentada en [B-Deploy Configurar puntos finales (v2)](docId:16wcFdGso_W2Nr1-i3iQt)&#x20;
- `setupName` <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: El nombre descriptivo de un paquete de configuración almacenado en B-Deploy y administrado mediante la API de PSS documentada en [B-Deploy Configurar puntos finales (v2)](docId:16wcFdGso_W2Nr1-i3iQt)&#x20;
- `url` <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: La URL desde la cual el reproductor descargará su presentación como parte del paso final de aprovisionamiento
- `userdata` <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: Le permite proporcionar atributos adicionales a un paquete de configuración personalizado

**Ejemplo de solicitud** ****

```text
POST /rest-device/v2/device HTTP/1.1
Host: provision.bsn.cloud
Content-Type: application/json
Authorization: {{Bearer Token}}
Accept: application/json
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 252
```

Este es un ejemplo de cuerpo de solicitud con un `setupId` y `setupName`:

```json
{
  "username": "JaneDoe@brightsign.biz",
  "serial": "ABCD00000001",
  "name": "ProvisionTest",
  "NetworkName": "Test",
  "model": "XC4055",
  "desc": "Jane's player",
  "setupId": "f2e1d0c9b8a7f6e5d4c3b2a1",
  "setupName": "My Setup Package",
  "userdata": ""
}
```

Este es un ejemplo de cuerpo de solicitud con una `url`:

```json
{
  "username": "JaneDoe@brightsign.biz",
  "serial": "ABCD00000001",
  "name": null,
  "NetworkName": "Test",
  "model": "XC4055",
  "desc": "Jane's player",
  "userdata": "key=value",
  "url": "https://provisiondemo.brightsignnetwork.com/autorun.zip"
}
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta satisfactoria**

<font color="#089a4d">201</font>: Devuelve el identificador único de un registro de aprovisionamiento creado en B-Deploy y agregado a su red

**Respuesta de error**

<font color="#9a0808">400</font>: La solicitud está mal formada y, por lo tanto, no es válida

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque es válido, no proporciona acceso a este método 

<font color="#9a0808">415</font>: El servidor no puede aceptar la representación de datos que usted envió (según se especifica en el encabezado)

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

# PUT  /?\_id=\{string}

Modifica un registro de aprovisionamiento de un reproductor especificado en B-Deploy

**Cuerpo de la solicitud**

- `_id` <font color="#704ae0">string</font><font color="#01a0af"> requerido</font>: El identificador único (un número hexadecimal de 24 dígitos) del objeto del dispositivo
- `nombre de usuario` <font color="#704ae0">string </font><font color="#01a0af">requerido</font>: El inicio de sesión de la persona propietaria del registro. Tenga en cuenta que la persona puede o no estar registrada en BSN.Cloud.
- `serie` <font color="#704ae0">string </font><font color="#01a0af">requerido</font>: El número de serie del reproductor representado por el registro de aprovisionamiento&#x20;
- `nombre` <font color="#704ae0">string </font><font color="#01a0af">opcional</font>: El nombre que obtendrá el reproductor de destino como resultado del aprovisionamiento. Cuando se especifica, reemplaza los valores especificados en el paquete de configuración referenciado.
- `NetworkName` <font color="#704ae0">string </font><font color="#01a0af">requerido</font>: El nombre de la red a la que se debe aprovisionar el reproductor especificado
- `modelo` <font color="#704ae0">string</font> <font color="#01a0af">opcional</font>: El modelo del reproductor que tiene el `serie`
- `descripción` <font color="#704ae0">string </font><font color="#01a0af">opcional</font>: La descripción que obtendrá el reproductor de destino como resultado del aprovisionamiento. Cuando se especifica, reemplaza los valores especificados en el paquete de configuración referenciado.
- `setupId` <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: El identificador único del paquete de configuración almacenado en B-Deploy y administrado mediante la PSS API documentada en [esta página](docId:16wcFdGso_W2Nr1-i3iQt).&#x20;
- `setupName` <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: El nombre descriptivo de un paquete de configuración almacenado en B-Deploy y administrado mediante la PSS API documentada en [esta página](docId:16wcFdGso_W2Nr1-i3iQt).
- `url` <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: Hace referencia al paquete de configuración o controlador proporcionado por servicios externos, como aplicaciones de socios.
- `userdata` <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: Una propiedad opcional que le permite proporcionar atributos adicionales a un paquete de configuración personalizado

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud** **Ejemplo**

Este método requiere un valor de propiedad `url` con un formato de valor URL absoluto o un par de valores de propiedad `setupId` y `setupName`.

```text
PUT /rest-device/v2/device/ HTTP/1.1
Host: provision.bsn.cloud
Content-Type: application/json
Authorization: {{Bearer Token}}
Accept: application/json
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 283
```

Este es el cuerpo de solicitud de ejemplo para `url`:

```json
{
  "_id": "1a2b3c4d5e6f7a8b9c0d1e2f",
  "username": "JaneDoe@brightsign.biz",
  "serial": "ABCD00000001",
  "name": "ProvisionTest",
  "NetworkName": "Test",
  "model": "XC4055",
  "desc": "Jane's player",
  "url": "https://www.janeplayers.com/setups/autorun.zip",
  "userdata": "key=value"
}
```

Este es el cuerpo de solicitud de ejemplo para `setupId` y `setupName`:

```json
{
  "_id": "1a2b3c4d5e6f7a8b9c0d1e2f",
  "username": "JaneDoe@brightsign.biz",
  "serial": "ABCD00000001",
  "name": "ProvisionTest",
  "NetworkName": "Test",
  "model": "XC4055",
  "desc": "Jane's player",
  "setupId": "f2e1d0c9b8a7f6e5d4c3b2a1",
  "setupName": "My Setup Package",
  "userdata": ""
}
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta exitosa**

<font color="#089a4d">200</font>: Las propiedades del registro de aprovisionamiento existente se han actualizado.

**Respuesta de error**

<font color="#9a0808">400</font>: Tanto la solicitud como el cuerpo de la solicitud tienen un formato incorrecto y, por lo tanto, no son válidos

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque es válido, no proporciona acceso a este método&#x20;

<font color="#9a0808">415</font>: El servidor no puede aceptar la representación de datos que usted envió (según se especifica en el encabezado)

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

# DELETE  /?\_id=\{string}

Elimina un registro de aprovisionamiento que tenga el ID especificado en B-Deploy

**Parámetro de Query String**

- `_id` <font color="#704ae0">string</font> <font color="#01a0af">required</font>: El identificador del registro de la base de datos del reproductor

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud** **Ejemplo**

- `_id` se establece en `1a2b3c4d5e6f7a8b9c0d1e2f`

```text
DELETE /rest-device/v2/device/?_id=1a2b3c4d5e6f7a8b9c0d1e2f HTTP/1.1
Host: provision.bsn.cloud
Content-Type: application/json
Authorization: {{Bearer Token}}
Accept: application/json
Accept-Encoding: gzip,deflate
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta satisfactoria**

<font color="#089a4d">200</font>: El registro de aprovisionamiento especificado se ha eliminado

**Respuesta de error**

<font color="#9a0808">400</font>: La solicitud tiene un formato incorrecto y, por lo tanto, no es válida

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método 

<font color="#B91C1C">404</font>: No existe un registro de aprovisionamiento con el ID especificado

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor



# DELETE  /?serial=\{string}

Elimina un registro de aprovisionamiento relacionado con un reproductor que tiene el número de serie especificado en B-Deploy

**Parámetro de cadena de consulta**

- `serie` <font color="#704ae0">string</font> <font color="#01a0af">required</font>: El número de serie del reproductor

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud** **Ejemplo**

- `serie` se establece en `ABCD00000001`

```text
DELETE /rest-device/v2/device/?serial=ABCD00000001 HTTP/1.1
Host: provision.bsn.cloud
Content-Type: application/json
Authorization: {{Bearer Token}}
Accept: application/json
Accept-Encoding: gzip,deflate
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta satisfactoria**

<font color="#089a4d">200</font>: El registro de aprovisionamiento especificado se ha eliminado

**Respuesta de error**

<font color="#9a0808">400</font>: La solicitud tiene un formato incorrecto y, por lo tanto, no es válida

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método 

<font color="#B91C1C">404</font>: No existe un registro de aprovisionamiento con el número de serie especificado

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor



# DELETE  /ids/\{array}

Elimina una colección de registros de aprovisionamiento que tienen los identificadores especificados en B-Deploy

**Segmento**

`matriz` <font color="#704ae0">string[]</font>

Una matriz de identificadores de registros de aprovisionamiento

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud** **Ejemplo**

- `matriz` se establece en ` ["1a2b3c4d5e6f7a8b9c0d1e2f"]`

```text
DELETE /rest-device/v2/device/ids/["1a2b3c4d5e6f7a8b9c0d1e2f"] HTTP/1.1
Host: provision.bsn.cloud
Connection: Keep-Alive
Authorization: {{Bearer Token}}
Accept: application/json
Accept-Encoding: gzip,deflate
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta correcta**

<font color="#089a4d">200</font>: La solicitud se ejecuta correctamente y la indicación de qué registros se han eliminado está en la carga útil de la respuesta.&#x20;

**Ejemplo de respuesta**

```json
{
   "error": null,
   "result":    {
      "deletedCount": 1,
      "deletedIds": ["1a2b3c4d5e6f7a8b9c0d1e2f"],
      "failedIds": [],
      "message": "All players were deleted successfully"
   }
}
```

**Respuesta de error**

<font color="#9a0808">400</font>: La solicitud tiene un formato incorrecto y, por lo tanto, no es válida

<font color="#9a0808">401</font>: El token de acceso no es válido o no se ha especificado

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque es válido, no proporciona acceso a este método 

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor
