Zaprosite za zgodnji dostop

Vnesite svoje ime in službeni e-poštni naslov. Poslali vam bomo povezavo za potrditev zahteve za dostop do Taja.

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

Brevo omejuje zahteve po končni točki, ne po dnevu. Na splošni ravni, ki jo dobi vsak paket, POST /v3/smtp/email dovoljuje 1.000 zahtev na sekundo, končne točke /v3/contacts 10 na sekundo in 36.000 na uro, končne točke brez lastne omejitve pa 100 na uro. Paketa Professional in Enterprise odklenete višje ravni. Celotno tabelo najdete v razdelku Omejitve števila zahtev.

Glave z omejitvami števila zahtev

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

Ravnanje z omejitvami števila zahtev

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

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 svoje ime in službeni e-poštni naslov. Poslali vam bomo povezavo za potrditev zahteve za dostop do Taja.

AI pomočnik

Živjo! Vprašajte me o dokumentaciji.

Ta stran kot Markdown: api-keys.md

Nalaganje Markdowna …
Odpri v Claude Odpri v ChatGPT