---
title: "API कीज़"
description: "Brevo के साथ API की प्रमाणीकरण की पूरी गाइड"
url: https://tajo.io/hi/docs/authentication/api-keys/
markdown: https://tajo.io/hi/docs/authentication/api-keys.md
lang: hi-IN
robots: noindex
---

अर्ली एक्सेस का अनुरोध करें

अपना पहला नाम और कार्यस्थल का ईमेल पता दर्ज करें। Tajo एक्सेस अनुरोध की पुष्टि के लिए हम आपको एक लिंक ईमेल करेंगे।

# API कीज़

Brevo API के साथ प्रमाणीकरण का प्राथमिक तरीका API कीज़ हैं. ये आपके अकाउंट तक प्रोग्राम के ज़रिए पहुँचने का एक आसान और सुरक्षित रास्ता देती हैं.

## API कीज़ क्या हैं?

API कीज़ ऐसे विशिष्ट पहचानकर्ता हैं, जो Brevo API को रिक्वेस्ट भेजते समय आपके ऐप्लिकेशन को प्रमाणित करते हैं. हर की 64 अक्षरों की एक स्ट्रिंग है, जो पहचानकर्ता और पासवर्ड दोनों का काम करती है.

```
Example API key: xkeysib-a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456-Ab1Cd2Ef3Gh4
```

## API कीज़ बनाना

### चरण-दर-चरण गाइड

1. **Brevo में लॉग इन करें**: अपने [Brevo डैशबोर्ड](https://app.brevo.com/) पर जाएँ
2. **सेटिंग्स पर जाएँ**: अपनी प्रोफ़ाइल पर क्लिक करें → Settings
3. **API Keys खोलें**: बाईं ओर के मेन्यू से “API Keys” चुनें
4. **नई की बनाएँ**: “Generate a New API Key” पर क्लिक करें
5. **की को नाम दें**: इसे एक स्पष्ट नाम दें (उदाहरण: “Production App”, “Development Testing”)
6. **अनुमतियाँ तय करें**: उपयुक्त एक्सेस स्तर चुनें
7. **जनरेट करें**: “Generate” पर क्लिक करें और की को तुरंत कॉपी कर लें

### API की नामकरण के तरीके

ऐसे स्पष्ट नाम इस्तेमाल करें, जिनसे की का मक़सद पहचानने में मदद मिले:

- `production-web-app`
- `staging-environment`
- `mobile-app-ios`
- `webhook-listener`
- `data-sync-service`

## API की के प्रकार और अनुमतियाँ

### फ़ुल एक्सेस कीज़

```
Permissions: All API endpoints
Use cases: Complete application integration
Risk level: High - protect carefully
```

### रीड-ओनली कीज़

```
Permissions: GET requests only
Use cases: Analytics, reporting, dashboards
Risk level: Low - limited access
```

### सेंड-ओनली कीज़

```
Permissions: Transactional email sending
Use cases: Application notifications, receipts
Risk level: Medium - can send emails
```

### कॉन्टैक्ट प्रबंधन कीज़

```
Permissions: Contact CRUD operations
Use cases: CRM integrations, form submissions
Risk level: Medium - data modification
```

## API कीज़ का उपयोग

### हेडर प्रमाणीकरण

अपनी API की को `api-key` हेडर में शामिल करें:

```http
GET /v3/account HTTP/1.1
Host: api.brevo.com
Accept: application/json
Content-Type: application/json
api-key: YOUR_API_KEY
```

### कोड उदाहरण

#### JavaScript/Node.js

```javascript
const brevo = require('@getbrevo/brevo');

const apiInstance = new brevo.AccountApi();
apiInstance.setApiKey(brevo.AccountApiApiKeys.apiKey, process.env.BREVO_API_KEY);

// Make authenticated request
apiInstance.getAccount()
  .then(data => console.log('Account info:', data))
  .catch(error => console.error('Error:', error));
```

#### Python

```python
import sib_api_v3_sdk
from sib_api_v3_sdk.rest import ApiException

# Configure API key
configuration = sib_api_v3_sdk.Configuration()
configuration.api_key['api-key'] = 'YOUR_API_KEY'

# Create API instance
api_instance = sib_api_v3_sdk.AccountApi(sib_api_v3_sdk.ApiClient(configuration))

try:
    # Get account info
    api_response = api_instance.get_account()
    print(api_response)
except ApiException as e:
    print("Exception when calling AccountApi->get_account: %s\n" % e)
```

#### PHP

```php
<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure API key
$config = SendinBlue\Client\Configuration::getDefaultConfiguration()->setApiKey('api-key', 'YOUR_API_KEY');

// Create API instance
$apiInstance = new SendinBlue\Client\Api\AccountApi(
    new GuzzleHttp\Client(),
    $config
);

try {
    $result = $apiInstance->getAccount();
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling AccountApi->getAccount: ', $e->getMessage(), PHP_EOL;
}
?>
```

#### Ruby

```ruby
require 'sib-api-v3-sdk'

# Configure API key
SibApiV3Sdk.configure do |config|
  config.api_key['api-key'] = 'YOUR_API_KEY'
end

# Create API instance
api_instance = SibApiV3Sdk::AccountApi.new

begin
  # Get account info
  result = api_instance.get_account
  puts result
rescue SibApiV3Sdk::ApiError => e
  puts "Exception when calling AccountApi->get_account: #{e}"
end
```

## API की सुरक्षा

### सुरक्षित भंडारण

**एनवायरनमेंट वेरिएबल** (सुझाया गया)

```bash
# .env file
BREVO_API_KEY=xkeysib-your-api-key-here

# Usage in code
const apiKey = process.env.BREVO_API_KEY;
```

**क्लाउड सीक्रेट मैनेजर**

- AWS Secrets Manager
- Google Secret Manager
- Azure Key Vault
- HashiCorp Vault

### सुरक्षा के सर्वोत्तम तरीके

1. **कीज़ को कभी हार्डकोड न करें**

   ```javascript
   // ❌ Bad - hardcoded
   const apiKey = "xkeysib-a1b2c3d4...";

   // ✅ Good - environment variable
   const apiKey = process.env.BREVO_API_KEY;
   ```

2. **हर एनवायरनमेंट के लिए अलग की इस्तेमाल करें**

   ```
   Production:  BREVO_API_KEY_PROD
   Staging:     BREVO_API_KEY_STAGING
   Development: BREVO_API_KEY_DEV
   ```

3. **कीज़ को नियमित रूप से बदलें**

   - तिमाही रोटेशन के लिए कैलेंडर रिमाइंडर लगाएँ
   - की रोटेशन के लिए ऑटोमेशन टूल इस्तेमाल करें
   - रोलबैक की योजना तैयार रखें

4. **की के उपयोग पर नज़र रखें**

   - असामान्य गतिविधि के लिए अलर्ट सेट अप करें
   - हर महीने की उपयोग लॉग की समीक्षा करें
   - भौगोलिक एक्सेस पैटर्न ट्रैक करें

## की प्रबंधन

### सक्रिय की की निगरानी

डैशबोर्ड में अपनी सक्रिय कीज़ पर नज़र रखें:

```
Key Name: production-web-app
Created: 2024-01-15
Last Used: 2024-01-20 14:30 UTC
Requests Today: 1,247
Status: Active
```

### की रोटेशन की प्रक्रिया

1. **नई की बनाएँ**: बदली जाने वाली की तैयार करें
2. **कॉन्फ़िगरेशन अपडेट करें**: नई की के साथ डिप्लॉय करें
3. **निगरानी करें**: सुनिश्चित करें कि नई की सही काम कर रही है
4. **ग्रेस पीरियड**: पुरानी की को 24 से 48 घंटे तक सक्रिय रखें
5. **पुरानी की रद्द करें**: पिछली की को हटा दें

### आपात स्थिति में की रद्द करना

अगर कोई की असुरक्षित हो जाए:

1. **तुरंत रद्द करें**: डैशबोर्ड से की हटाएँ
2. **विकल्प बनाएँ**: तुरंत नई की बनाएँ
3. **ऐप्लिकेशन अपडेट करें**: जल्द से जल्द नई की के साथ डिप्लॉय करें
4. **गतिविधि पर नज़र रखें**: अनधिकृत उपयोग की जाँच करें
5. **घटना रिपोर्ट**: सुरक्षा घटना का दस्तावेज़ीकरण करें

## रेट लिमिटिंग और API कीज़

Brevo अनुरोधों को प्रति एंडपॉइंट सीमित करता है, प्रति दिन नहीं. जनरल टियर पर, जो हर प्लान को मिलता है, `POST /v3/smtp/email` प्रति सेकंड 1,000 अनुरोधों की अनुमति देता है, `/v3/contacts` एंडपॉइंट प्रति सेकंड 10 और प्रति घंटा 36,000 की, और जिन एंडपॉइंट की अपनी सीमा नहीं है वे प्रति घंटा 100 की. Professional और Enterprise प्लान ऊँचे टियर खोलते हैं. पूरी तालिका के लिए [रेट लिमिट](https://tajo.io/hi/docs/rate-limits/) देखें.

### रेट लिमिट हेडर

```http
HTTP/1.1 200 OK
x-sib-ratelimit-limit: 1000
x-sib-ratelimit-remaining: 750
x-sib-ratelimit-reset: 1
```

### रेट लिमिट को संभालना

```javascript
async function makeApiCall() {
  try {
    const response = await fetch(url, { headers });

    if (response.status === 429) {
      // Seconds until the window resets
      const waitTime = Number(response.headers.get('x-sib-ratelimit-reset') || 1);

      console.log(`Rate limited. Waiting ${waitTime} seconds`);
      await new Promise(resolve => setTimeout(resolve, waitTime * 1000));

      // Retry the request
      return makeApiCall();
    }

    return response.json();
  } catch (error) {
    console.error('API call failed:', error);
    throw error;
  }
}
```

## API कीज़ की समस्या निवारण

### आम एरर मैसेज

**अमान्य API की (401)**

```json
{
  "code": "unauthorized",
  "message": "Invalid API key provided"
}
```

**अपर्याप्त अनुमतियाँ (403)**

```json
{
  "code": "permission_denied",
  "message": "API key does not have required permissions"
}
```

**रेट लिमिट पार हुई (429)**

```json
{
  "code": "too_many_requests",
  "message": "Rate limit exceeded for API key"
}
```

### डीबगिंग चेकलिस्ट

- की सही फ़ॉर्मैट में है (64 अक्षर)
- कोई अतिरिक्त स्पेस या छिपे हुए अक्षर नहीं हैं
- की के पास ज़रूरी अनुमतियाँ हैं
- की सक्रिय है (रद्द नहीं की गई)
- रेट लिमिट के भीतर हैं
- सही API एंडपॉइंट का उपयोग हो रहा है
- हेडर सही फ़ॉर्मैट में हैं

## आगे के कदम

- [OAuth 2.0 के बारे में जानें](https://tajo.io/hi/docs/authentication/oauth/)
- JWT टोकन को समझें
- [रेट लिमिट देखें](https://tajo.io/hi/docs/rate-limits/)
- [SDK आज़माएँ](https://tajo.io/hi/docs/sdks-libraries/)
