Novedad: el cortafuegos de IA supervisa cada módulo y explica cada incidente con palabras sencillas. Vea cómo funciona

API de Codecs

Lee, prueba, publica y elimina codecs de LoRaWAN mediante la API: rutas, permisos, caché, límites de frecuencia y códigos de error.

La API de codecs sirve la biblioteca de codecs y tus propios codecs a personas, scripts y routers con licencia. Úsala para mantener los codecs en control de versiones, para publicarlos desde un pipeline o para probar payloads desde tus propias herramientas.

Las rutas de abajo siguen la forma habitual https://<your host>/tenant/<tenantId>/api/…. Envía una clave de API como Authorization: Bearer <API key>. Consulta REST API basics.

Rutas

Método y rutaPermisoRespuesta
GET /api/iot/lorawan/codecsOpcional (ver más abajo)El índice de codecs: { version, scope, codecs: [...], sig: null }
GET /api/iot/lorawan/codecs/<codecId>OpcionalUn codec: { id, rev, sha256, scope, document, outputSet }
GET /api/iot/lorawan/codecs/bundleOpcionalTodos los codecs con su documento, comprimidos: { version, codecs: [{ id, rev, sha256, scope, document }] }
GET /api/iot/lorawan/codec-libraryVer codecsLa lista que muestra el panel de codecs (paginada, ordenable, de ambas fuentes)
POST /api/iot/lorawan/codecsGestionar codecsPublicar un codec nuevo (201)
PATCH /api/iot/lorawan/codecs/<codecId>Gestionar codecsPublicar una nueva revisión de tu codec
DELETE /api/iot/lorawan/codecs/<codecId>Gestionar codecsEliminar tu codec
POST /api/iot/lorawan/codecs/<codecId>/testVer codecsDecodificar una trama con un codec guardado
POST /api/iot/lorawan/codecs/testVer codecsComprobar un documento de codec y, opcionalmente, decodificar una trama; no se guarda nada
GET /api/iot/lorawan/codecs/<codecId>/revisionsVer codecsLas revisiones del codec

«Ver codecs» es el permiso para ver los codecs de LoRaWAN y usar el banco de pruebas (por defecto, usuarios). «Gestionar codecs» es el permiso para añadir, modificar y eliminar tus propios codecs (por defecto, administradores).

Quién ve qué en las tres rutas de lectura

Credencial enviadaRespuesta
NingunaSolo la biblioteca pública. En caché durante 5 minutos (Cache-Control: public, max-age=300).
Una sesión válida o una clave de API con el permiso de verLa biblioteca más los codecs de tu organización. Sin caché (private, no-store).
La solicitud firmada de un router con licenciaLa biblioteca más los codecs de la organización del router.
Una credencial presente pero incorrecta (cabecera incorrecta, sesión caducada, clave desconocida)401 con invalid_credentials, signature_expired o certificate_revoked. Nunca la lista pública.
Una credencial válida sin el permiso403

Filtros y caché

El índice acepta q (búsqueda), vendor, model, oui, fport y scope. Cada respuesta incluye un ETag igual a la versión del índice; envíalo de vuelta en If-None-Match para obtener 304 Not Modified cuando nada haya cambiado.

GET …/codecs/<codecId>?sha256=<fingerprint> solicita una revisión exacta. Un codec retirado responde 410 (codec_withdrawn).

Publicar un codec

POST /tenant/<tenantId>/api/iot/lorawan/codecs
Content-Type: application/json

{ "document": { "id": "t.room-sensor", "title": "…", "vendor": "…", "kind": "layout", "frames": [ … ], "tests": [ … ] } }

O copia un codec de la biblioteca:

{ "copyOf": "<library codec id>", "id": "t.my-copy" }

La respuesta es 201 { codec, indexVersion }. Los codecs de la biblioteca no se pueden modificar ni eliminar mediante estas rutas: 403 codec_read_only.

Probar una trama

POST /tenant/<tenantId>/api/iot/lorawan/codecs/t.room-sensor/test
Content-Type: application/json

{ "fport": 2, "hex": "0BC4010A32" }

fport va de 1 a 255 y hex tiene como máximo 255 bytes. Una trama no válida responde Introduce el FPort (1-255) y el payload como dígitos hexadecimales (como máximo 255 bytes).

Límites de frecuencia

SolicitanteLímite
Sin credencial: índice y codec individual60 solicitudes por minuto por dirección
Sin credencial: bundle6 por hora por dirección
Usuarios conectados y claves de API240 por minuto; bundle, 30 por hora
Routers con licencia120 por minuto por certificado de dispositivo

Al superar un límite, la API responde 429 (Demasiadas solicitudes. Inténtalo más tarde.).

Códigos de error

Estadodetails.reasonSignificado
404—Codec no encontrado.
409codec_existsYa existe un codec con este id. Elige otro id.
410codec_withdrawnEsta revisión del codec fue retirada.
403codec_read_onlyLos codecs de la biblioteca no se editan aquí: guarda una copia y modifica la copia.
422codec_format_not_supportedSe envió un decodificador de JavaScript.
422codec_tests_failedLas pruebas de vectores fallaron; se listan los vectores que fallan.
422codec_incompatibleLa nueva revisión elimina claves o cambia unidades.
422codec_model_claimedOtro de tus codecs cubre este modelo.
422codec_choice_unknown(Cuando un dispositivo o perfil elige un codec) el codec no existe o fue retirado.
401invalid_credentialsLas credenciales enviadas con esta solicitud no son válidas.

Para la API completa de LoRaWAN (gateways, dispositivos, claves, emparejamiento, tramas), consulta la API de LoRaWAN.