Ana içeriğe geç

Kimlik doğrulama ve yetkiler

Client credentials​

kommuns, client credentials akışı (RFC 6749 §4.4) için bir OAuth 2 sağlayıcısıdır: sisteminiz bir kişi olarak değil, entegrasyon olarak kimlik doğrular.

POST /oauth/token: grant_type=client_credentials ve istemcinin kimliği ve sırrı; ya HTTP Basic (Authorization: Basic base64(client_id:client_secret)) ya da client_id / client_secret form alanları olarak. İsteğe bağlı scope: entegrasyonun kapsamlarından boşlukla ayrılmış bir alt küme (verilmezse token hepsini alır).

YanıtAnlamı
200 access_token, expires_in (3600), scopeToken'ı bir saat kullanın.
401 invalid_clientBilinmeyen istemci kimliği ya da yanlış sır.
400 unauthorized_clientEntegrasyon kapalı, kommuns tarafından devre dışı, paket API içermiyor ya da organizasyon askıda.
400 invalid_scopeEntegrasyonun sahip olmadığı bir kapsam.
400 unsupported_grant_typeYalnız client_credentials desteklenir.

Token'ı Authorization: Bearer <token> olarak gönderin. Organizasyon token'dan gelir — gönderdiğiniz bir başlıktan değil.

Entegrasyonun sırrı yenilenince, entegrasyon kapatılınca ya da silinince, kapsamları daraltılınca, kommuns devre dışı bırakınca ya da paket artık API içermeyince token'lar hemen çalışmaz. Sırrı sisteminizin sır deposunda tutun; sızarsa Organizasyon › Entegrasyonlar'da yenileyin.

Kapsamlar​

Kapsamİzin verdiği
inventory:readLokasyonlar, sistemler, ekipmanlar, alt ekipmanlar.
work_orders:readİş emirleri, durumları ve yetkilileri.
work_orders:writeİş emri oluşturma, değiştirme, atama, iptal, cevaplama ve tamamlama.
issues:readGeri bildirimler.
issues:writeGeri bildirim oluşturma (ör. sensör alarmı).
forms:readOrganizasyonun formları ve bir iş emrinin cevapları.
files:readDosyalar (sonraki bir sürüm için ayrıldı).
people:readKişiler ve takımlar: ad, e-posta, telefon — kişisel veri. Bu kapsam olmadan atanan kişiler yalnız id olarak görünür.

Yetkiler: kapsamlar ∩ entegrasyonun yetkileri​

Entegrasyon organizasyonda bir kimliktir. Bir organizasyon yetki tanımıyla oluşturulur ve envanterde bir kişi gibi yetki alır: bir düğümde (lokasyon, sistem, ekipman) Yetkili Ata; oradaki yetki, tanımın söylediği gibi altına da geçer. API her kayıtta entegrasyonun yetkisini uygulamanın bir kişi için hesapladığı gibi hesaplar:

  • Envanter: herhangi bir yetkisi olan düğümler.
  • İş emirleri: düğümünde iş emri okuma yetkisi olanlar, entegrasyona atananlar, oluşturabildiği yerde kendi oluşturdukları ve — servis firması için — organizasyona atanmış müşteri iş emirleri (organizasyonun "Gelen İş Emirleri" yetkisiyle).
  • Geri bildirimler: düğümünde geri bildirim okuma yetkisi olanlar.
  • Yazma da uygulamanın kurallarına uyar, bkz. İş emri yazma ve tamamlama.

Entegrasyonun okuyamadığı bir kayıt, yokmuş gibi 404 döner.

Sınırlar​

Paket, bir entegrasyonun dakikada kaç çağrı yapabileceğini ve organizasyonun kaç entegrasyonu olabileceğini belirler. Her yanıtta X-RateLimit-Limit, X-RateLimit-Remaining ve X-RateLimit-Reset (saniye) başlıkları vardır; sınır aşılınca API 429 rate_limited ve Retry-After döner. Organizasyon › Entegrasyonlar her entegrasyonun bugünkü çağrı sayısını gösterir.