---
url: https://docs.ogmabox.com/bn/plugins/backend-sdk.md
description: >-
  Ogma ব্যাকএন্ড প্লাগইন API, স্যান্ডবক্সে নির্বাহ, স্টোরেজ পাথ, HTTP ইতিহাসে
  অ্যাক্সেস, ফলাফল, কমান্ড ও হোস্ট ইন্টিগ্রেশনের রেফারেন্স।
---

# প্লাগইনের ব্যাকএন্ড SDK রেফারেন্স {#plugin-backend-sdk-reference}

ব্যাকএন্ড প্লাগইনের কোড Ogma-র JavaScript স্যান্ডবক্সে চলে এবং হোস্ট অ্যাপ্লিকেশন থেকে `sdk` অবজেক্ট পায়।

প্লাগইন প্যাকেজের সম্পূর্ণ বিন্যাস, ম্যানিফেস্টের ফিল্ড, অনুমতি ও উদাহরণের জন্য [প্লাগইন ব্যবস্থার নির্দেশিকা](./README.md) দিয়ে শুরু করুন।

## এন্ট্রিপয়েন্ট {#entry-point}

ব্যাকএন্ড প্লাগইন `init` ফাংশন দেয়:

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

প্লাগইন চালু হলে Ogma `init(sdk)` কল করে।

## মূল নেমস্পেস {#core-namespaces}

| নেমস্পেস | উদ্দেশ্য |
| --- | --- |
| `sdk.console` | প্লাগইনের লগ বাফারে বার্তা লেখা। |
| `sdk.meta` | প্লাগইনের মেটাডেটা ও তথ্যের পাথ পড়া। |
| `sdk.events` | Ogma ইভেন্টের কলব্যাক নিবন্ধন। |
| `sdk.requests` | HTTP ইতিহাস ও অনুরোধের তথ্যে কোয়েরি। |
| `sdk.findings` | অনুমতি থাকলে নিরাপত্তা পরীক্ষার ফলাফল খোঁজা বা তৈরি। |
| `sdk.scope` | সক্রিয় স্কোপের তথ্য পড়া। |
| `sdk.storage` | প্লাগইনের অবস্থার কী/মান স্থায়ীভাবে সংরক্ষণ। |
| `sdk.fs` | প্লাগইনের ব্যক্তিগত তথ্য ডিরেক্টরিতে ফাইলের কাজ। |
| `sdk.path` | প্লাগইনের তথ্য ডিরেক্টরিতে পাথ তৈরির সহায়ক। |
| `sdk.api` | প্লাগইনের ফ্রন্টএন্ডকে ব্যাকএন্ড হ্যান্ডলার দেওয়া। |

## লগ লেখা {#logging}

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

প্লাগইনের লগ UI-তে বার্তা দেখা যায়। লগ সংক্ষিপ্ত রাখুন এবং গোপন তথ্য লেখা এড়ান।

## মেটাডেটা {#metadata}

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

প্লাগইনের নিজস্ব তথ্যের জন্য `sdk.meta.path()` ব্যবহার করুন। স্যান্ডবক্সের প্লাগইন কোড থেকে ইচ্ছেমতো ফাইলসিস্টেম পাথে অ্যাক্সেস আছে ধরে নেবেন না।

```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")
```

## ইভেন্ট {#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")
})
```

কলব্যাক দ্রুত হওয়া উচিত। দীর্ঘ সময়ের কাজ ব্যবহারকারীর সুস্পষ্ট পদক্ষেপ বা ব্যাকএন্ড API হ্যান্ডলারের মাধ্যমে চালান।

## ফ্রন্টএন্ড ব্রিজ হ্যান্ডলার {#frontend-bridge-handlers}

ব্যাকএন্ড প্লাগইন ফ্রন্টএন্ড প্লাগইন প্যানেলের জন্য হ্যান্ডলার দিতে পারে:

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

ফ্রন্টএন্ড Ogma ফ্রন্টএন্ড SDK দিয়ে হ্যান্ডলার কল করে। [ফ্রন্টএন্ড SDK রেফারেন্স](./frontend-sdk.md) দেখুন।

## নিরাপত্তার প্রত্যাশা {#security-expectations}

* HTTP ট্রাফিক, ফলাফল, লগ ও এক্সপোর্টকে সংবেদনশীল ধরুন।
* শুধু প্লাগইনের প্রয়োজনীয় অনুমতি চান।
* ডিফল্টভাবে কখনো ক্রেডেনশিয়াল, কুকি, Bearer টোকেন বা ব্যক্তিগত ট্রাফিক লগে লিখবেন না।
* প্লাগইনের আচরণ স্পষ্ট ও ব্যবহারকারীর বোধগম্য রাখুন।
