# API एक्सेस टोकन

API एक्सेस टोकन एक यूनिक आइडेंटिफ़ायर है जो आपके अकाउंट में किसी विशेष प्रोजेक्ट या कई प्रोजेक्ट्स को सौंपा जाता है। यह API के माध्यम से आपके प्रोजेक्ट्स को प्रबंधित करने के लिए आपके अकाउंट को प्रमाणित करता है, जिसमें अकाउंट में बदलाव, संदेश भेजना, प्रोजेक्ट्स को एडिट करना आदि शामिल हैं।

## API एक्सेस टोकन के प्रकार

Pushwoosh दो अलग-अलग प्रकार के API एक्सेस टोकन प्रदान करता है: **सर्वर** और **डिवाइस**।

प्रत्येक टोकन प्रकार केवल अपने विशिष्ट API स्कोप के लिए मान्य है। यदि गलत टोकन का उपयोग किया जाता है तो एक ऑथेंटिकेशन त्रुटि होगी।

#### सर्वर API टोकन

सर्वर API टोकन का उपयोग डिवाइस API के तहत आने वाले तरीकों को छोड़कर सभी API तरीकों के साथ किया जाता है। इसे रिक्वेस्ट बॉडी में `auth` फ़ील्ड में शामिल किया जाना चाहिए।

#### डिवाइस API टोकन

डिवाइस API टोकन का उपयोग विशेष रूप से डिवाइस API तरीकों के साथ किया जाता है। इसे `Authorization` हेडर का उपयोग करके HTTP रिक्वेस्ट हेडर्स में शामिल किया जाना चाहिए।
नीचे सही हेडर प्रारूप का एक उदाहरण दिया गया है:

```
Authorization: Token <device_api_token>
```
`<device_api_token>` को अपने वास्तविक डिवाइस API टोकन मान से बदलें।

<Aside type="caution" title="वे तरीके जिनके लिए डिवाइस API टोकन की आवश्यकता होती है">

निम्नलिखित API तरीकों के लिए प्राधिकरण के लिए **डिवाइस API टोकन की आवश्यकता होती है**:
- [`registerDevice`](/hi/developer/api-reference/device-api/#registerdevice)
- [`unregisterDevice`](/hi/developer/api-reference/device-api/#unregisterdevice)
- [`deleteDevice`](/hi/developer/api-reference/device-api/#deletedevice)
- [`setTags`](/hi/developer/api-reference/device-api/#settags)
- [`getTags`](/hi/developer/api-reference/device-api/#gettags)
- [`setBadge`](/hi/developer/api-reference/device-api/#setbadge)
- [`applicationOpen`](/hi/developer/api-reference/device-api/#applicationopen)
- [`pushStat`](/hi/developer/api-reference/device-api/#pushstat)
- [`messageDeliveryEvent`](/hi/developer/api-reference/device-api/#messagedeliveryevent)
- [`registerUser`](/hi/developer/api-reference/user-centric-api/#registeruser)
- [`deleteUser`](/hi/developer/api-reference/user-centric-api/#deleteuser)
- [`postEvent`](/hi/developer/api-reference/user-centric-api/#postevent)
- [`registerEmail`](/hi/developer/api-reference/email-api/#registeremail)
- [`deleteEmail`](/hi/developer/api-reference/email-api/#deleteemail)
- [`setEmailTags`](/hi/developer/api-reference/email-api/#setemailtags)
- [`registerEmailUser`](/hi/developer/api-reference/email-api/#registeremailuser)
- [`getInboxMessages`](/hi/developer/api-reference/message-inbox/#getinboxmessages)
- [`inboxStatus`](/hi/developer/api-reference/message-inbox/#inboxstatus)
</Aside>

## API एक्सेस टोकन बनाएँ और प्रबंधित करें

आप Pushwoosh कंट्रोल पैनल के **API एक्सेस** सेक्शन में अपने API एक्सेस टोकन देख सकते हैं, बना सकते हैं और प्रबंधित कर सकते हैं। इस तक पहुँचने के लिए, **सेटिंग्स → API एक्सेस** पर जाएँ।
![Pushwoosh डेमो ऐप टोकन](/api-reference-api-access-token-1.webp)

डिफ़ॉल्ट रूप से, प्रत्येक अकाउंट में **Pushwoosh डेमो ऐप** नामक एक टोकन शामिल होता है, जिसे सर्वर टोकन के रूप में सेट किया गया है।

### एक नया API एक्सेस टोकन बनाएँ

एक नया API एक्सेस टोकन बनाने के लिए:

1. कंट्रोल पैनल में **API एक्सेस** सेक्शन पर जाएँ।

2. **नया टोकन जेनरेट करें** पर क्लिक करें।

3. दिखाई देने वाली विंडो में, टोकन का प्रकार चुनें:

   * [**सर्वर**](#server-api-token) का उपयोग अधिकांश API तरीकों (डिवाइस API तरीकों को छोड़कर) के लिए किया जाता है।

   * [**डिवाइस**](#device-api-token) का उपयोग केवल डिवाइस API तरीकों के लिए किया जाता है।

4. टोकन के लिए एक नाम दर्ज करें।

5. टोकन बनाने के लिए **जेनरेट करें** पर क्लिक करें।

![एक नया टोकन जेनरेट करें](/api-reference-api-access-token-4.webp)

> **महत्वपूर्ण:** सुनिश्चित करें कि आप अपने Pushwoosh कंट्रोल पैनल में टोकन को सही ऐप तक पहुँच प्रदान करते हैं। [और जानें](#edit-token)

नया टोकन API एक्सेस सूची में दिखाई देगा। वहां से, आप API रिक्वेस्ट में उपयोग के लिए इसका मान कॉपी कर सकते हैं या आवश्यकतानुसार इसकी एक्सेस अनुमतियों को प्रबंधित कर सकते हैं।

### एक टोकन प्रबंधित करें

मौजूदा API टोकन को प्रबंधित करने के लिए, **API एक्सेस** सेक्शन में टोकन प्रविष्टि के आगे **तीन-डॉट मेनू (⋮)** पर क्लिक करें।

![एक टोकन प्रबंधित करें](/api-reference-api-access-token-2.webp)

निम्नलिखित विकल्प उपलब्ध हैं:

#### सभी प्रोजेक्ट्स तक पहुँच प्रदान करें

टोकन को आपके अकाउंट के सभी प्रोजेक्ट्स तक पहुँच प्रदान करता है। यह इसे सभी प्रोजेक्ट्स में API का पूरी तरह से उपयोग करने की अनुमति देता है।

<Aside type="tip">
केवल उन टोकन को पूरी पहुँच दें जिन्हें इसकी आवश्यकता है। यह आपके डेटा को सुरक्षित रखने और पहुँच को नियंत्रित रखने में मदद करता है।
</Aside>

#### सभी प्रोजेक्ट्स से पहुँच रद्द करें

आपके अकाउंट के सभी प्रोजेक्ट्स से टोकन की पहुँच हटा देता है। जब तक पहुँच फिर से नहीं दी जाती, तब तक टोकन API का उपयोग नहीं कर पाएगा।

#### टोकन एडिट करें

**API टोकन अनुमतियाँ एडिट करें** स्क्रीन खोलता है, जहाँ आप यह कर सकते हैं:

* टोकन का नाम बदलें

* टोकन का मान कॉपी करें

* सूची में उन्हें चुनकर या अचयनित करके चुनें कि टोकन किन प्रोजेक्ट्स तक पहुँच सकता है

![एक टोकन प्रबंधित करें](/api-reference-api-access-token-3.webp)

बदलाव करने के बाद, उन्हें लागू करने के लिए **सेव करें** पर क्लिक करें।

<Aside type="tip">
केवल उन प्रोजेक्ट्स तक पहुँच दें जिनकी उन्हें आवश्यकता है। यह आपके अकाउंट की सुरक्षा करने और प्रत्येक टोकन क्या कर सकता है इसे नियंत्रित करने में मदद करता है।
</Aside>

#### टोकन डिलीट करें

आपके अकाउंट से टोकन को स्थायी रूप से हटा देता है।

<Aside type="caution">

यह क्रिया पूर्ववत नहीं की जा सकती। एक बार डिलीट हो जाने पर, टोकन को पुनर्प्राप्त नहीं किया जा सकता है। सुनिश्चित करें कि डिलीट करने से पहले टोकन अब उपयोग में नहीं है।

</Aside>

## API रिक्वेस्ट को अधिकृत करना

API रिक्वेस्ट को अधिकृत करने के लिए, आप जिस प्रकार के API तरीके को कॉल कर रहे हैं, उसके आधार पर सही प्रकार के API एक्सेस टोकन का उपयोग करें:

#### सर्वर API तरीकों के लिए

टोकन को रिक्वेस्ट बॉडी के "auth" फ़ील्ड में शामिल करें:

उदाहरण:

```json
{
  "request": {
    "application": "XXXXX-XXXXX",
    "auth": "yxoPUlwqm…………pIyEX4H", // अपना सर्वर टोकन यहाँ पेस्ट करें
    "notifications": [{
      "send_date": "now",
      "content": "Hello world"
    }]
  }
}
```

#### डिवाइस API तरीकों के लिए

**डिवाइस टोकन** का उपयोग करें। इसे निम्नलिखित प्रारूप का उपयोग करके HTTP रिक्वेस्ट हेडर में शामिल करें:

```
Authorization: Token <device_api_token>
```

`<device_api_token>` को अपने वास्तविक टोकन मान से बदलें।
<Aside type="caution">
सुनिश्चित करें कि टोकन का प्रकार आपके द्वारा उपयोग किए जा रहे API तरीके से मेल खाता है। यदि टोकन आवश्यक प्रकार से मेल नहीं खाता है, तो रिक्वेस्ट एक ऑथेंटिकेशन त्रुटि लौटाएगी।
</Aside>