# Sınırlar: bu sürümde olmayanlar

Bu liste kullanıcıya **baştan** söylenir; olmayan bir şeyi vaat etmeyin ve yerine geçici bir çözüm uydurmayın.

## Uygulama yapamaz

- **Devoplus dışındaki adreslere bağlanamaz.** Uygulama yalnız Devoplus API'sine çıkar; başka siteye, harici API'ye,
  veritabanı sunucusuna istek reddedilir.
- **Sır taşıyamaz.** API anahtarı, parola, bağlantı adresi koda ya da depoya yazılmaz.
- **Kendi oturum/giriş sistemini kuramaz.** Kimlik her zaman Portal'dan gelir.
- **Kendi yetki modelini kuramaz.** Rol gerekiyorsa uygulama izinleri (`permissions`) kullanılır ve portal yöneticisi
  atar; e-posta listesiyle ya da kendi rol tablosuyla yetki yazılmaz.
- **Kendi zamanlayıcısını ya da arka plan döngüsünü çalıştıramaz.** Tekrarlanan ya da arka planda bitecek iş manifest
  `jobs` ile beyan edilir ve platform tetikler ([zamanlanmış görev ve kuyruk](/docs/jobs.md)). İş Devoplus
  servislerini uygulamanın kendi kimliğiyle ve yalnız `jobs.services` ile beyan edilenleri (e-posta, SMS, mobil
  bildirim, DEXA okuma ve yapay zeka) kullanır; **arka plan işi servisleri kurulumda yönetici onayıyla açılır**.
  Organizasyon şeması ve **DEXA'ya yazma bu yolla açılmaz**.
- **Ajan aracında süreli onaylı işlem yapamaz.** Devoplus yapay zekasının çağırdığı araç servisleri kişi adına kullanır;
  e-posta, SMS, mobil bildirim ve DEXA'ya yazma bu yolda kullanılamaz.
- **Serbest SQL ile ERP'ye erişemez.** ERP yalnız yöneticinin tanımladığı sorgu ve işlem anahtarlarıyla okunur/yazılır.
- **DEXA sorgusunda kişi/şirket/maliyet merkezi kodunu kendisi belirleyemez; yönetici onaylarsa belirleyebilir.** `UserCode`,
  `CompanyCode` ve `CostCenterCode` onaysız kurulumda oturumdaki kişiden çözülür; uygulamanın göndermesi kurulumda
  "kodları uygulama belirler" onayını ister ve gönderilen kod portala karşı doğrulanır. Boş değer ERP'ye gitmez.
  `LangCode` hiçbir zaman gönderilemez.
- **Serbest adrese e-posta / telefona SMS gönderemez.** Alıcılar Devoplus kullanıcılarıdır.

## İstek hızı

- **Uygulamaya gelen istekler dakikada sınırlıdır.** Sınır kurulumun katmanına göre dakikada 600 ile 6.000 istek
  arasındadır (varsayılan 1.200). Aşılınca uygulama `429 ONE-DSP-E-013` ve `Retry-After: 60` alır; bir dakika sonra
  yeniden deneyin. Kodunuz istekleri döngüde art arda göndermemeli; toplu işi tek istekte ya da arka plan işinde yapın.
  Sayaç yaklaşıktır; daha yüksek bir katman gerekiyorsa platform yöneticisinden isteyin.

## Kapalı olabilen servisler

- **SMS** her ortamda açık değildir; kapalı kanalda uç `ONE-APP-E-110` döner; kanal açık ama portalın SMS sağlayıcısı yoksa `ONE-APP-E-021`. Kodunuz
  SMS düşse de çalışmayı sürdürmelidir (`notify` kanalları bağımsız gönderir).
- **Mobil bildirim** her ortamda ve portalda açık değildir; kapalı kanalda uç `ONE-APP-E-029` döner; aynı kural. İsteğe bağlı `path`
  dokununca açılacak uygulama içi sayfadır; Portal'ın yol kuralına uymayan yol `400` alır.
- **ERP'ye yazan işlem:** bugün One uygulamalarına açılmış bir işlem yoktur; açmak platform tarafında ayrı bir iştir.
- E-posta, SMS, mobil bildirim ve ERP'ye yazma, kullanıcının o uygulamaya Portal'da **ayrıca ve süreli (30 gün) onay**
  vermesini ister; onay yoksa uygulama açılır ama bu işlemler yapılamaz.

## Henüz hazır olmayanlar

- **Uygulamalar arası okuma henüz kullanılamaz.** Bir uygulamanın verisini başka bir uygulamada göstermek için manifest
  beyanı (`exports` / `imports`) ve SDK işlevleri (`defineExports`, `readAppExport`) vardır, ama platformun onay ve servis
  tarafı henüz yayında değildir: bugün başka bir uygulamanın verisi okunamaz. Kullanıcıya baştan söyleyin; veriyi iki
  uygulamaya kopyalayan bir geçici çözüm kurmayın.
- **İskelet üretici (`create-devoplus-one-app`) kararlı kanaldan (`latest`) çalıştırılır** (`@next` yalnız test kanalı içindir):
  `npm create devoplus-one-app -- <dizin> --slug <kısa-ad> --owner <e-posta>` yazın. ⛔ Kapsamsız `create-one-app` adı npm'de Devoplus'a ait DEĞİLDİR:
  `npx create-one-app` ya da `pnpm dlx create-one-app` çalıştırmayın, başka birinin kodunu çalıştırır.
- **SDK (`@devoplus/one-sdk`) kararlı kanaldan (`latest`) kurulur**; `next` etiketi test kanalındaki ön sürümdür. İskelet
  üretici SDK'nın kendi kanalındaki güncel sürümünü okur ve tam sürümle sabitler; paket deposuna ulaşamazsa `^0.3.0-next.0` aralığını yazar.
- **Kayıttan sonra uygulama izni eklemek** talep yoluyla yapılamaz; uygulamanın ana portalının şirket yöneticisi
  Devoplus Console'dan ekler (ana portalı belirlenemeyen uygulamada platform yöneticisi). Uygulama içi bütün izinleri kayıt talebinde (`additionalPermissions`) isteyin.
- **Pasife alınmış bir uygulamanın kısa adı yeniden kaydedilemez** (`ONE-APP-E-107`); yeni uygulama başka bir kısa ad alır.
- **Yerelde Devoplus servisleri taklittir** (`one dev`): e-posta, SMS ve mobil bildirim gönderilmez, yerel posta
  kutusuna yazılır; DEXA ve organizasyon şeması `one.dev.json` örnek verisinden gelir; Devoplus yapay zekası ve arka plan
  işinin servis çağrıları yerelde yoktur. Gerçek gönderim, gerçek ERP verisi ve kurulum onayları yalnız platformda denenir.
- **Portal pano widget'ları henüz kullanılamaz.** Manifest `widgets` beyanı doğrulanır ama widget'ı çağıran ve panoda
  çizen taraf henüz yayında değildir. Kullanıcıya baştan söyleyin; widget yerine uygulamanın kendi sayfasını önerin.

Bir isteği bu sınırlardan biri engelliyorsa kullanıcıya açıkça söyleyin, mümkünse aynı amaca Devoplus One içinde
ulaşan bir yol önerin, yoksa ihtiyacı `new-query` ya da kayıt talebinin gerekçesiyle platform ekibine iletin.
