Solicită acces anticipat

Introduceți prenumele și adresa de e-mail profesională. Vă vom trimite un link pentru a confirma cererea 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

Brevo limitează cererile per endpoint, nu pe zi. Pe nivelul general, pe care îl primește orice plan, POST /v3/smtp/email permite 1.000 de cereri pe secundă, endpointurile /v3/contacts permit 10 pe secundă și 36.000 pe oră, iar endpointurile fără limită proprie permit 100 pe oră. Planurile Professional și Enterprise deblochează niveluri superioare. Vezi Limite de rată pentru tabelul complet.

Anteturile de limitare a ratei

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

Cum tratezi limitele de rată

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

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

Introduceți prenumele și adresa de e-mail profesională. Vă vom trimite un link pentru a confirma cererea de acces la Tajo.

Asistent AI

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

Această pagină în Markdown: api-keys.md

Se încarcă Markdown…
Deschide în Claude Deschide în ChatGPT