Skip to content

SDK Control Plane

Cavanshirpro edited this page Sep 19, 2026 · 1 revision

Python SDK ile Editör yönetim API’si

English · Türkçe · Languages / Diller

Kapsam: JSON API Forge 0.5.1 · İnceleme: 17 Eylül 2026 · Dil: Türkçe

Control plane istemcileri uygulama CRUD'dan ayrı /__forge/editor/v1 API'sini kullanır. Sunucuda bu yüzey etkin olmalı, ağ/HTTPS/Host politikası ve kullanıcı rolleri erişime izin vermelidir.

Login, okuma ve kontrollü kayıt

import json
from getpass import getpass
from json_api_forge import EditorControlPlaneClient

with EditorControlPlaneClient("https://forge-admin.example.com") as control:
    control.login("worker.name", getpass("Parola: "))
    print(control.projects().data)
    old = control.document("WikiDemo", "app.json")
    content = json.loads(old.data["content"])
    content["version"] = "1.0.1"
    saved = control.save_document(
        "WikiDemo", "app.json",
        json.dumps(content, ensure_ascii=False, indent=2) + "\n",
        expected_sha256=old.data["sha256"],
    )
    print(saved.data)
    control.logout()

Buradaki WikiDemo, control plane'in listelediği proje dizini adıdır; uygulama helper'ındaki wiki-demo slug'ı ile aynı parametre değildir. Başka biri dosyayı değiştirmişse eski SHA ile kayıt 409 üretir. Yeni belge için server'ın desteklediği expected_sha256="new" sözleşmesi kullanılır; mevcut dosyayı zorla ezmek için kullanılmaz.

Kurulum ve session

setup_status, setup_founder, register, login, logout hesap yaşam döngüsüdür. Founder kurulum token'ı yalnız ilk hesap içindir. Davet kayıtları exact-format, single-use ve expiring token kullanır. Setup tamamlandığında server setup politikasını kapatın.

Oturum bellekte tutulur; auth response'undaki access token dönen payload'dan kaldırılır. has_session, set_session_token, clear_session oturum yardımcılarıdır. logout server session'ını kapatmayı dener ve belleği temizler; close/aclose sadece yerel session/transport temizliği olarak düşünülmelidir, server logout çağrısının yerine geçtiğini varsaymayın. Yetkili request 401 alırsa session temizlenir.

İşlev aileleri

Alan Metot örnekleri
Profil/yetki capabilities, profile, update_profile
Proje/belge projects, create_project, documents, document, save_document, validate_project
Roller/üyeler roles, create_role, update_role, members, update_member, create_invitation
İşbirliği areas, create_area, messages, post_message, notes, create_note
Veritabanı database_catalog, database_rows
Dosya attachments, upload_attachment, download_attachment
Çağrı/audit start_call, call_ticket, call_client_url, audit

UI veya SDK metodu bulunması yetki verildiği anlamına gelmez; server her istekte güncel kapsamı uygular. update_member membership listesini değiştirme semantiği taşır; mevcut ilişkileri okumadan kısmi ekleme gibi kullanmayın.

Attachments

Upload normal, symlink olmayan dosyadan bounded snapshot alır ve dosya kimliğini kontrol eder. Download geçici özel dosyaya yazar, fsync ve atomic replacement uygular. Hedef yolun var olan dosyasının değişebileceğini dikkate alın. Büyük attachment için hem client hem server sınırları gerekir.

Ses/video

start_call ve call_ticket signaling/katılım hazırlığıdır. SDK'nin kendisi ses/video yakalayan Python WebRTC motoru değildir. call_client_url ticket'ı URL fragment'ında taşır; browser sayfası WebSocket subprotocol ile sunar. Ticket'ı query parametresine çevirmeyin.

Async sınıfta eşdeğer çağrılar await, context manager async with kullanır. Tam imzalar ve bütün request modelleri referans indeksinde yer alır.

Kaynak ve doğrulama

Bu sayfa aşağıdaki sabit commitlerdeki davranışı açıklar. Yeni bir sürümde aynı davranışın sürdüğünü varsaymayın.


Wiki ana sayfa · Tüm sayfalar · Sürüm ve bakım

Clone this wiki locally