> For the complete documentation index, see [llms.txt](https://docs.kiloiot.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kiloiot.io/kilo-docs-es/kilo-center/kilo-mioty-service-center/onboarding/verify-the-first-downlink.md).

# Verificar el primer downlink

Envía y verifica el primer downlink MIOTY en KiloCenter — encola un comando para un endpoint bidireccional y confirma la entrega.

### Objetivo

Ponga en cola un comando de enlace descendente para un endpoint y verifique el resultado.

### Requisitos previos

* Endpoint registrado con **bidireccional** bandera habilitada
* Estación base conectada y compatible con comunicación bidireccional
* Se confirmó al menos un enlace ascendente exitoso (vea Verificar el primer enlace ascendente)

Tanto el endpoint como la estación base deben tener capacidad bidireccional para que los enlaces descendentes funcionen.

### Enviar un enlace descendente mediante KC-Web

1. Abra KC-Web en `http://localhost/` (contenedor) o `http://localhost:5173` (desarrollo desde el código fuente).
2. Navegue a **Dispositivos finales** y seleccione su endpoint bidireccional.
3. Use la interfaz de enlace descendente para poner en cola un mensaje:
   * **Carga útil**: datos codificados en base64 (p. ej., `AQIDBA==` para bytes `01 02 03 04`)
   * **Confirmado**: si solicitar confirmación de entrega
4. Envíe el enlace descendente.

### Enviar un enlace descendente mediante gRPC (Alternativa)

```bash
grpcurl -plaintext -d '{
  "endpoint_eui": "<EP_EUI_HEX>",
  "data": "AQIDBA==",
  "confirmed": false
}' localhost:9090 kilocenter.api.v1.KiloCenterService/SendDownlink
```

### Verificar el resultado

#### En KC-Web

Revise la vista de resultados de enlace descendente del endpoint para ver actualizaciones de estado. Un enlace descendente exitoso muestra el estado de entrega y cualquier confirmación del endpoint.

#### En los registros

```bash
tail -f kilocenter-modules/logs/runtime/kc-core.log
```

Busque `dlDataQue`, `dlDataQueRsp`, y `dlDataQueCmp` entradas -- estas representan el protocolo de enlace de tres vías de la operación de enlace descendente.

### Solución de problemas

| Síntoma                                 | Causa probable                                                              |
| --------------------------------------- | --------------------------------------------------------------------------- |
| El enlace descendente permanece en cola | Endpoint no adjunto o no bidireccional                                      |
| Error de "no bidireccional"             | Endpoint o estación base `bidi` bandera no establecida                      |
| No se devolvió ningún resultado         | La estación base no completó el protocolo de enlace descendente             |
| Carga útil rechazada                    | Los datos no son base64 válidos o exceden el tamaño máximo de la carga útil |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.kiloiot.io/kilo-docs-es/kilo-center/kilo-mioty-service-center/onboarding/verify-the-first-downlink.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
