---
title: Puntos finales de diagnóstico de LDWS
slug: develop/es/puntos-finales-de-diagnostico-de-ldws
docTags: 
createdAt: 2025-03-11T07:03:32.131Z
---

## DELETE /v1/storage/\:device/ 

Formatea un dispositivo de almacenamiento

:::hint{type="info"}
Debe deshabilitar la ejecución automática antes de reformatear la tarjeta SD en su dispositivo.
Para deshabilitar la ejecución automática, use *PUT /v1/control/reboot* con el parámetro body *\{“autorun”:”disable”}*, como se describe en [esta página](docId\:VZ7BvR0K0fTzh2QEWNThI).
:::

**Segmento**

- `:device` <font color="#704ae0">string</font>: El dispositivo de almacenamiento especificado (consulte [esta página](docId\:cq-Sl6dMkcslNWgvZgOyW) para obtener una lista de dispositivos disponibles)

**Cuerpo de la solicitud**

- `fs` <font color="#704ae0">string</font>: El [sistema de archivos](docId:8ViuBcC3f1MPXOoS0i8yf) que se utilizará al reformatear un dispositivo de almacenamiento. El valor predeterminado de fs es "exfat".

**Ejemplo de solicitud**

```text
DELETE /api/v1/storage/sd/ HTTP/1.1
Host: {{playerIP}}
Authorization: {{DigestAuth}}
Accept: application/json, application/vnd.bsn.error+json
Content-Type: application/json
Content-Length: 49
```

Este es el cuerpo de solicitud de ejemplo:

```json
{
  "fs": "exfat"
}
```

**Ejemplo de respuesta**

```json
{
  "data": {
    "result": {
      "success": true,
      "output": "Format completeted successfully.",
      "error": ""
    }
  }
}
```

## GET /v1/diagnostics/ 

Ejecuta diagnósticos de red en el reproductor y devuelve el resultado en formato JSON.

**Ejemplo de solicitud**

```text
GET /api/v1/diagnostics/ HTTP/1.1
Host: {{playerIP}}
Authorization: {{DigestAuth}}
Accept: application/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
  - `pase` <font color="#704ae0">bool</font>: Indica si la prueba se aprobó o no
  - `resultado` <font color="#704ae0">string</font>: El valor real para las pruebas de diagnóstico, como la verificación de tipo y ping.
- `ok` <font color="#704ae0">bool</font>: Si se ejecutaron diagnósticos en la interfaz o no.

**Ejemplo de respuesta**

```json
{
  "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 /v1/diagnostics/dns-lookup/\:address/ 

Ejecuta una búsqueda DNS para una dirección, que puede ser un nombre de host o una dirección IP.

**Segmento**

- `:address`: El nombre de host (por ejemplo, *http\://google.com*) o dirección IP

**Ejemplo de solicitud**

```text
GET /api/v1/diagnostics/dns-lookup/google.com/ HTTP/1.1
Host: {{playerIP}}
Authorization: {{DigestAuth}}
Accept: application/json
```

**Cuerpo de la respuesta**

El reproductor consulta cada campo DNS por separado, luego recopila los datos devueltos en el objeto *registros* , la información de conexión tcp y udp está en el objeto *server\_test* y los errores devueltos en el objeto *lista de errores* .

- `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
    - `pase` <font color="#704ae0">int</font>: El número total de solicitudes que pasaron
    - `fallo` <font color="#704ae0">int</font>: El número total de solicitudes que fallaron.
    - `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 del host y del puntero
  - `udp` <font color="#704ae0">object</font>:
    - `hecho` <font color="#704ae0">int</font>:  El número total de solicitudes DNS realizadas
    - `pase` <font color="#704ae0">int</font>: El número total de solicitudes que pasaron
    - `fallo` <font color="#704ae0">int</font>: El número total de solicitudes que fallaron.
    - `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 del host y del puntero
- `lista de errores` <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 (generalmente el mismo valor que code)
    - `código` <font color="#704ae0">string</font>: Número de código de error (consulte [https://nodejs.org/docs/latest-v14.x/api/dns.html#dns\_error\_codes](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 del host` <font color="#704ae0">string</font>: El valor pasado en la URL

**Ejemplo de respuesta**

```json
{
  "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 /v1/diagnostics/ping/\:ipAddress/ 

Hace ping a la dirección pasada en la solicitud. Esto no funciona para nombres de host, solo para direcciones IP.

**Segmento**

- `:ipAddress`: La dirección IP especificada

**Ejemplo de solicitud**

```text
GET /api/v1/diagnostics/ping/0.0.0.0/ HTTP/1.1
Host: {{playerIP}}
Authorization: {{DigestAuth}}
Accept: application/json
```

**Cuerpo de la respuesta**

- `éxito` <font color="#704ae0">bool</font>: Un indicador que señala si la operación se realizó correctamente o no
- `respuesta` <font color="#704ae0">object</font>:
  - `nombre del host` <font color="#704ae0">string</font>: El valor que pasó en la URL
  - `resultados` <font color="#704ae0">string</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>:&#x20;
        - `recibido` <font color="#704ae0">int</font>: El número de paquetes recibidos
        - `estadísticas` <font color="#704ae0">object</font>:&#x20;
          - `promedio` <font color="#704ae0">int</font>: El tiempo promedio de retorno del paquete
          - `más rápido` <font color="#704ae0">int</font>: El tiempo más rápido de retorno del paquete
          - `más lento` <font color="#704ae0">int</font>: El tiempo más lento de retorno del paquete
          - `unidades` <font color="#704ae0">int</font>: Las unidades de tiempo (normalmente microsegundos)
        - `transmitido` <font color="#704ae0">int</font>: El número de paquetes transmitidos
    - `ipv6` <font color="#704ae0">object[ ]</font>: Esto solo se devolverá si IPv6 está presente.
      - `interfaz` <font color="#704ae0">string</font>:&#x20;
      - `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>: El número de paquetes recibidos
        - `transmitido` <font color="#704ae0">int</font>: El número de paquetes transmitidos

**Ejemplo de respuesta**

```json
{
  "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 /v1/diagnostics/trace-route/\:address/ 

Ejecuta trace-route en el reproductor. Opcionalmente, puede pasar el parámetro de consulta booleano `?resolveAddress` para resolver las direcciones IP en el resultado.

**Segmento**

- `:address`: La dirección IP o del hostname especificada

**Parámetro de cadena de consulta**

- `resolverDirección` bool opcional: Especifica si la dirección IP o del hostname debe resolverse o no en el resultado

**Ejemplo de solicitud**

```text
GET /api/v1/diagnostics/trace-route/google.com/?resolveAddress%3Dtrue HTTP/1.1
Host: {{playerIP}}
Authorization: {{DigestAuth}}
Accept: application/json
```

**Cuerpo de la respuesta**

- `dirección` <font color="#704ae0">string</font>: La dirección IP en la que está ejecutando el trace route
- `resultados` <font color="#704ae0">object</font>:
  - `salida` <font color="#704ae0">string[ ]</font>: Devuelve la información de salida del trace route 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 trace route
      - `nombre del host` <font color="#704ae0">string</font>: El hostname del servidor
      - `estadísticas` <font color="#704ae0">object[ ]</font>:&#x20;
        - `alcanzable` <font color="#704ae0">string</font>:
        - `tiempo` <font color="#704ae0">string</font>: El tiempo requerido para que la solicitud de trace route regrese
        - `unidades` <font color="#704ae0">string</font>: Las unidades de tiempo (normalmente en milisegundos)

**Ejemplo de respuesta**

```json
{
    "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 /v1/diagnostics/network-neighborhood/ 

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

**Ejemplo de solicitud**

```text
GET /api/v1/diagnostics/network-neighborhood/ HTTP/1.1
Host: {{playerIP}}
Authorization: {{DigestAuth}}
Accept: application/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>: Una matriz de información sobre los reproductores en su vecindario de red
  - `chassis-descr` <font color="#704ae0">string</font>: La versión del modelo, la versión del SO, 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á usando 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 su lugar, un mensaje de error.

**Ejemplo de respuesta**

```json
{
  "data": {
    "result": {
      "success": true,
      "response": [
        {
          "chassis-descr": "BrightSign XT1144 REVE 8.5.47 UHE015005214",
          "chassis-id": "90:ac:3f:28:fb:a4",
          "chassis-name": "BrightSign-UHE015005214",
          "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 /v1/diagnostics/network-configuration/\:interfaceName/ 

Obtiene la configuración de red en el reproductor. Consulte [APIs DWS locales](docId\:m-NBfYkkwlU315f-OR6nq) para obtener más información sobre la autenticación digest.

**Segmento**

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

**Ejemplo de solicitud**

```text
GET /api/v1/diagnostics/network-configuration/eth0/ HTTP/1.1
Host: {{playerIP}}
Authorization: {{DigestAuth}}
```

**Cuerpo de la respuesta**

:::hint{type="info"}
Algunas entradas (p. ej. `caCertificates`, `clientIdentifier`) 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>: Una matriz 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>: Una matriz de mensajes de error asociados con la interfaz
    - `params` <font color="#704ae0">Param[ ]</font>: Una matriz 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>: Una matriz de objetos Info que proporcionan información del host de red. Cada objeto puede tener las siguientes entradas:
    - `errores` <font color="#704ae0">Error[ ]</font>: Una matriz de mensajes de error asociados con el host de red
    - `params` <font color="#704ae0">Param[ ]</font>: Una matriz de objetos Param que representan parámetros asociados con el host de red 
  - `bsn` <font color="#704ae0">Info[ ]</font>: Una matriz de objetos Info que proporcionan información sobre la comunicación BSN. 
  - `otro` <font color="#704ae0">Info[ ]</font>: Una matriz de objetos Info que proporcionan información diversa de la red.
- `caCertificate` <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: El contenido de un archivo de certificado CA en formato de texto (es decir, un archivo "pem").
- `clientCertificate` <font color="#704ae0">bool</font> <font color="#01a0af">optional</font>: Un indicador que señala si el reproductor está usando un certificado de cliente
- `clientIdentifier` <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. Los valores admitidos actualmente son `"IPv4"` y "`IPv6"`.
- `identidad` <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: La identidad de 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>: Una matriz de ID de VLAN compatibles con la interfaz de red principal
- `modoseguridad` <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: Modo de seguridad para la autenticación

**Ejemplo de respuesta**

```text
{
  "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 /v1/diagnostics/network-configuration/\:interfaceName/ 

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

**Segmento**

- `:interfaceName`: 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 CA en formato de texto (es decir, un archivo "pem").
- `clientCertificate` <font color="#704ae0">bool</font> <font color="#01a0af">optional</font>: Un indicador que indica si el reproductor está utilizando un certificado de cliente
- `clientIdentifier` <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="#704ae0">[ ]</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. Los valores admitidos actualmente 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 equivalentes).
- `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>: Una matriz de ID de VLAN compatibles con la interfaz de red principal
- `modoseguridad` <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 /api/v1/diagnostics/network-configuration/eth0 HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/json
Content-Type: application/json
Content-Length: 75
```

Este es el cuerpo de solicitud de ejemplo:

```json
{
  "caCertificates": "",
  "clientCertificate": false,
  "clientIdentifier": "BrightSign:D7E8CV332141",
  "dnsServerList": ["192.168.86.1"],
  "domain": "lan",
  "eapTlsOptions": "",
  "enabledProtocolList": [
    "IPv4",
    "IPv6"
  ],
  "identity": "",
  "ipAddressList": [],
  "inboundShaperRate": 0, 
  "metric": 1002,
  "privateKey": false,
  "securityMode": "",
  "vlanIdList": []
}
```

**Ejemplo de respuesta**

```json
{
    "success": true, 
    "reboot": true // Indicates whether the player will reboot 
}
```

## GET /v1/diagnostics/interfaces/ 

Devuelve la lista de interfaces de red aplicadas en el reproductor.

**Cuerpo de la solicitud**

```text
GET /api/v1/diagnostics/interfaces/ HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/json
```

**Cuerpo de la respuesta**

```json
{
    "data": {
        "result": [
            "eth0",
            "ppp0"
        ]
    }
}
```

## GET /v1/diagnostics/packet-capture/ 

Devuelve el estado actual de la operación de captura de paquetes. 

**Ejemplo de solicitud**

```text
GET /api/v1/diagnostics/packet-capture/ HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/json
```

**Cuerpo de la respuesta**

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

**Ejemplo de respuesta**

```json
{
  "data": {
    "result": {
      "statusCode": 200,
      "is_running": false
    }
  }
}
```

## POST /v1/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 proporciona esta cadena, 'capture.pcap' se utiliza de forma predeterminada.
- `interfaz_de_red` <font color="#704ae0">string</font>: El nombre de la interfaz de red para la que se realiza la captura de paquetes. 'eth0' es el valor predeterminado.
- `duración` <font color="#704ae0">int</font>: La duración durante la cual la captura de paquetes se ejecuta 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 estándar de pcap. Esta cadena está vacía de forma predeterminada

**Ejemplo de solicitud**

```text
POST /api/v1/diagnostics/packet-capture/ HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/json
Content-Type: application/json
Content-Length: 190
```

Este es el cuerpo de solicitud de ejemplo:

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

**Ejemplo de respuesta**

```json
{
  "data": {
    "result": {
      "statusCode": 200,
      "is_running": true
    }
  }
}
```

## DELETE /v1/diagnostics/packet-capture/ 

Detiene una operación de captura de paquetes

**Ejemplo de solicitud**

```text
DELETE /api/v1/diagnostics/packet-capture/ HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/json
```

**Ejemplo de respuesta**

```json
{
  "data": {
    "result": {
      "statusCode": 200,
      "is_running": false
    }
  }
}
```

## GET /v1/diagnostics/telnet/

Devuelve información sobre si Telnet 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 o 8.5.46 y versiones posteriores.

**Ejemplo de solicitud**

```text
GET /api/v1/diagnostics/telnet/ HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/json
```

**Ejemplo de respuesta**

Una respuesta correcta es un 200 y este cuerpo de respuesta:

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

## PUT /v1/diagnostics/telnet/

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

**Cuerpo de la solicitud**

- `habilitado` <font color="#704ae0">bool</font>: Habilita o deshabilita Telnet en el reproductor
- `portNumber` <font color="#704ae0">int</font>: El número de puerto en el que 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 establecen de la siguiente manera:

```text
PUT /api/v1/diagnostics/telnet/ HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/json
Content-Type: application/json
Content-Length: 75
```

Este es el cuerpo de la solicitud de ejemplo:

```json
{
   "enabled": true
   "portNumber": "23"
}
```

**Ejemplo de respuesta**

```json
{
    "success": true, 
    "reboot": true 
}
```

## GET /v1/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 o 8.5.46 y versiones posteriores.

**Ejemplo de solicitud**

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

```text
GET /api/v1/diagnostics/ssh/ HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/json
```

**Ejemplo de respuesta**

Una respuesta correcta es un 200 y este cuerpo de respuesta:

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

## PUT /v1/diagnostics/ssh/

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

**Cuerpo de la solicitud**

- `habilitado` <font color="#704ae0">bool</font>: Habilita o deshabilita SSH en el reproductor
- `portNumber` <font color="#704ae0">int</font>: El número de puerto en el que habilitar SSH
- `contraseña` <font color="#704ae0">string</font>: Establece la contraseña de inicio de sesión de texto sin formato para la conexión SSH
- `reinicio` <font color="#704ae0">bool </font><font color="#01a0af">optional</font>: Reinicia el reproductor inmediatamente después de ejecutar esta operación. Es `verdadero` de forma predeterminada.
- `obfuscatedPassword` <font color="#704ae0">string </font><font color="#01a0af">optional</font>: Establece la contraseña de inicio de sesión para la conexión SSH. La contraseña debe haber sido ofuscada previamente mediante un secreto compartido. Póngase en contacto 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 establecen de la siguiente manera:

```text
PUT /api/v1/diagnostics/ssh/ HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/json
Content-Type: application/json
Content-Length: 65
```

Este es el cuerpo de la solicitud de ejemplo:

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

**Ejemplo de respuesta**

```json
{
    "success": true, 
    "reboot": true
}
```



## GET /v1/diagnostics/chromium-debug/

Devuelve si Chromium Web Inspector ha sido configurado. Esta API solo está disponible a partir de BOS 8.5.31 y versiones posteriores (consulte [esta página](docId\:TkKeDYusWBEjHd0ljmhCS) para obtener más información).

**Ejemplo de solicitud**

```text
GET /api/v1/diagnostics/chromium-debug/ HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/json
```

**Cuerpo de la respuesta**

- `enableWebInspector` <font color="#704ae0">bool</font>: Si Chromium Web Inspector está habilitado para depurar widgets HTML

**Ejemplo de respuesta**

Una respuesta correcta es un 200 y este cuerpo de respuesta:

```json
{
  "data": {
    "result": {
      "enableWebInspector": false
    }
  }
}
```

## PUT /v1/diagnostics/chromium-debug/

Actualiza la configuración de Chromium Web Inspector. Esta API solo está disponible a partir de BOS 8.5.31 y versiones posteriores (consulte [esta página](docId\:TkKeDYusWBEjHd0ljmhCS) para obtener más información).

**Cuerpo de la solicitud**

- `enableWebInspector` <font color="#704ae0">bool</font>: Habilita o deshabilita Chromium Web Inspector para depurar widgets HTML. Requiere un reinicio para que los cambios surtan efecto.

**Ejemplo de solicitud**

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

```text
PUT /api/v1/diagnostics/chromium-debug/ HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/json
Content-Type: application/json
Content-Length: 45
```

Este es el cuerpo de la solicitud de ejemplo:

```json
{
   "enableWebInspector": true
}
```

**Cuerpo de la respuesta**

El servidor devolverá un mensaje de éxito o de error. Una respuesta correcta casi siempre provocará un reinicio, lo cual se indicará en la respuesta.

- `resultado` <font color="#704ae0">object</font>: El objeto de respuesta
  - `éxito` <font color="#704ae0">bool</font>: Si la operación fue correcta o no
  - `reinicio` <font color="#704ae0">bool</font>: Si el reproductor se está reiniciando o no

**Ejemplo de respuesta**

```json
{
    "data": {
        "result": {
            "success": true,
            "reboot": true
        }
    }
}
```

##

