İlk adımlar
1. Entegrasyon oluşturun
Organizasyonda Entegrasyonlar yetkisi olan biri (organizasyon yöneticilerinde vardır):
- Organizasyon › Entegrasyonlar'ı açar ve Yeni entegrasyon'a tıklar.
- Bir ad verir (log kayıtlarında ve Yetkililer listelerinde görünür), kapsamları ve bir organizasyon yetkisi seçer.
- Açılan pencereden istemci kimliğini ve istemci sırrını kopyalar — sır yalnız o an gösterilir.
Sonra entegrasyona görmesi gereken envanterde, bir kişiye verir gibi yetki verir: lokasyonda (ya da sistem, ekipmanda) Yetkililer › Yetkili Ata, entegrasyonu ve bir yetki tanımını seçer.
Organizasyon › Entegrasyonlar paketin API içermediğini söylüyorsa organizasyonun API içeren bir pakete geçmesi gerekir.
2. Erişim token'ı alın
Örnekler API adresini (https://app.kommuns.com/api/public/v1) $KOMMUNS_API olarak kullanır.
- curl
- Python
- Node.js
export KOMMUNS_API="https://app.kommuns.com/api/public/v1"
curl -s -u "$CLIENT_ID:$CLIENT_SECRET" -d grant_type=client_credentials "$KOMMUNS_API/oauth/token"
import os
import requests
API = os.environ["KOMMUNS_API"]
response = requests.post(f"{API}/oauth/token", data={"grant_type": "client_credentials"},
auth=(os.environ["CLIENT_ID"], os.environ["CLIENT_SECRET"]), timeout=10)
response.raise_for_status()
token = response.json()["access_token"]
const API = process.env.KOMMUNS_API;
const basic = Buffer.from(`${process.env.CLIENT_ID}:${process.env.CLIENT_SECRET}`).toString('base64');
const res = await fetch(`${API}/oauth/token`, {
method: 'POST',
headers: {authorization: `Basic ${basic}`, 'content-type': 'application/x-www-form-urlencoded'},
body: 'grant_type=client_credentials',
});
const {access_token: token} = await res.json();
Yanıt:
{"access_token": "kmns_at_…", "token_type": "Bearer", "expires_in": 3600, "scope": "inventory:read work_orders:read"}
Token bir saat geçerlidir; süresi dolunca (ya da bir çağrı 401 dönünce) yenisini alın.
3. API'yi çağırın
curl -s -H "Authorization: Bearer $TOKEN" "$KOMMUNS_API/me"
curl -s -H "Authorization: Bearer $TOKEN" "$KOMMUNS_API/work-orders?status=open,in_progress&limit=20"
/me, token'ın hangi entegrasyona ve organizasyona ait olduğunu, kapsamlarını ve dakikalık sınırı verir. Sonra
Kimlik doğrulama ve yetkiler ile her uç noktanın uyduğu ortak kuralları okuyun.