Zaprosite za zgodnji dostop

Vnesite ime ter e-poštni naslov ali telefonsko številko. Poslali vam bomo podrobnosti o dostopu do platforme Tajo.

Ključi API

Ključi API so glavni način preverjanja pristnosti pri API platforme Brevo. Ponujajo preprost in varen način programskega dostopa do vašega računa.

Kaj so ključi API?

Ključi API so enolični identifikatorji, ki preverijo pristnost vaše aplikacije pri pošiljanju zahtev API platforme Brevo. Vsak ključ je niz 64 znakov, ki hkrati služi kot identifikator in kot geslo.

Example API key: xkeysib-a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456-Ab1Cd2Ef3Gh4

Ustvarjanje ključev API

Vodnik po korakih

  1. Prijavite se v Brevo: odprite svojo nadzorno ploščo Brevo
  2. Pomaknite se do nastavitev: kliknite svoj profil → Nastavitve
  3. Odprite ključe API: v levem meniju izberite „API Keys“
  4. Ustvarite nov ključ: kliknite „Generate a New API Key“
  5. Poimenujte ključ: dajte mu opisno ime (na primer „Production App“ ali „Development Testing“)
  6. Nastavite dovoljenja: izberite ustrezno raven dostopa
  7. Ustvarite ključ: kliknite „Generate“ in ključ takoj kopirajte

Dogovori o poimenovanju ključev API

Uporabljajte opisna imena, ki vam pomagajo prepoznati namen ključa:

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

Vrste in dovoljenja ključev API

Ključi s polnim dostopom

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

Ključi samo za branje

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

Ključi samo za pošiljanje

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

Ključi za upravljanje stikov

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

Uporaba ključev API

Preverjanje pristnosti prek glave

Svoj ključ API vključite v glavo api-key:

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

Primeri kode

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

Varnost ključev API

Varno shranjevanje

Spremenljivke okolja (priporočeno)

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

Upravitelji skrivnosti v oblaku

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

Najboljše prakse za varnost

  1. Ključev nikoli ne vpisujte neposredno v kodo

    // ❌ Bad - hardcoded
    const apiKey = "xkeysib-a1b2c3d4...";
    // ✅ Good - environment variable
    const apiKey = process.env.BREVO_API_KEY;
  2. Za vsako okolje uporabite svoj ključ

    Production: BREVO_API_KEY_PROD
    Staging: BREVO_API_KEY_STAGING
    Development: BREVO_API_KEY_DEV
  3. Redno menjajte ključe

    • Nastavite koledarske opomnike za četrtletno menjavo
    • Za menjavo ključev uporabite orodja za avtomatizacijo
    • Pripravite načrt za vrnitev na prejšnje stanje
  4. Spremljajte uporabo ključev

    • Nastavite opozorila za nenavadno dejavnost
    • Mesečno preglejte dnevnike uporabe ključev
    • Spremljajte geografske vzorce dostopa

Upravljanje ključev

Spremljanje aktivnih ključev

Svoje aktivne ključe spremljajte na nadzorni plošči:

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

Postopek menjave ključev

  1. Ustvarite nov ključ: pripravite nadomestni ključ
  2. Posodobite konfiguracijo: uvedite različico z novim ključem
  3. Spremljajte: preverite, ali novi ključ deluje pravilno
  4. Prehodno obdobje: stari ključ pustite aktiven 24-48 ur
  5. Prekličite stari ključ: izbrišite prejšnji ključ

Nujni preklic ključa

Če je ključ ogrožen:

  1. Takojšen preklic: izbrišite ključ z nadzorne plošče
  2. Ustvarite nadomestilo: takoj ustvarite nov ključ
  3. Posodobite aplikacije: čim prej jih uvedite z novim ključem
  4. Spremljajte dejavnost: preverite, ali je prišlo do nepooblaščene uporabe
  5. Poročilo o incidentu: dokumentirajte varnostni incident

Omejevanje števila zahtev in ključi API

Vsak ključ API ima svoje omejitve števila zahtev:

  • Paket Free: 300 zahtev/dan
  • Paket Starter: 20.000 zahtev/dan
  • Paket Business: 50.000 zahtev/dan
  • Paket Enterprise: omejitve po meri

Glave z omejitvami števila zahtev

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

Ravnanje z omejitvami števila zahtev

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

Odpravljanje težav s ključi API

Pogosta sporočila o napakah

Neveljaven ključ API (401)

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

Nezadostna dovoljenja (403)

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

Presežena omejitev števila zahtev (429)

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

Kontrolni seznam za razhroščevanje

  • Ključ je pravilno oblikovan (64 znakov)
  • Ni odvečnih presledkov ali skritih znakov
  • Ključ ima zahtevana dovoljenja
  • Ključ je aktiven (ni preklican)
  • Zahteve so znotraj omejitev števila zahtev
  • Uporabljate pravo končno točko API
  • Glave so pravilno oblikovane

Naslednji koraki

Zaprosite za zgodnji dostop

Vnesite ime ter e-poštni naslov ali telefonsko številko. Poslali vam bomo podrobnosti o dostopu do platforme Tajo.

samodejno prepoznavanje
AI pomočnik

Živjo! Vprašajte me o dokumentaciji.