ขอสิทธิ์ใช้งานล่วงหน้า

กรอกชื่อพร้อมอีเมลหรือหมายเลขโทรศัพท์ แล้วเราจะติดต่อกลับพร้อมรายละเอียดการเข้าใช้งาน Tajo

ในหน้านี้

คีย์ API

คีย์ API เป็นวิธีหลักในการยืนยันตัวตนกับ Brevo API และเป็นช่องทางที่เรียบง่ายและปลอดภัยสำหรับเข้าถึงบัญชีของคุณผ่านโปรแกรม

คีย์ API คืออะไร

คีย์ API คือตัวระบุเฉพาะที่ใช้ยืนยันตัวตนของแอปพลิเคชันของคุณเมื่อเรียกใช้งาน Brevo API คีย์แต่ละอันเป็นสตริงความยาว 64 อักขระ ซึ่งทำหน้าที่เป็นทั้งตัวระบุและรหัสผ่านในตัวเดียวกัน

Example API key: xkeysib-a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456-Ab1Cd2Ef3Gh4

การสร้างคีย์ API

คู่มือทีละขั้นตอน

  1. เข้าสู่ระบบ Brevo: เปิดแดชบอร์ด Brevo ของคุณ
  2. ไปที่การตั้งค่า: คลิกที่โปรไฟล์ของคุณ แล้วเลือก Settings
  3. เปิดหน้า API Keys: เลือก “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

สวัสดี! ถามฉันเกี่ยวกับเอกสารได้เลย