İçeriğe geç

Giriş

Tüm API isteklerinin gönderileceği temel URL: http://127.0.0.1:16038/api/v1. Https ilerleyen bir tarihte eklenebilir.

SignalRGB API’si mümkün olduğunda RESTful stilini takip eder. Ana fark, ikincil bir JSON-RPC API’si yerine uygulanabilir durumlarda kaynaklara gönderi eylemleri eklenmesidir. Örn. POST effect/{effectId}/apply.

  • SignalRGB API’si, küçük değişikliklerle mümkün olduğunda json:api ve Google JSON Stil Kılavuzu’ndan yararlanır.

    • json:api medya türü atlanmıştır.
    • json:api ilişkileri atlanmıştır.
  • Tüm nesnelerin ilişkili bir kimliği vardır. Bunlar nesne türüne özgüdür, ancak tüm nesne türlerinde benzersiz olmayabilir.

  • Özellik adları, eklenti/efekt dosyasından doğrudan çekilen Plugin/Effect kullanıcı özellikleri gibi istisnalar dışında mümkün olduğunda snake_case biçimindedir.

Yanıtlar genellikle başarı, başarısızlık ve çoklu ile tekil kaynaklar arasında küçük farklılıklarla belirli bir düzeni takip eder. Tüm yanıtlar HTTP durum koduna ek olarak mevcut API sürümünü, benzersiz istek kimliğini, çağrılan yöntem URL’sini, ilgili parametreleri ve durum Enum değerini döndürür.

Başarılı istekler üst düzey bir data özelliği döndürürken, başarısızlıklar hata nesneleri dizisi döndürür.

{
"apiVersion": "1.0",
"data": {
"attributes": {
"name": "Neon Shift"
},
"id": "Neon Shift.html",
"links": {
"self": "/api/v1/lighting/effects/Neon Shift.html"
},
"type": "current_effect"
},
"id": 1,
"method": "/api/v1/lighting",
"params": {},
"status": "ok"
}
{
"apiVersion": "1.0",
"errors": [
{
"code": "404",
"detail": "The requested effect was not found",
"title": "Not Found"
}
],
"id": 2,
"method": "/api/v1/lighting/effects/-Mg1qujV9F4rabJxlS",
"params": {
"id": "-Mg1qujV9F4rabJxlS"
},
"status": "error"
}

Kaynaklar her zaman üst düzey veri nesnesi içinde döndürülür ve kaynağın id ve type değerlerini içerir. Uygulanabilir durumlarda alt alanlar bir attributes özelliği altında, ilgili bağlantılar ise bir links özelliği altında gruplandırılacaktır.

Birden fazla kaynak döndürme durumunda yukarıdaki biçimle eşleşen bir öğe dizisi döndürülür.

"data": {
"attributes": {
"name": "Neon Shift"
},
"id": "Neon Shift.html",
"links": {
"self": "/api/v1/lighting/effects/Neon Shift.html"
},
"type": "current_effect"
},
"data": {
"items": [
{
"attributes": {
"name": "Wolfenstein II: TNC"
},
"id": "-MQtFeX-o2hMR6sv8aFr",
"links": {
"apply": "/api/v1/lighting/effects/-MQtFeX-o2hMR6sv8aFr/apply",
"self": "/api/v1/lighting/effects/-MQtFeX-o2hMR6sv8aFr"
},
"type": "effect"
},
{
"attributes": {
"name": "4th Dimension"
},
"id": "-N-YhDDs2ZIGJ42azDgJ",
"links": {
"apply": "/api/v1/lighting/effects/-N-YhDDs2ZIGJ42azDgJ/apply",
"self": "/api/v1/lighting/effects/-N-YhDDs2ZIGJ42azDgJ"
},
"type": "effect"
},
...
]
}

Hatalar her zaman üst düzey bir errors özelliği altında bir dizi içinde döndürülür.

Özellik
titleGenel hata mesajı
detailBu özel olay hakkında insan tarafından okunabilir hata mesajı
codeEşleşen HTTP durum kodu