---
title: Endpoints de diagnóstico de rDWS
slug: develop/es/endpoints-de-diagnostico-de-rdws
docTags: 
createdAt: 2025-03-11T07:03:32.132Z
---

URL base para estos endpoints:  ***https\://ws.bsn.cloud/rest/v1/***

*\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_*

## GET /diagnostics/ 

Ejecuta diagnósticos de red en el reproductor

**Ejemplo de solicitud**

```text
GET /rest/v1/diagnostics/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
```

**Cuerpo de la respuesta**

Para cada uno de `ethernet`, `wifi`, `módem`, e `internet`:

- `diagnóstico` <font color="#704ae0">string</font>: Indica si este tipo de interfaz está presente
- `registro` <font color="#704ae0">object[ ]</font>: Esto contiene los resultados de diagnóstico para la interfaz:
  - `nombre` <font color="#704ae0">string</font>: El nombre de la prueba de diagnóstico
  - `aprobar` <font color="#704ae0">bool</font>: Indica si la prueba pasó o no
  - `resultado` <font color="#704ae0">string</font>: El valor real para las pruebas de diagnóstico, como verificar el tipo y el ping.
- `vale` <font color="#704ae0">bool</font>: Si los diagnósticos se ejecutaron en la interfaz o no.

**Ejemplo de respuesta**

```json
{
    "route": "/v1/diagnostics",
    "method": "GET",
    "data": {
        "result": {
            "ethernet": {
                "diagnosis": "OK",
                "log": [
                    {
                        "name": "Checking model networking support",
                        "pass": true,
                        "result": ""
                    },
                    {
                        "name": "Checking for Ethernet interface",
                        "pass": true,
                        "result": ""
                    },
                    {
                        "name": "Checking interface type",
                        "pass": true,
                        "result": "Ethernet"
                    },
                    {
                        "name": "Checking Ethernet link",
                        "pass": true,
                        "result": ""
                    },
                    {
                        "name": "Checking Ethernet IP address",
                        "pass": true,
                        "result": ""
                    },
                    {
                        "name": "Checking Ethernet netmask",
                        "pass": true,
                        "result": ""
                    },
                    {
                        "name": "Checking Ethernet gateway",
                        "pass": true,
                        "result": "PING 10/10: 1375/1537/1623us"
                    }
                ],
                "ok": true
            },
            "wifi": {
                "diagnosis": "WiFi interface not present",
                "log": [
                    {
                        "name": "Checking model networking support",
                        "pass": true,
                        "result": ""
                    },
                    {
                        "name": "Checking for WiFi interface",
                        "pass": false,
                        "result": "WiFi interface not present"
                    }
                ],
                "ok": false
            },
            "modem": {
                "diagnosis": "Modem interface not present",
                "log": [
                    {
                        "name": "Checking model networking support",
                        "pass": true,
                        "result": ""
                    },
                    {
                        "name": "Checking for Modem interface",
                        "pass": false,
                        "result": "Modem interface not present"
                    }
                ],
                "ok": false
            },
            "internet": {
                "diagnosis": "OK",
                "log": [
                    {
                        "info": [
                            "DNS server 2600:1700:dac0:2060::1 is not a valid IPv4 address"
                        ],
                        "name": "Checking DNS servers",
                        "pass": true,
                        "result": "At least one DNS server is valid"
                    },
                    {
                        "info": [
                            "DNS pass/fail/timeout/mismatch UDP: 50/0/0/0 TCP 50/0/0/0"
                        ],
                        "name": "Checking DNS server (cached)",
                        "pass": true,
                        "result": "DNS servers responded to 100% of potentially cached requests"
                    },
                    {
                        "info": [
                            "DNS pass/fail/timeout/mismatch UDP: 5/0/0/0 TCP 5/0/0/0"
                        ],
                        "name": "Checking DNS server (hopefully not cached)",
                        "pass": true,
                        "result": "DNS servers responded to 100% of hopefully uncached requests"
                    },
                    {
                        "name": "Checking Internet connectivity",
                        "pass": true,
                        "result": "PING 10/10: 87398/87760/88247us"
                    },
                    {
                        "name": "Checking HTTP",
                        "pass": true,
                        "result": "External IP is 76.218.104.224"
                    },
                    {
                        "name": "Checking time server",
                        "pass": true,
                        "result": ""
                    }
                ],
                "ok": true
            }
        }
    }
}
```

## GET /diagnostics/dns-lookup/\{:domain\_name}/ 

Prueba la resolución de nombres en la dirección DNS especificada

**Segmento**

- `domain_name`: La dirección DNS (por ejemplo, google.com)

**Ejemplo de solicitud**

```text
GET /rest/v1/diagnostics/dns-lookup/google.com/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
```

**Cuerpo de la respuesta**

El reproductor consulta cada campo DNS por separado y luego recopila los datos devueltos en el objeto *registros* y los errores devueltos en el objeto *listaDeErrores* . Se consultan los siguientes campos DNS: "ipv4", "ipv6", "cname", "mx", "service", "text".

- `registros` <font color="#704ae0">object:</font>
  - `ipv4` <font color="#704ae0">string[ ]</font>: Direcciones IPv4
  - `ipv6` <font color="#704ae0">string[ ]</font>: Direcciones IPv6
  - `texto` <font color="#704ae0">string[ ]</font>: Registros de texto
  - `mx` <font color="#704ae0">object[ ]</font>: Registros de intercambio de correo
    - `intercambio` <font color="#704ae0">string</font>
    - `prioridad` <font color="#704ae0">int</font>
- `server_test` <font color="#704ae0">object</font>
  - `tcp` <font color="#704ae0">object</font>
    - `hecho` <font color="#704ae0">int</font>:  El número total de solicitudes DNS realizadas
    - `aprobar` <font color="#704ae0">int</font>: El número total de solicitudes aprobadas
    - `fracaso` <font color="#704ae0">int</font>: El número total de solicitudes fallidas.
    - `tiempo de espera` <font color="#704ae0">int</font>: El número total de solicitudes que agotaron el tiempo de espera.
    - `desajuste` <font color="#704ae0">int</font>: El número total de solicitudes no coincidentes entre los registros de host y puntero
  - `udp` <font color="#704ae0">object</font>
    - `hecho` <font color="#704ae0">int</font>: El número total de solicitudes DNS realizadas
    - `aprobar` <font color="#704ae0">int</font>: El número total de solicitudes aprobadas
    - `fracaso` <font color="#704ae0">int</font>: El número total de solicitudes fallidas.
    - `tiempo de espera` <font color="#704ae0">int</font>: El número total de solicitudes que agotaron el tiempo de espera.
    - `desajuste` <font color="#704ae0">int</font>: El número total de solicitudes no coincidentes entre los registros de host y puntero
- `listaDeErrores` <font color="#704ae0">object[ ]</font>
  - `campo` <font color="#704ae0">string</font>: El campo ('ipv4', 'ipv6', 'cname', 'mx',  'service' o 'text') del que provino el error
  - `err` <font color="#704ae0">object</font>:
    - `errno` <font color="#704ae0">string</font>: Número de error (normalmente el mismo valor que code)
    - `código` <font color="#704ae0">string</font>: Número de código de error (consulte [DNS | Documentación de Node.js v14.21.3](https://nodejs.org/docs/latest-v14.x/api/dns.html#dns_error_codes))
    - `llamada al sistema` <font color="#704ae0">string</font>: Información sobre la pila de llamadas del sistema
    - `nombre de host` <font color="#704ae0">string</font>: El valor pasado en la URL

**Ejemplo de respuesta**

```json
{
    "route": "/v1/diagnostics/dns-lookup/google.com",
    "method": "GET",
    "data": {
        "result": {
            "records": {
                "ipv4": [
                    "142.250.105.113",
                    "142.250.105.102",
                    "142.250.105.139",
                    "142.250.105.101",
                    "142.250.105.138",
                    "142.250.105.100"
                ],
                "ipv6": [
                    "2607:f8b0:4002:c0c::8a",
                    "2607:f8b0:4002:c0c::8b",
                    "2607:f8b0:4002:c0c::71",
                    "2607:f8b0:4002:c0c::64"
                ],
                "mx": [
                    {
                        "exchange": "smtp.google.com",
                        "priority": 10
                    }
                ]
            },
            "server_test": {
                "tcp": {
                    "made": 100,
                    "pass": 100,
                    "fail": 0,
                    "timeout": 0,
                    "mismatch": 0
                },
                "udp": {
                    "made": 100,
                    "pass": 100,
                    "fail": 0,
                    "timeout": 0,
                    "mismatch": 0
                }
            },
            "errorList": [
                {
                    "field": "cname",
                    "err": {
                        "code": "ENODATA",
                        "syscall": "queryCname",
                        "hostname": "google.com"
                    }
                },
                {
                    "field": "service",
                    "err": {
                        "code": "ENODATA",
                        "syscall": "querySrv",
                        "hostname": "google.com"
                    }
                },
                {
                    "field": "text",
                    "err": {
                        "code": "ETIMEOUT",
                        "syscall": "queryTxt",
                        "hostname": "google.com"
                    }
                }
            ]
        }
    }
}
```

## GET /diagnostics/ping/\{:domain\_name}/ 

Solicita al reproductor que haga ping a la dirección IP o DNS especificada en su red local. Esta llamada puede tardar más de 10 segundos en devolver una respuesta.

**Segmento**

- `domain_name`: La dirección IP o DNS especificada

**Ejemplo de solicitud**

```text
GET /rest/v1/diagnostics/ping/0.0.0.0/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
```

**Cuerpo de la respuesta**

- `éxito` <font color="#704ae0">bool</font>: Un indicador que indica si la operación se realizó correctamente o no
- `respuesta` <font color="#704ae0">object</font>:
  - `nombre de host` <font color="#704ae0">string</font>: El valor que usted pasó en la URL
  - `resultados` <font color="#704ae0">object</font>:
    - `ipv4` <font color="#704ae0">object[ ]</font>:
      - `dirección` <font color="#704ae0">string</font>: La dirección IPv4 a la que se hace ping
      - `resultados` <font color="#704ae0">object</font>:
        - `recibido` <font color="#704ae0">int</font>: La cantidad de paquetes recibidos
        - `estadísticas` <font color="#704ae0">object</font>
          - `promedio` <font color="#704ae0">int</font>: El tiempo promedio para que el paquete regrese
          - `el más rápido` <font color="#704ae0">int</font>: El tiempo más rápido para que el paquete regrese
          - `más lento` <font color="#704ae0">int</font>: El tiempo más lento para que el paquete regrese
          - `unidades` <font color="#704ae0">int</font>: Las unidades de tiempo (normalmente microsegundos)
          - `transmitido` <font color="#704ae0">int</font>: La cantidad de paquetes transmitidos
    - `ipv6` <font color="#704ae0">object[ ]</font>: Esto solo se devolverá si IPv6 está presente.
      - `interfaz` <font color="#704ae0">string</font>
      - `fuente` <font color="#704ae0">string</font>
      - `dirección` <font color="#704ae0">string</font>: La dirección IPv6 a la que se hace ping
      - `resultados` <font color="#704ae0">object</font>
        - `recibido` <font color="#704ae0">int</font>: La cantidad de paquetes recibidos
        - `transmitido` <font color="#704ae0">int</font>: La cantidad de paquetes transmitidos

:::hint{type="info"}
La entrada `ipv6` solo se devolverá si IPv6 está presente.
:::

**Ejemplo de respuesta**

```json
{
    "route": "/v1/diagnostics/ping/0.0.0.0",
    "method": "GET",
    "data": {
        "result": {
            "success": true,
            "response": {
                "hostname": "0.0.0.0",
                "results": {
                    "ipv4": [
                        {
                            "address": "0.0.0.0",
                            "results": {
                                "received": 10,
                                "stats": {
                                    "average": 318,
                                    "quickest": 223,
                                    "slowest": 336,
                                    "units": "us"
                                },
                                "transmitted": 10
                            },
                            "up": true
                        }
                    ]
                },
                "up": true
            }
        }
    }
}
```

## GET /diagnostics/trace-route/\{:domain\_name}/ 

Solicita al reproductor que realice un diagnóstico estándar de trace-route en la dirección IP o DNS especificada. Esta llamada puede tardar varios minutos en devolver una respuesta.

**Segmento**

- `domain_name`: La dirección IP o DNS especificada

**Parámetro de cadena de consulta**

- `resolverDirección` <font color="#704ae0">bool</font>: Especifica si la dirección IP o DNS debe resolverse o no

**Ejemplo de solicitud**

```text
GET /rest/v1/diagnostics/trace-route/google.com/?resolveAddress=true&destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
```

**Cuerpo de la respuesta**

- `dirección` <font color="#704ae0">string</font>: La dirección IP en la que está ejecutando la ruta de rastreo
- `resultados` <font color="#704ae0">object</font>:
  - `salida` <font color="#704ae0">string[ ]</font>: Devuelve la información de salida de la ruta de rastreo en formato de texto
  - `protocolo` <font color="#704ae0">string</font>: El protocolo IP, por ejemplo, "ipv4"
  - `ruta` <font color="#704ae0">object[ ]</font>:
    - `salto` <font color="#704ae0">int</font>: Cuántas veces los datos se mueven de un router al siguiente 
    - `servidores` <font color="#704ae0">object</font>:
      - `dirección` <font color="#704ae0">string</font>: La dirección a la que se realiza la solicitud de ruta de rastreo
      - `nombre de host` <font color="#704ae0">string</font>: El nombre de host del servidor
      - `estadísticas` <font color="#704ae0">object</font>
        - `alcanzable` <font color="#704ae0">string</font>
        - `tiempo` <font color="#704ae0">string</font>: El tiempo requerido para que la solicitud de ruta de rastreo regrese
        - `unidades` <font color="#704ae0">string</font>: Las unidades de tiempo (generalmente en milisegundos)
**Ejemplo de respuesta**
```json
{
    "route": "/v1/diagnostics/trace-route/152.101.32.76",
    "method": "GET",
    "data": {
        "result": {
            "address": "123.456.7.890",
            "resolveAddress": "true",
            "results": {
                "152.101.32.76": {
                    "output": [
                        "traceroute to 152.101.32.76 (152.101.32.76), 30 hops max, 46 byte packets",
                        " 1  10.0.4.1  0.744 ms  0.458 ms  1.740 ms",
                        " 2  192.168.0.1  1.738 ms  1.387 ms  1.387 ms",
                        " 3  96.120.89.217  10.553 ms  11.250 ms  11.961 ms",
                        " 4  96.110.176.145  11.958 ms  11.250 ms  9.845 ms",
                        " 5  162.151.78.253  11.957 ms  13.366 ms  10.549 ms",
                        " 6  96.108.99.249  13.366 ms  14.072 ms  20.414 ms",
                        " 7  68.86.143.93  13.368 ms  11.960 ms  10.549 ms",
                        " 8  96.97.98.246  32.397 ms  96.112.146.22  11.954 ms  69.241.75.42  9.841 ms",
                        " 9  *  *  *",
                        "10  152.101.32.76  10.452 ms  152.101.32.76  13.302 ms  152.101.32.76  12.649 ms",
                        "11  192.178.105.102  11.948 ms  142.251.224.181  11.073 ms  192.178.46.198  17.759 ms",
                        "12  142.251.32.46  11.955 ms  12.649 ms  10.543 ms"
                    ],
                    "protocol": "ipv4",
                    "result": 0,
                    "route": [
                        {
                            "error": "timeout",
                            "hop": 9
                        }
                    ]
                }
            }
        }
    }
}
```
## GET /diagnostics/network-configuration/\{:interface}/ 
Recupera información sobre la configuración de la interfaz de red en el reproductor

**Segmento**
- `interfaz`: La interfaz de red. Los nombres posibles incluyen `eth0`, `wlan0`, y `módem`.
**Ejemplo de solicitud**

```text
GET /rest/v1/diagnostics/network-configuration/eth0/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
```

**Cuerpo de la respuesta**

:::hint{type="info"}
Algunas entradas (p. ej., `caCertificates`, `identificadorDelCliente`) son idénticas para todas las interfaces.
:::

- `texto` <font color="#704ae0">string</font>: La información de configuración de red en formato de texto sin formato
- `salida` <font color="#704ae0">Output</font>: La información de configuración de red como un objeto JSON:
  - `interfaces` <font color="#704ae0">Interface[ ]</font>: Un arreglo de objetos Interface que representan interfaces de red:
    - `nombre` <font color="#704ae0">string</font>: El nombre de la interfaz (por ejemplo, `"eth0"`)
    - `errores`  <font color="#704ae0">Error[ ]</font>: Un arreglo de mensajes de error asociados con la interfaz
    - `params` <font color="#704ae0">Param[ ]</font>: Un arreglo de objetos Param que representan parámetros asociados con la interfaz de red. Cada interfaz Param tiene las siguientes entradas:
      - `nombre` <font color="#704ae0">string</font>: El nombre de la propiedad (p. ej. `"MAC"`)
      - `valor` <font color="#704ae0">string</font>: El valor de la propiedad (p. ej. `"90:ac:3f:0b:d2:88"`)
  - `anfitrión` <font color="#704ae0">Info[ ]</font>: Un arreglo de objetos Info que proporcionan información del host de red. Cada objeto puede tener las siguientes entradas:
    - `errores` <font color="#704ae0">Error[ ]</font>: Un arreglo de mensajes de error asociados con el host de red
    - `params` <font color="#704ae0">Param[ ]</font>: Un arreglo de objetos Param que representan parámetros asociados con el host de red 
  - `bsn` <font color="#704ae0">Info[ ]</font>: Un arreglo de objetos Info que proporcionan información sobre la comunicación BSN. 
  - `otro` <font color="#704ae0">Info[ ]</font>: Un arreglo de objetos Info que proporcionan información diversa de la red.
- `caCertificate` <font color="#704ae0">string</font>: El contenido de un archivo de certificado CA en formato de texto (es decir, un archivo "pem").
- `clientCertificate` <font color="#704ae0">bool</font>: Un indicador que señala si el reproductor está utilizando un certificado de cliente
- `identificadorDelCliente` <font color="#704ae0">string</font>: El identificador de cliente DHCP para la interfaz de red
- `dnsServerList` <font color="#704ae0">string[ ]</font>:  Una lista de direcciones IP de los servidores DNS
- `dominio` <font color="#704ae0">string</font>: El nombre de dominio para la interfaz de red
- `eapTlsOptions` <font color="#704ae0">string</font>: Una cadena que contiene opciones específicas de EAP
- `enabledProtocolList` <font color="#704ae0">string[ ]</font>: Una matriz de protocolos IP habilitados. Los valores compatibles actualmente son `"IPv4"` y "`IPv6"`.
- `identidad` <font color="#704ae0">string</font>: La identidad RADIUS
- `ipAddressList` <font color="#704ae0">string[ ]</font>: Las direcciones IP asignadas al reproductor
- `inboundShaperRate` <font color="#704ae0">int</font>: El límite de ancho de banda para el tráfico entrante en bits por segundo. Un valor de -1 especifica el límite de ancho de banda predeterminado y un valor de 0 especifica que no hay límite de ancho de banda (estas dos configuraciones son funcionalmente iguales).
- `métrica` <font color="#704ae0">int</font>: La métrica de enrutamiento para la puerta de enlace predeterminada en la interfaz. Las rutas con métricas más bajas tienen prioridad sobre las rutas con métricas más altas.
- `mtu` <font color="#704ae0">int</font>: La unidad máxima de transmisión (MTU) para la interfaz de red en bytes
- `privateKey` <font color="#704ae0">string</font>: La clave privada para la autenticación
- `vlanIdList` <font color="#704ae0">int[ ]</font>: Una matriz de IDs de VLAN compatibles con la interfaz de red principal
- `modo de seguridad` <font color="#704ae0">string</font>: Modo de seguridad para la autenticación

**Ejemplo de respuesta**

```json
{
  "route": "/v1/diagnostics/network-configuration/eth0",
  "method": "GET",
  "data": {
    "result": {
      "success": true,
      "response": [
        {
          "text": "\r\nInterface: eth0\r\nType: Wired\r\nLink: Yes\r\nConfiguration: DHCP\r\nClient ID: BrightSign:RE433D006644\r\nMAC: 90:ac:3f:2a:01:79\r\nCurrent IP: 192.168.1.174\r\nNetmask: 255.255.255.0\r\nBroadcast: 192.168.1.255\r\nGateway: 192.168.1.254\r\nIP6 Address: 2600:1700:dac0:2060::43/128\r\nIP6 Address: 2600:1700:dac0:2060:92ac:3fff:fe2a:179/64\r\nIP6 Address: fe80::92ac:3fff:fe2a:179/64\r\nMetric: 0\r\nDomains: attlocal.net\r\nDNS: 192.168.1.254\r\n 2600:1700:dac0:2060::1\r\nShape inbound: No\r\n\r\nHost \r\nHost Name: BrightSign-RE433D006644\r\nmDNS Host Name: BrightSign-RE433D006644.local\r\nTime server: http://time.brightsignnetwork.com\r\nProxy Bypass: <none>\r\n\r\nBSN \r\nCrash URL: https://crashes.brightsignnetwork.com/bs/crashdump\r\nError URL: https://handlers.bsn.cloud//bs/error.ashx\r\nRecovery URL: https://handlers.bsn.cloud//recovery/recovery.ashx\r\n\r\nOther \r\nHttp Port: \r\n\r\n\r\n",
          "output": {
            "interfaces": [
              {
                "name": "eth0",
                "errors": [],
                "params": [
                  {
                    "name": "Type",
                    "value": [
                      "Wired"
                    ]
                  },
                  {
                    "name": "Link",
                    "value": [
                      "Yes"
                    ]
                  },
                  {
                    "name": "Configuration",
                    "value": [
                      "DHCP"
                    ]
                  },
                  {
                    "name": "Client ID",
                    "value": [
                      "BrightSign:RE433D006644"
                    ]
                  },
                  {
                    "name": "MAC",
                    "value": [
                      "90:ac:3f:2a:01:79"
                    ]
                  },
                  {
                    "name": "Current IP",
                    "value": [
                      "192.168.1.174"
                    ]
                  },
                  {
                    "name": "Netmask",
                    "value": [
                      "255.255.255.0"
                    ]
                  },
                  {
                    "name": "Broadcast",
                    "value": [
                      "192.168.1.255"
                    ]
                  },
                  {
                    "name": "Gateway",
                    "value": [
                      "192.168.1.254"
                    ]
                  },
                  {
                    "name": "IP6 Address",
                    "value": [
                      "2600:1700:dac0:2060::43/128"
                    ]
                  },
                  {
                    "name": "IP6 Address",
                    "value": [
                      "2600:1700:dac0:2060:92ac:3fff:fe2a:179/64"
                    ]
                  },
                  {
                    "name": "IP6 Address",
                    "value": [
                      "fe80::92ac:3fff:fe2a:179/64"
                    ]
                  },
                  {
                    "name": "Metric",
                    "value": [
                      "0"
                    ]
                  },
                  {
                    "name": "Domains",
                    "value": [
                      "attlocal.net"
                    ]
                  },
                  {
                    "name": "DNS",
                    "value": [
                      "192.168.1.254",
                      "2600:1700:dac0:2060::1"
                    ]
                  },
                  {
                    "name": "Shape inbound",
                    "value": [
                      "No"
                    ]
                  }
                ]
              }
            ],
            "Host": [
              {
                "errors": [],
                "params": [
                  {
                    "name": "Host Name",
                    "value": [
                      "BrightSign-RE433D006644"
                    ]
                  },
                  {
                    "name": "mDNS Host Name",
                    "value": [
                      "BrightSign-RE433D006644.local"
                    ]
                  },
                  {
                    "name": "Time server",
                    "value": [
                      "http://time.brightsignnetwork.com"
                    ]
                  },
                  {
                    "name": "Proxy Bypass",
                    "value": [
                      "<none>"
                    ]
                  }
                ]
              }
            ],
            "BSN": [
              {
                "errors": [],
                "params": [
                  {
                    "name": "Crash URL",
                    "value": [
                      "https://crashes.brightsignnetwork.com/bs/crashdump"
                    ]
                  },
                  {
                    "name": "Error URL",
                    "value": [
                      "https://handlers.bsn.cloud//bs/error.ashx"
                    ]
                  },
                  {
                    "name": "Recovery URL",
                    "value": [
                      "https://handlers.bsn.cloud//recovery/recovery.ashx"
                    ]
                  }
                ]
              }
            ],
            "Other": [
              {
                "errors": [],
                "params": [
                  {
                    "name": "Http Port",
                    "value": [
                      ""
                    ]
                  }
                ]
              }
            ]
          }
        },
        {
          "caCertificates": "",
          "clientCertificate": false,
          "clientIdentifier": "BrightSign:RE433D006644",
          "dnsServerList": [],
          "domain": "",
          "eapTlsOptions": "",
          "enabledProtocolList": [
            "IPv4",
            "IPv6"
          ],
          "identity": "",
          "ipAddressList": [],
          "metric": 0,
          "privateKey": false,
          "securityMode": "",
          "vlanIdList": []
        }
      ]
    }
  }
}
```

## PUT /diagnostics/network-configuration/\{:interface}/ 

Aplica una configuración de red de prueba en el reproductor. Debe usar GET para obtener los parámetros de configuración antes de establecerla mediante esta API. Los parámetros `texto` y `salida` NO son necesarios en PUT.

**Segmento**

- `interfaz`: La interfaz de red. Los nombres posibles incluyen `eth0`, `wlan0`, y `módem`.

**Cuerpo de la solicitud**

- `caCertificate` <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: El contenido de un archivo de certificado de CA en formato de texto (es decir, un archivo "pem").
- `clientCertificate` <font color="#704ae0">bool</font> <font color="#01a0af">optional</font>: Un indicador de si el reproductor está usando un certificado de cliente
- `identificadorDelCliente` <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: El identificador de cliente DHCP para la interfaz de red
- `dnsServerList` <font color="#704ae0">string[ ]</font> <font color="#01a0af">optional</font>:  Una lista de direcciones IP de los servidores DNS
- `dominio` <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: El nombre de dominio para la interfaz de red
- `eapTlsOptions` <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: Una cadena que contiene opciones específicas de EAP
- `enabledProtocolList` <font color="#704ae0">string[ ]</font> <font color="#01a0af">optional</font>: Una matriz de protocolos IP habilitados. Actualmente, los valores compatibles son "IPv4" y "IPv6".
- `identidad` <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: La identidad RADIUS
- `ipAddressList` <font color="#704ae0">string[ ]</font> <font color="#01a0af">optional</font>: Las direcciones IP asignadas al reproductor
- `inboundShaperRate` <font color="#704ae0">int</font> <font color="#01a0af">optional</font>: El límite de ancho de banda para el tráfico entrante en bits por segundo. Un valor de -1 especifica el límite de ancho de banda predeterminado y un valor de 0 especifica que no hay límite de ancho de banda (estas dos configuraciones son funcionalmente iguales).
- `métrica` <font color="#704ae0">int</font> <font color="#01a0af">optional</font>: La métrica de enrutamiento para la puerta de enlace predeterminada en la interfaz. Las rutas con métricas más bajas tienen prioridad sobre las rutas con métricas más altas.
- `mtu` <font color="#704ae0">int</font> <font color="#01a0af">optional</font>: La unidad máxima de transmisión (MTU) para la interfaz de red en bytes
- `privateKey` <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: La clave privada para la autenticación
- `vlanIdList` <font color="#704ae0">int[ ]</font> <font color="#01a0af">optional</font>: Un arreglo de IDs de VLAN compatibles con la interfaz de red principal
- `modo de seguridad` <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: Modo de seguridad para la autenticación

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

```text
PUT /rest/v1/diagnostics/network-configuration/eth0 HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json
Content-Type: application/json
Content-Length: 75
```

Este es el cuerpo de la solicitud de ejemplo:

```json
{
  "data": {
    "caCertificates": "",
    "clientCertificate": false,
    "clientIdentifier": "BrightSign:D7E8CV332141",
    "dnsServerList": [],
    "domain": "",
    "eapTlsOptions": "",
    "enabledProtocolList": [
      "IPv4",
      "IPv6"
    ],
    "identity": "",
    "ipAddressList": [],
    "privateKey": false,
    "securityMode": "",
    "vlanIdList": []
  }
}
```

## GET /diagnostics/network-neighborhood/ 

Recupera información sobre el entorno de red actual del reproductor (los otros reproductores en la misma red).

**Ejemplo de solicitud**

```text
GET /rest/v1/diagnostics/network-neighborhood/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
```

**Cuerpo de la respuesta**

- `éxito` <font color="#704ae0">bool</font>: Un indicador que indica si la operación se realizó correctamente
- `respuesta` <font color="#704ae0">object[ ]</font>: Un arreglo de información sobre los reproductores en su entorno de red
  - `chassis-descr` <font color="#704ae0">string</font>: La versión del modelo, la versión del sistema operativo, el número de serie, etc.
  - `chassis-id` <font color="#704ae0">string</font>: Un identificador único para el reproductor
  - `nombre-del-chasis` <font color="#704ae0">string</font>: El nombre del reproductor
  - `mgmt-ip` <font color="#704ae0">string</font>
  - `port-descr` <font color="#704ae0">string</font>: Qué interfaz está utilizando el reproductor
  - `port-id` <font color="#704ae0">string</font>
  - `vlan-pvid` <font color="#704ae0">string</font>

Si no se pudo realizar el diagnóstico, el cuerpo de la respuesta puede ser en cambio un mensaje de error.

**Ejemplo de respuesta**

```json
{
    "route": "/v1/diagnostics/network-neighborhood",
    "method": "GET",
    "data": {
        "result": {
            "success": true,
            "response": [
                {
                    "chassis-descr": "BrightSign XT1144 REVE 8.5.47 UHE115005214",
                    "chassis-id": "90:ac:3f:28:fb:a4",
                    "chassis-name": "BrightSign-UHE115005214",
                    "mgmt-ip": "2601:647:4500:1e5e:92ac:3fff:fe28:fba4",
                    "port-descr": "eth0",
                    "port-id": "90:ac:3f:28:fb:a4",
                    "vlan-pvid": "0"
                }
            ]
        }
    }
}
```

## GET /diagnostics/packet-capture/ 

Obtiene el estado actual de la operación de captura de paquetes. La operación de captura de paquetes requiere que el DWS heredado esté funcionando.

**Ejemplo de solicitud**

```text
GET /rest/v1/diagnostics/packet-capture/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
```

**Cuerpo de la respuesta**

- `statusCode` <font color="#704ae0">int</font>: El código de éxito o error (200 es éxito)
- `is_running` <font color="#704ae0">bool</font>: Indicador que indica si la operación de captura de paquetes está en ejecución

**Ejemplo de respuesta**

```json
{
    "route": "/v1/diagnostics/packet-capture",
    "method": "GET",
    "data": {
        "result": {
            "statusCode": 200,
            "is_running": false
        }
    }
}
```

## POST /diagnostics/packet-capture/ 

Inicia una operación de captura de paquetes

**Cuerpo de la solicitud**

- `nombre de archivo` <font color="#704ae0">string</font>: El nombre del archivo de captura de paquetes. Si no pasa esta cadena, 'capture.pcap' es el valor predeterminado.
- `interfaz` <font color="#704ae0">string</font>: El nombre de la interfaz para la cual se está realizando la captura de paquetes. 'eth0' es el valor predeterminado.
- `duración` <font color="#704ae0">int</font>: La duración durante la cual se ejecuta la captura de paquetes en segundos. El valor predeterminado es 300 segundos (5 minutos).
- `maxpackets` <font color="#704ae0">int</font>: El número máximo de paquetes que se capturarán antes de finalizar el proceso. 0 es el valor predeterminado.
- `snaplen` <font color="#704ae0">int</font>: El tamaño máximo de cada paquete. Especificar 0 indicará a la función que capture el paquete completo sin importar el tamaño.
- `filtro` <font color="#704ae0">string</font>: Un campo para el filtrado condicional de paquetes. Esta operación utiliza sintaxis pcap estándar. Esta cadena está vacía de forma predeterminada.

**Ejemplo de solicitud**

```text
POST /rest/v1/diagnostics/packet-capture/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Content-Type: application/json
Content-Length: 190
```

Este es el cuerpo de solicitud de ejemplo:

```json
{
    "data": {
        "filename": "capture.pcap",
        "interface": "eth0",
        "duration": 300,
        "maxpackets": 0,
        "snaplen": 0,
        "filter": ""
    }
}
```

**Ejemplo de respuesta**

```json
{
    "data": {
        "result": {
            "statusCode": 200,
            "is_running": true
        }
    },
    "route": "/v1/diagnostics/packet-capture",
    "method": "POST"
}
```

## DELETE /diagnostics/packet-capture/ 

Detiene una operación de captura de paquetes

**Ejemplo de solicitud**

```text
DELETE /rest/v1/diagnostics/packet-capture/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
```

**Ejemplo de respuesta**

```json
{
    "route": "/v1/diagnostics/packet-capture",
    "method": "DELETE",
    "data": {
        "result": {
            "statusCode": 200,
            "is_running": false
        }
    }
}
```

## GET /diagnostics/telnet/

Obtiene información sobre telnet del reproductor, incluido su estado habilitado y número de puerto. Esto solo está disponible en BOS 9.0.110 y versiones posteriores.

**Ejemplo de solicitud**

```text
GET /rest/v1/diagnostics/telnet?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
```

**Ejemplo de respuesta**

```json
{
    "route": "/v1/diagnostics/telnet",
    "method": "GET",
    "data": {
        "result": {
            "enabled": true,
            "portNumber": 23
        }
    }
}
```

## PUT /diagnostics/telnet/

Esto solo está disponible en BOS 9.0.110 y versiones posteriores.

**Cuerpo de la solicitud**

- `habilitado` <font color="#704ae0">bool</font>: Habilita o deshabilita Telnet en el reproductor
- `númeroDePuerto` <font color="#704ae0">int</font>: El número de puerto en el que se habilitará Telnet
- `reinicio` <font color="#704ae0">bool</font>: Este parámetro opcional reinicia el reproductor inmediatamente después de ejecutar esta operación. Es `verdadero` de forma predeterminada.

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se configuran de la siguiente manera:

```text
PUT /rest/v1/diagnostics/telnet/ HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json
Content-Type: application/json
Content-Length: 75
```

Este es el cuerpo de la solicitud de ejemplo:

```json
{
  "data": {
    "enabled": true
    "portNumber": "23",
    "password": {{password}}
  }
}
```

**Ejemplo de respuesta**

```json
{
    "data": {
        "result": {
            "success": true,
            "reboot": true
        }
    },
    "route": "/v1/diagnostics/telnet",
    "method": "PUT"
}
```

## GET /diagnostics/ssh/

Devuelve información sobre si SSH está habilitado o no en el reproductor, y el número de puerto en el que está habilitado, si lo está. Esto solo está disponible en BOS 9.0.110 y versiones posteriores.

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se configuran de la siguiente manera:

```text
GET /rest/v1/diagnostics/ssh/ HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json
```

**Ejemplo de respuesta**

Una respuesta correcta es un <font color="#15803D">200</font> y este cuerpo de respuesta:

```json
{
    "enabled": true,
    "portNumber": 22,
    "password": true // Indicates that a value is set
}
```

## PUT /diagnostics/ssh/

Esto solo está disponible en BOS 9.0.110 y versiones posteriores.

**Cuerpo de la solicitud**

- `habilitado` <font color="#704ae0">bool</font>: Habilita o deshabilita SSH en el reproductor
- `númeroDePuerto` <font color="#704ae0">int</font>: El número de puerto en el que se habilitará SSH
- `contraseña` <font color="#704ae0">string</font>: Establece la contraseña de inicio de sesión en texto plano para la conexión SSH
- `reinicio` <font color="#704ae0">bool</font>: Este parámetro opcional reinicia el reproductor inmediatamente después de ejecutar esta operación. Es `verdadero` de forma predeterminada.
- `contraseñaOfuscada` <font color="#704ae0">string</font>: Este parámetro opcional establece la contraseña de inicio de sesión para la conexión SSH. La contraseña debe haber sido previamente ofuscada usando un secreto compartido. Contacte con [support@brightsign.biz](mailto\:support@brightsign.biz) para obtener más información sobre cómo generar una clave para la ofuscación y almacenarla en el reproductor.

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se configuran de la siguiente manera:

```text
PUT /rest/v1/diagnostics/ssh/ HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json
Content-Type: application/json
Content-Length: 65
```

Este es el cuerpo de la solicitud de ejemplo:

```json
{
  "data": {
    "enabled": true,
    "portNumber": 22,
    "password": {{password}}
  }
}
```

**Ejemplo de respuesta**

```json
{
    "data": {
        "result": {
            "success": true,
            "reboot": true
        }
    },
    "route": "/v1/diagnostics/ssh",
    "method": "PUT"
}
```

