Yeni: Yapay zekâ güvenlik duvarı her modülü izliyor ve her olayı sade bir dille açıklıyor. Nasıl çalıştığını görün

Codecs API

API üzerinden LoRaWAN codec'lerini okuyun, test edin, yayımlayın ve silin – yollar, izinler, önbellekleme, hız sınırları ve hata kodları.

Codecs API, kod kütüphanesini ve sizin kendi codec’lerinizi kişilere, betiklere ve lisanslı yönlendiricilere sunar. Codec’leri sürüm kontrolünde tutmak, bir pipeline’dan yayımlamak veya kendi araçlarınızdan yük (payload) testleri yapmak için kullanın.

Aşağıdaki yollar genel biçimi izler: https://<your host>/tenant/<tenantId>/api/…. API anahtarını Authorization: Bearer <API key> olarak gönderin. Bkz. REST API temelleri.

Yollar

Yöntem ve yolİzinYanıt
GET /api/iot/lorawan/codecsİsteğe bağlı (aşağıya bakın)Codec dizini: { version, scope, codecs: [...], sig: null }
GET /api/iot/lorawan/codecs/<codecId>İsteğe bağlıTek bir codec: { id, rev, sha256, scope, document, outputSet }
GET /api/iot/lorawan/codecs/bundleİsteğe bağlıHer codec, belgesiyle birlikte sıkıştırılmış: { version, codecs: [{ id, rev, sha256, scope, document }] }
GET /api/iot/lorawan/codec-libraryCodec’leri görüntüleCodec çekmecesinin gösterdiği liste (sayfalı, sıralanabilir, iki kaynak)
POST /api/iot/lorawan/codecsCodec’leri yönetYeni bir codec yayımla (201)
PATCH /api/iot/lorawan/codecs/<codecId>Codec’leri yönetCodec’inizin yeni bir revizyonunu yayımla
DELETE /api/iot/lorawan/codecs/<codecId>Codec’leri yönetCodec’inizi silin
POST /api/iot/lorawan/codecs/<codecId>/testCodec’leri görüntüleKayıtlı bir codec ile tek bir çerçeveyi çözün
POST /api/iot/lorawan/codecs/testCodec’leri görüntüleBir codec belgesini denetleyin ve isteğe bağlı olarak tek bir çerçeveyi çözün; hiçbir şey kaydedilmez
GET /api/iot/lorawan/codecs/<codecId>/revisionsCodec’leri görüntüleCodec’in revizyonları

“Codec’leri görüntüle”, LoRaWAN codec’lerini görüntüleme ve test ortamını çalıştırma iznidir (varsayılan olarak kullanıcılar). “Codec’leri yönet”, kendi codec’lerinizi ekleme, değiştirme ve silme iznidir (varsayılan olarak yöneticiler).

Üç okuma yolunda kimin neyi gördüğü

Gönderilen kimlik bilgisiYanıt
YokYalnızca herkese açık kütüphane. 5 dakika önbelleğe alınır (Cache-Control: public, max-age=300).
Görüntüleme izni olan geçerli bir oturum veya API anahtarıKütüphane ile kuruluşunuzun codec’leri. Önbelleğe alınmaz (private, no-store).
Lisanslı bir yönlendiricinin imzalı isteğiKütüphane ile yönlendiricinin kuruluşuna ait codec’ler.
Mevcut ama hatalı bir kimlik bilgisi (hatalı başlık, süresi dolmuş oturum, bilinmeyen anahtar)401 ile invalid_credentials, signature_expired veya certificate_revoked. Hiçbir zaman herkese açık liste değil.
İzni olmayan geçerli bir kimlik bilgisi403

Filtreler ve önbellekleme

Dizin q (arama), vendor, model, oui, fport ve scope parametrelerini kabul eder. Her yanıt, dizin sürümüne eşit bir ETag taşır; hiçbir şey değişmediyse 304 Not Modified almak için bunu If-None-Match içinde geri gönderin.

GET …/codecs/<codecId>?sha256=<fingerprint>, tam olarak bir revizyonu ister. Geri çekilmiş bir codec 410 (codec_withdrawn) yanıtı verir.

Bir codec yayımlayın

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

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

Ya da bir kütüphane codec’ini kopyalayın:

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

Yanıt 201 { codec, indexVersion } olur. Kütüphane codec’leri bu yollarla değiştirilemez veya silinemez: 403 codec_read_only.

Bir çerçeveyi test edin

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

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

fport 1–255 arasındadır ve hex en fazla 255 bayttır. Geçersiz bir çerçeve FPort’u (1-255) ve yükü onaltılık rakamlar olarak girin (en fazla 255 bayt). yanıtı verir.

Hız sınırları

ÇağıranSınır
Kimlik bilgisi yok: dizin ve tek codecAdres başına dakikada 60 istek
Kimlik bilgisi yok: bundleAdres başına saatte 6
Oturum açmış kullanıcılar ve API anahtarlarıDakikada 240; bundle saatte 30
Lisanslı yönlendiricilerCihaz sertifikası başına dakikada 120

Sınırı aşan istekler için API 429 yanıtı verir (Çok fazla istek. Lütfen daha sonra tekrar deneyin.).

Hata kodları

Durumdetails.reasonAnlamı
404—Codec bulunamadı.
409codec_existsBu kimliğe sahip bir codec zaten var. Başka bir kimlik seçin.
410codec_withdrawnBu codec revizyonu geri çekildi.
403codec_read_onlyKütüphane codec’leri burada düzenlenmez: bir kopyasını kaydedin ve kopyayı değiştirin.
422codec_format_not_supportedBir JavaScript çözücü gönderildi.
422codec_tests_failedTest vektörleri başarısız oldu; başarısız olan vektörler listelenir.
422codec_incompatibleYeni revizyon anahtarları kaldırıyor veya birimleri değiştiriyor.
422codec_model_claimedCodec’lerinizden bir diğeri bu modeli kapsıyor.
422codec_choice_unknown(Bir cihaz veya profil bir codec seçtiğinde) codec yok veya geri çekildi.
401invalid_credentialsBu istekle gönderilen kimlik bilgileri geçerli değil.

Tam LoRaWAN API’si (ağ geçitleri, cihazlar, anahtarlar, eşleştirme, çerçeveler) için bkz. LoRaWAN API.