Skip to main content

General

REST API Referansı

REST API kullanarak Proxus IIoT platform kaynaklarına erişin ve yönetin.

Proxus IIoT platformu; cihazlar, gateway'ler, kurallar, uyarılar ve telemetri dahil platform varlıklarına erişim için kimliği doğrulanmış bir REST yüzeyi sunar. Varlık erişimi için OData, kimlik doğrulama için JWT bearer kullanılır. Güncel varlık ve alan sözleşmesi OData metadata belgesidir; ayrıca kullanıcı izinleri okunabilecek veya değiştirilebilecek içeriği kısıtlayabilir. Kimlik doğrulama yöntemleri hakkında daha fazla bilgi için Kimlik Doğrulama Sağlayıcıları sayfasına bakın.

Kimlik Doğrulama

API, JWT Bearer Token kimlik doğrulaması kullanır. Bir token almak için:

  1. Kimlik bilgilerinizle /api/Authentication/Authenticate uç noktasına bir POST isteği gönderin.
  2. Dönen token'ı sonraki isteklerin Authorization başlığına ekleyin.
API Kimlik Doğrulama Akışı
code

İstemci Uygulama

Kodunuz

key

Kimlik Doğrula

/api/Authentication

api

OData API

Varlık İşlemleri

dashboard

Platform

Cihazlar / Kurallar / Uyarılar

Kimlik doğrulama uç noktası, JWT token'ını düz bir dize (JSON nesnesi değil) olarak döndürür.

# Token al
curl -X POST https://<your-server-url>/api/Authentication/Authenticate \
  -H "Content-Type: application/json" \
  -d '{"userName": "<username>", "password": "<password>"}'

# Sonraki isteklerde token kullan
curl -X GET https://<your-server-url>/api/odata/Device \
  -H "Authorization: Bearer <jwt_token>"

OData Uç Noktaları

Proxus API'si, mevcut sunucunun yayınladığı varlık setleri için OData kullanır. Temel URL: https://<your-server-url>/api/odata. Güncel sözleşmeyi GET /api/odata/$metadata ile okuyun; her platform nesnesinin yayınlandığını varsaymak yerine kimliği doğrulanmış kullanıcının erişebildiği varlık setlerini ve alanları kullanın.

Temel Varlıklar

VarlıkMetotlarAçıklama
DeviceCanlı sözleşme ve kullanıcı izinlerinin izin verdiği işlemlerEndüstriyel cihazları ve konfigürasyonlarını yönetin.
GatewayCanlı sözleşme ve kullanıcı izinlerinin izin verdiği işlemlerEdge computing gateway'lerini yönetin.
AlertCanlı sözleşme ve kullanıcı izinlerinin izin verdiği işlemlerSistem uyarılarına erişin ve yönetin.
RuleCanlı sözleşme ve kullanıcı izinlerinin izin verdiği işlemlerKural motoru kurallarını yapılandırın ve yönetin.
RuleActionCanlı sözleşme ve kullanıcı izinlerinin izin verdiği işlemlerKurallar için aksiyonlar tanımlayın.
TargetProfileCanlı sözleşme ve kullanıcı izinlerinin izin verdiği işlemlerHedef sistem profillerini yapılandırın (MSSQL, PostgreSQL, ClickHouse, vb.).
DeviceProfileCanlı sözleşme ve kullanıcı izinlerinin izin verdiği işlemlerCihaz iletişim profillerini yönetin.
NotificationChannelCanlı sözleşme ve kullanıcı izinlerinin izin verdiği işlemlerBildirim kanallarını yapılandırın.

Not: Telemetri (DeviceRawData) OData üzerinden sunulmaz. SELECT sorguları için Telemetri API'sini kullanın. Telemetri depolama sistemi hakkında daha fazla bilgi için ClickHouse Entegrasyonu sayfasına bakın.

Desteklenen OData İşlemleri

Varlık uç noktaları, sunucu tarafından etkinleştirilen ve mevcut istek için izin verilen OData sorgu seçeneklerini destekler:

  • $filter: Sonuçları filtrele (örn., /api/odata/Device?$filter=Name eq 'MyDevice')
  • $select: Belirli alanları seç (örn., /api/odata/Device?$select=Name,Status)
  • $top & $skip: Sayfalama (örn., /api/odata/Device?$top=10&$skip=20)
  • $orderby: Sonuçları sırala (örn., /api/odata/Device?$orderby=Name)
  • $count: Toplam sayıyı al (örn., /api/odata/Device/$count)

Sunucu tek bir OData sorgusunun sayfa boyutunu 100 kayıtla sınırlar. Açık bir $select, sınırlı bir $top ve sayfalama kullanın. Başarılı bir okuma, aynı kimliğin varlık oluşturma, güncelleme veya silme yetkisi olduğu anlamına gelmez.

Telemetri API

ClickHouse'ta saklanan telemetri verilerine doğrudan erişim için özel telemetri uç noktasını kullanın:

Telemetri Sorgusu Çalıştır

  • Uç Nokta: POST /api/Telemetry/execute
  • Açıklama: ClickHouse telemetri verilerine karşı güvenli SELECT sorguları çalıştırın
  • İstek Gövdesi:
    {
      "query": "SELECT * FROM DeviceRawData WHERE Time > now() - INTERVAL 1 DAY LIMIT 100"
    }
  • Sorgu Parametreleri:
    • maxRows: Döndürülecek maksimum satır sayısı (varsayılan: 10000, maks: 50000)

Bu uç nokta SQL enjeksiyon koruması içerir ve sorgu sınırlarını (sadece SELECT) uygular.

Yanıt Formatı: ClickHouse JSONEachRow (NDJSON) döndürür. İstemciler yanıt gövdesini metin olarak okumalı veya satır satır akıtmalıdır. Veri yapısı ve Birleşik İsim Alanı ile ilişkisi hakkında daha fazla bilgi için Birleşik İsim Alanı sayfasına bakın.

Swagger Dokümantasyonu

Tüm mevcut uç noktaların ve şemaların etkileşimli bir gezgini için yerel kurulumunuzdaki Swagger UI'a erişin:

http://<your-server-url>/swagger

Açıklamalı Proxus Swagger UI
Açıklamalı Proxus Swagger UI

Canlı demo, üretilen OpenAPI 3 belgesine karşı doğrulandı. Ekran güncel API kataloğunu, JWT bearer Authorize kontrolünü ve çalışan sunucunun yayınladığı varlık işlemlerini gösterir. Uç nokta listesi sunucu sürümü ve kurulu modüllerle değişebileceği için nihai sözleşme olarak üretilen belgeyi kullanın.

Swagger UI şunları sağlar:

  • Etkileşimli uç nokta testi
  • İstek/yanıt şema tanımları
  • Çalışan sözleşmenin sağladığı yerlerde örneklerle birlikte üretilen istek ve yanıt şemaları
  • Authorization: Bearer <token> header'ı ile JWT bearer kimlik doğrulama desteği

Kod Örnekleri

Farklı programlama dilleri kullanarak Proxus API ile nasıl etkileşime girileceğine dair örnekler aşağıdadır:

lightbulb
Konfigürasyon

JWT token imzalama anahtarlarını, süresini ve issuer/audience ayarlarını Proxus-config.toml dosyasındaki JWT & WebAPI bölümünden yapılandırın.