Заявете ранен достъп

Посочете името си и имейл адрес или телефонен номер. Ще Ви изпратим информация за достъп до Tajo.

API ключове

API ключовете са основният метод за удостоверяване пред Brevo API. Те предоставят прост и сигурен начин за програмен достъп до Вашия акаунт.

Какво представляват API ключовете?

API ключовете са уникални идентификатори, които удостоверяват Вашето приложение, когато то изпраща заявки към Brevo API. Всеки ключ е низ от 64 знака, който служи едновременно като идентификатор и като парола.

Example API key: xkeysib-a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456-Ab1Cd2Ef3Gh4

Генериране на API ключове

Ръководство стъпка по стъпка

  1. Влезте в Brevo: Отворете таблото на Brevo
  2. Отидете в настройките: Кликнете върху профила си → Settings
  3. Отворете API ключовете: Изберете „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:

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

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

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
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

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 ключовете

Сигурно съхранение

Променливи на средата (препоръчително)

Terminal window
# .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. Никога не записвайте ключове твърдо в кода

    // ❌ 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 ключове

Всеки API ключ има индивидуални ограничения на скоростта:

  • Безплатен план: 300 заявки/ден
  • План Starter: 20 000 заявки/ден
  • План Business: 50 000 заявки/ден
  • План Enterprise: индивидуални ограничения

Хедъри за ограничението на скоростта

HTTP/1.1 200 OK
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1640995200

Обработка на ограниченията на скоростта

async function makeApiCall() {
try {
const response = await fetch(url, { headers });
if (response.status === 429) {
const resetTime = response.headers.get('X-RateLimit-Reset');
const waitTime = resetTime - Math.floor(Date.now() / 1000);
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)

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

Недостатъчни разрешения (403)

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

Превишено ограничение на скоростта (429)

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

Списък за проверка при отстраняване на грешки

  • Ключът е форматиран правилно (64 знака)
  • Няма излишни интервали или скрити знаци
  • Ключът има необходимите разрешения
  • Ключът е активен (не е отменен)
  • Ограниченията на скоростта не са превишени
  • Използвате правилната API крайна точка
  • Хедърите са форматирани правилно

Следващи стъпки

Заявете ранен достъп

Посочете името си и имейл адрес или телефонен номер. Ще Ви изпратим информация за достъп до Tajo.

автоматично разпознаване
AI асистент

Здравейте! Попитайте ме за документацията.