NotusFlow Developer Hub & API Reference

Geliştirici Dokümantasyonu

.NET 10 ve .NET Aspire mikroservis mimarisi üzerine kurulu NotusFlow süreç motorunu REST API, Webhooks, C# Scripting Sandbox ve AI servisleri ile sistemlerinize entegre edin.

Bölüm 1

Sistem Mimarisi & .NET Aspire

NotusFlow, dağıtık ve ölçeklenebilir mikroservis mimarisine sahiptir. Tüm servisler **.NET 10** platformunda geliştirilmiş olup **.NET Aspire** orkestrasyon motoru ile yönetilmektedir.

YARP Reverse Proxy

Gelen tüm HTTP/REST istekleri NotusFlow.Gateway (YARP) üzerinden doğru mikroservise (Identity, Workflow, Reporting) yönlendirilir.

Servis Bağlantıları

Servisler arası iletişim Aspire Service Discovery URL yapıları ile gerçekleşir (http://identity, http://workflow).

PostgreSQL & Redis

Identity ve Workflow veritabanları PostgreSQL üzerinde izole depolanırken, oturum ve delegeler Redis ile önbelleğe alınır.

Bölüm 2

Kimlik Doğrulama & Multi-Tenancy

API istekleri JWT Bearer Token veya üretilen özel **API Keys** (X-API-Token) ile doğrulanır. Kiracı (Tenant) yalıtımı otomatik olarak DbContext seviyesinde uygulanır.

Zorunlu HTTP Header Tanımları
Authorization: Bearer <YOUR_JWT_TOKEN>
X-API-Token: ntf_live_98a76f5d4e3c2b1a...
X-Tenant-Id: 3fa85f64-5717-4562-b3fc-2c963f66afa6 (Opsiyonel/SuperAdmin)
Multi-Tenancy Güvenlik Kuralı: NotusFlow EF Core altyapısında kiracı izolasyonu global query filter seviyesindedir. Kod genelinde IgnoreQueryFilters() kullanımı SuperAdmin rolleri haricinde kesinlikle engellenmiştir.
Bölüm 3

REST API İş Akışı & Görev Yönetimi

Süreç tetikleme, aktif kullanıcı görevlerini listeleme ve görev tamamlama işlemleri için YARP arkasındaki WorkflowExecution ve UserTasks uç noktalarını kullanın.

# 1. Yeni bir İş Akışı Örneği (Instance) Başlatmacurl -X POST https://gateway.notusflow.com/api/workflow-execution/start \ -H "Authorization: Bearer YOUR_JWT_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "definitionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "inputs": { "MusteriAdi": "Notussoft Yazılım", "SiparisTutari": 75000 } }'# 2. Bekleyen Kullanıcı Görevini Tamamlamacurl -X POST https://gateway.notusflow.com/api/user-tasks/task-9982/complete \ -H "Authorization: Bearer YOUR_JWT_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "OnayDurumu": "Approved", "Aciklama": "Bütçe onaylandı." }'
Bölüm 4

Webhook Entegrasyonu & HMAC-SHA256

NotusFlow süreci tamamlandığında veya görev atandığında alıcı URL adresinize HMAC-SHA256 imzalı POST istekleri gönderilir.

Desteklenen Webhook Olayları

workflow.started, workflow.completed, task.created, task.completed, task.assigned

Güvenlik Başlıkları

X-Notus-Event: <eventType>, X-Notus-Signature: <hex_hmac_sha256>

bool VerifyWebhookSignature(string rawJsonBody, string receivedSignature, string secret) {using var hmac = new System.Security.Cryptography.HMACSHA256(Encoding.UTF8.GetBytes(secret));var hash = hmac.ComputeHash(Encoding.UTF8.GetBytes(rawJsonBody));var computedSignature = Convert.ToHexString(hash).ToLower();return string.Equals(computedSignature, receivedSignature, StringComparison.OrdinalIgnoreCase); }
Bölüm 5

C# Betik Motoru (Scripting) & Dynamic UI

NotusFlow ScriptingService altyapısı, form alanları ve iş akışı adımları üzerinde dinamik Roslyn C# betikleri yürütür. Kodlar ConcurrentDictionary ile temsilci (delegate) seviyesinde önbelleğe alınarak milisaniyelik hızla derlenir.

S-2 Güvenlik Sandbox Kısıtlamaları: Kötü niyetli kod yürütmeyi (RCE) önlemek amacıyla betiklerde şu namespace ve kütüphanelerin kullanımı kesinlikle yasaklanmıştır ve derleme öncesinde engellenir:
System.IO, System.Net, System.Reflection, System.Diagnostics, System.Threading, System.Security, Microsoft.Win32, System.Environment
C# Script Örneği (Model & UI Manipülasyonu)Roslyn Sandboxed Execution
// Model verilerine erişim ve UI elemanı kontrolleridecimal siparisTutari = Convert.ToDecimal(Model.SiparisTutari ?? 0);string musteriTipi = Model.MusteriTipi?.ToString() ?? "Standart";decimal indirim = 0m;if (musteriTipi == "Premium" && siparisTutari > 50000m) { indirim = siparisTutari * 0.15m; UI.IndirimAlani.Visible = "true"; UI.OnayDugmesi.Disabled = "false"; }else{ UI.IndirimAlani.Visible = "false"; } Model.IndirimTutari = indirim; Model.NetToplam = siparisTutari - indirim;
Bölüm 6

Yapay Zeka (AI) Entegrasyon Servisi

NotusFlow AI mikroservisi, doğal dil komutları ile iş akışları oluşturmanıza ve kod tabanınızı indeksleyerek otomatik süreç önerileri sunmanıza imkan tanır.

POST /api/ai/process

Süreç şablonlarını doğal dille üretir ve iyileştirme tavsiyeleri verir.

POST /api/ai/index-codebase

Uygulamanızın C# betiklerini ve form tiplerini AI bellek havuzuna indeksler.

Bölüm 7

Raporlama & Analiz Servisi

NotusFlow.Reporting mikroservisi, tamamlanan süreçlerin tamamlama sürelerini, darboğaz oluşturan görev adımlarını ve kullanıcı bazlı performans analizlerini REST API üzerinden sağlar.

GET /api/reports/summary
GET /api/customreports/{reportId}
Bölüm 8

Audit Logging & Bildirim Servisleri

Süreçler üzerindeki tüm veri değişiklikleri ve adım geçişleri değişmez (immutable) denetim günlüklerine kaydedilir.

GET /api/workflow-audit/{instanceId}

Belirtilen süreç örneğinin tüm geçmiş adımlarını ve parametre değişimlerini döndürür.

POST /api/notifications/read-all

Kullanıcının aktif sistem bildirimlerini topluca okundu olarak işaretler.

Bölüm 9

Hata Standartları & HTTP Yanıt Formatı

NotusFlow API katmanı tüm yanıtlarında standart ApiResponse<T> sarmalayıcısını kullanır.

{ "success": true, "data": { "instanceId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "status": "Running" }, "error": null, "timestamp": "2026-07-22T12:00:00Z" }
Bölüm 10

Geliştirici Sıkça Sorulan Sorular (SSS)

Geliştirici Destek Programı

11. Teknik Destek ve SLA Kılavuzu

Notussoft güvencesiyle, entegrasyon süreçlerinizin kesintisiz yürümesi için kurumsal seviyede öncelikli teknik destek ve Hizmet Seviyesi Anlaşması (SLA) şartları sunuyoruz.

L1 - Kritik Hata SLA

Kritik çalışma zamanı ve kesinti durumları için en geç 2 saat içinde müdahale garantisi.

L2 - Entegrasyon SLA

API entegrasyonu ve C# script geliştirmeleri için en geç 1 iş günü yanıt süresi.

Doğrudan Mimar Desteği

Notussoft kıdemli yazılım mimarları ile canlı video konferans entegrasyon toplantıları.

Teknik yardıma mı ihtiyacınız var?

Mühendislerimiz entegrasyon sorularınız için hazır bekliyor.

[email protected] (support [at] notusflow.com)+90 501 674 00 87