OAuth 2.0
Το OAuth 2.0 παρέχει ασφαλή έλεγχο ταυτότητας βασισμένο σε token για εφαρμογές τρίτων που αποκτούν πρόσβαση στο Brevo εκ μέρους των χρηστών.
Επισκόπηση της ροής OAuth
- Αίτημα εξουσιοδότησης: Ανακατευθύνετε τον χρήστη στο Brevo
- Εξουσιοδότηση από τον χρήστη: Ο χρήστης παραχωρεί τα δικαιώματα
- Κωδικός εξουσιοδότησης: Το Brevo ανακατευθύνει πίσω με τον κωδικό
- Ανταλλαγή για access token: Ανταλλάσσετε τον κωδικό με tokens
- Πρόσβαση στο API: Χρησιμοποιείτε το access token στα αιτήματα
Τελικό σημείο εξουσιοδότησης
https://app.brevo.com/oauth/authorize? response_type=code& client_id=YOUR_CLIENT_ID& redirect_uri=YOUR_REDIRECT_URI& scope=email%20contacts& state=random_stringΑνταλλαγή token
curl -X POST "https://api.brevo.com/v3/oauth/token" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "grant_type=authorization_code&code=AUTH_CODE&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&redirect_uri=YOUR_REDIRECT_URI"Χρήση του access token
const response = await fetch('https://api.brevo.com/v3/account', { headers: { 'Authorization': 'Bearer YOUR_ACCESS_TOKEN', 'Accept': 'application/json' }});Πεδία εφαρμογής (scopes)
email: Αποστολή συναλλακτικών emailcontacts: Διαχείριση επαφών και λιστώνcampaigns: Δημιουργία και αποστολή καμπανιώνsms: Αποστολή μηνυμάτων SMSwebhooks: Διαχείριση webhooks
Ανανέωση token
const refreshToken = async () => { const response = await fetch('https://api.brevo.com/v3/oauth/token', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: new URLSearchParams({ grant_type: 'refresh_token', refresh_token: 'YOUR_REFRESH_TOKEN', client_id: 'YOUR_CLIENT_ID', client_secret: 'YOUR_CLIENT_SECRET' }) }); return response.json();};