---
title: "API کیز | Tajo"
description: "Brevo کے ساتھ API کی کے ذریعے تصدیق کی مکمل گائیڈ"
url: https://tajo.io/ur/docs/authentication/api-keys/
markdown: https://tajo.io/ur/docs/authentication/api-keys.md
lang: ur-PK
author: "Set Noa"
author_url: https://tajo.io/ur/set-noa/
robots: noindex
---

ابتدائی رسائی کی درخواست کریں

اپنا پہلا نام اور دفتری ای میل پتہ درج کریں۔ ہم Tajo تک رسائی کی درخواست کی تصدیق کے لیے ایک لنک ای میل کریں گے۔

# API کیز

[Set Noa](https://tajo.io/ur/set-noa/)

API کیز Brevo API کے ساتھ تصدیق کا بنیادی طریقہ ہیں۔ یہ آپ کے اکاؤنٹ تک پروگرام کے ذریعے رسائی کا ایک سادہ اور محفوظ راستہ فراہم کرتی ہیں۔

## API کیز کیا ہیں؟

API کیز منفرد شناخت کار ہیں جو Brevo API کو درخواستیں بھیجتے وقت آپ کی ایپلی کیشن کی تصدیق کرتی ہیں۔ ہر کی 64 حروف پر مشتمل ایک اسٹرنگ ہوتی ہے جو شناخت کار اور پاس ورڈ دونوں کا کام دیتی ہے۔

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

## API کیز بنانا

### مرحلہ وار گائیڈ

1. **Brevo میں سائن ان کریں**: اپنے [Brevo ڈیش بورڈ](https://app.brevo.com/) تک رسائی حاصل کریں
2. **Settings پر جائیں**: اپنی پروفائل → 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/ur/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/ur/docs/authentication/oauth/)
- JWT ٹوکنز کو سمجھیں
- [ریٹ حدود دیکھیں](https://tajo.io/ur/docs/rate-limits/)
- [SDKs آزمائیں](https://tajo.io/ur/docs/sdks-libraries/)
