Giriş
Kurallar
Section titled “Kurallar”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.
JSON kuralları
Section titled “JSON kuralları”-
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_casebiçimindedir.
Yanıt Nesneleri
Section titled “Yanıt Nesneleri”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
Section titled “Kaynaklar”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
Section titled “Hatalar”Hatalar her zaman üst düzey bir errors özelliği altında bir dizi içinde döndürülür.
| Özellik | |
|---|---|
| title | Genel hata mesajı |
| detail | Bu özel olay hakkında insan tarafından okunabilir hata mesajı |
| code | Eşleşen HTTP durum kodu |