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 verileri dahil olmak üzere tüm platform kaynaklarını programatik olarak yönetmenize ve erişmenize olanak tanıyan kapsamlı bir REST API sağlar. API, OData protokolü üzerine inşa edilmiştir ve JWT tabanlı kimlik doğrulama içerir. 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.

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, tüm platform varlıkları için CRUD işlemleri sağlayan OData protokolüne dayanır. Temel URL: https://<your-server-url>/api/odata

Temel Varlıklar

VarlıkMetotlarAçıklama
DeviceGET, POST, PUT, PATCH, DELETEEndüstriyel cihazları ve konfigürasyonlarını yönetin.
GatewayGET, POST, PUT, PATCH, DELETEEdge computing gateway'lerini yönetin.
AlertGET, POST, PUT, PATCH, DELETESistem uyarılarına erişin ve yönetin.
RuleGET, POST, PUT, PATCH, DELETEKural motoru kurallarını yapılandırın ve yönetin.
RuleActionGET, POST, PUT, PATCH, DELETEKurallar için aksiyonlar tanımlayın.
TargetProfileGET, POST, PUT, PATCH, DELETEHedef sistem profillerini yapılandırın (MSSQL, PostgreSQL, ClickHouse, vb.).
DeviceProfileGET, POST, PUT, PATCH, DELETECihaz iletişim profillerini yönetin.
NotificationChannelGET, POST, PUT, PATCH, DELETEBildirim 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

Tüm varlık uç noktaları standart OData işlemlerini 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)

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

Swagger UI şunları sağlar:

  • Etkileşimli uç nokta testi
  • İstek/yanıt şema tanımları
  • Tüm API çağrıları için örnek yükler
  • OAuth 2.0 kimlik doğrulama akışı

Kod Örnekleri

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