Solicită acces anticipat

Spune-ne prenumele și o adresă de e-mail sau un număr de telefon. Îți vom trimite detaliile de acces la Tajo.

Chei API

Cheile API sunt metoda principală de autentificare la API-ul Brevo. Îți oferă o cale simplă și sigură de a-ți accesa contul programatic.

Ce sunt cheile API?

Cheile API sunt identificatori unici care autentifică aplicația ta atunci când trimite cereri către API-ul Brevo. Fiecare cheie este un șir de 64 de caractere care servește atât ca identificator, cât și ca parolă.

Example API key: xkeysib-a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456-Ab1Cd2Ef3Gh4

Generarea cheilor API

Ghid pas cu pas

  1. Conectează-te la Brevo: accesează panoul de administrare Brevo
  2. Mergi la setări: apasă pe profilul tău → Settings
  3. Deschide secțiunea de chei API: alege „API Keys” din meniul din stânga
  4. Creează o cheie nouă: apasă pe „Generate a New API Key”
  5. Denumește cheia: dă-i un nume descriptiv (de exemplu „Production App”, „Development Testing”)
  6. Stabilește permisiunile: alege nivelul de acces potrivit
  7. Generează: apasă pe „Generate” și copiază imediat cheia

Convenții de denumire a cheilor API

Folosește nume descriptive, care te ajută să identifici scopul cheii:

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

Tipuri de chei API și permisiuni

Chei cu acces complet

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

Chei doar pentru citire

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

Chei doar pentru trimitere

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

Chei pentru gestionarea contactelor

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

Folosirea cheilor API

Autentificarea prin antet

Include cheia API în antetul api-key:

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

Exemple de cod

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

Securitatea cheilor API

Stocare sigură

Variabile de mediu (recomandat)

Terminal window
# .env file
BREVO_API_KEY=xkeysib-your-api-key-here
# Usage in code
const apiKey = process.env.BREVO_API_KEY;

Servicii cloud de gestionare a secretelor

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

Bune practici de securitate

  1. Nu scrie niciodată cheile direct în cod

    // ❌ Bad - hardcoded
    const apiKey = "xkeysib-a1b2c3d4...";
    // ✅ Good - environment variable
    const apiKey = process.env.BREVO_API_KEY;
  2. Folosește chei diferite pentru fiecare mediu

    Production: BREVO_API_KEY_PROD
    Staging: BREVO_API_KEY_STAGING
    Development: BREVO_API_KEY_DEV
  3. Rotește cheile periodic

    • Setează-ți memento-uri în calendar pentru rotația trimestrială
    • Folosește instrumente de automatizare pentru rotația cheilor
    • Pregătește un plan de revenire la varianta anterioară
  4. Monitorizează utilizarea cheilor

    • Configurează alerte pentru activitate neobișnuită
    • Verifică lunar jurnalele de utilizare a cheilor
    • Urmărește tiparele geografice de acces

Gestionarea cheilor

Monitorizarea cheilor active

Monitorizează-ți cheile active din panoul de administrare:

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

Procesul de rotație a cheilor

  1. Generează o cheie nouă: creează cheia de înlocuire
  2. Actualizează configurația: implementează cu noua cheie
  3. Monitorizează: asigură-te că noua cheie funcționează corect
  4. Perioadă de grație: menține cheia veche activă timp de 24-48 de ore
  5. Revocă cheia veche: șterge cheia anterioară

Revocarea de urgență a unei chei

Dacă o cheie este compromisă:

  1. Revocare imediată: șterge cheia din panoul de administrare
  2. Generează o înlocuire: creează imediat o cheie nouă
  3. Actualizează aplicațiile: implementează cât mai repede cu noua cheie
  4. Monitorizează activitatea: verifică dacă a existat utilizare neautorizată
  5. Raport de incident: documentează incidentul de securitate

Limitarea ratei și cheile API

Fiecare cheie API are limite de rată individuale:

  • Plan Free: 300 de cereri/zi
  • Plan Starter: 20.000 de cereri/zi
  • Plan Business: 50.000 de cereri/zi
  • Plan Enterprise: limite personalizate

Anteturile de limitare a ratei

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

Cum tratezi limitele de rată

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

Depanarea cheilor API

Mesaje de eroare frecvente

Cheie API invalidă (401)

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

Permisiuni insuficiente (403)

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

Limită de rată depășită (429)

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

Listă de verificare pentru depanare

  • Cheia este formatată corect (64 de caractere)
  • Fără spații suplimentare sau caractere ascunse
  • Cheia are permisiunile necesare
  • Cheia este activă (nu a fost revocată)
  • Te încadrezi în limitele de rată
  • Folosești endpointul API corect
  • Anteturile sunt formatate corect

Pașii următori

Solicită acces anticipat

Spune-ne prenumele și o adresă de e-mail sau un număr de telefon. Îți vom trimite detaliile de acces la Tajo.

detectare automată
Asistent AI

Bună! Întreabă-mă orice despre documentație.