---
url: https://docs.ogmabox.com/tr/plugins/backend-sdk.md
description: >-
  Ogma arka uç eklenti API'leri, yalıtılmış yürütme, depolama yolları, HTTP
  geçmişine erişim, bulgular, komutlar ve ana uygulama entegrasyonu için başvuru
  kaynağı.
---

# Eklenti arka uç SDK başvuru kaynağı {#plugin-backend-sdk-reference}

Arka uç eklenti kodu, Ogma'nın JavaScript yalıtım ortamında çalışır ve ana uygulamadan bir `sdk` nesnesi alır.

Tam eklenti paket biçimi, manifest alanları, izinler ve örnekler için [eklenti sistemi kılavuzuyla](./README.md) başlayın.

## Giriş noktası {#entry-point}

Arka uç eklentileri bir `init` işlevi sunar:

```js
async function init(sdk) {
  sdk.console.log("plugin started");
}
```

Eklenti etkinleştirildiğinde Ogma `init(sdk)` çağırır.

## Temel ad alanları {#core-namespaces}

| Ad alanı | Amaç |
| --- | --- |
| `sdk.console` | Eklenti günlük arabelleğine mesaj yazma. |
| `sdk.meta` | Eklenti meta verilerini ve veri yollarını okuma. |
| `sdk.events` | Ogma olayları için geri çağrı kaydetme. |
| `sdk.requests` | HTTP geçmişini ve istek verilerini sorgulama. |
| `sdk.findings` | İzinler elverdiğinde bulgu sorgulama veya oluşturma. |
| `sdk.scope` | Etkin kapsam bilgilerini okuma. |
| `sdk.storage` | Eklenti durumu için anahtar/değer kalıcılığı. |
| `sdk.fs` | Eklentinin özel veri dizininde dosya işlemleri. |
| `sdk.path` | Eklenti veri dizinindeki yolları oluşturma yardımcıları. |
| `sdk.api` | Arka uç işleyicilerini eklenti ön ucuna sunma. |

## Günlük kaydı {#logging}

```js
sdk.console.log("message")
sdk.console.warn("warning")
sdk.console.error("error")
```

Mesajlar eklenti günlük arayüzünde görünür. Günlükleri kısa tutun ve gizli bilgileri yazmaktan kaçının.

## Meta veriler {#metadata}

```js
sdk.meta.id()
sdk.meta.packageId()
sdk.meta.version()
sdk.meta.path()
```

Eklentiye özgü veriler için `sdk.meta.path()` kullanın. Yalıtılmış eklenti kodunun keyfi dosya sistemi yollarına erişebildiğini varsaymayın.

```js
sdk.storage.set("key", "value")
sdk.storage.get("key")
sdk.storage.keys()
sdk.storage.delete("key")
sdk.storage.clear()
```

```js
sdk.fs.readFile("relative/file.txt")
sdk.fs.writeFile("relative/file.txt", "text")
sdk.fs.appendFile("relative/file.txt", "more")
sdk.fs.exists("relative/file.txt")
sdk.fs.existsSync("relative/file.txt")
sdk.fs.mkdir("relative/dir")
sdk.path.join("a", "b", "c")
```

## Olaylar {#events}

```js
sdk.events.onInterceptRequest(function(req) {
  return req
})

sdk.events.onInterceptResponse(function(req, res) {
  sdk.console.log(res.getCode())
})

sdk.events.onProjectChange(function() {
  sdk.console.log("project changed")
})
```

Geri çağrılar hızlı olmalıdır. Uzun süren işleri açık kullanıcı işlemlerine veya arka uç API işleyicilerine taşıyın.

## Ön uç köprü işleyicileri {#frontend-bridge-handlers}

Arka uç eklentileri ön uç eklenti panelleri için işleyiciler sunabilir:

```js
sdk.api.register("ping", async function(input) {
  return { ok: true, input: input };
});
```

Ön uç, işleyiciyi Ogma ön uç SDK'sı üzerinden çağırır. [Ön uç SDK başvuru kaynağına](./frontend-sdk.md) bakın.

## Güvenlik beklentileri {#security-expectations}

* HTTP trafiğini, bulguları, günlükleri ve dışa aktarımları hassas kabul edin.
* Yalnızca eklentinin ihtiyaç duyduğu izinleri isteyin.
* Varsayılan olarak kimlik bilgilerini, çerezleri, bearer belirteçlerini veya özel trafiği asla günlüğe yazmayın.
* Eklenti davranışını kullanıcı için açık ve anlaşılır tutun.
