---
url: https://docs.ogmabox.com/hi/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 टोकन या निजी ट्रैफ़िक कभी लॉग न करें।
* प्लगइन का व्यवहार उपयोगकर्ता के लिए स्पष्ट और समझने योग्य रखें।
