OAuth 2.0

OAuth 2.0 fournit une authentification sécurisée par tokens pour les applications tierces accédant à Brevo au nom des utilisateurs.

Vue d’ensemble du flux OAuth

  1. Demande d’autorisation : redirigez l’utilisateur vers Brevo
  2. Autorisation de l’utilisateur : l’utilisateur accorde les permissions
  3. Code d’autorisation : Brevo redirige avec le code
  4. Échange du token d’accès : échangez le code contre des tokens
  5. Accès à l’API : utilisez le token d’accès pour les requêtes

Endpoint d’autorisation

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

Échange du token

Terminal window
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"

Utilisation du token d’accès

const response = await fetch('https://api.brevo.com/v3/account', {
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Accept': 'application/json'
}
});

Scopes

  • email : envoyer des e-mails transactionnels
  • contacts : gérer les contacts et les listes
  • campaigns : créer et envoyer des campagnes
  • sms : envoyer des SMS
  • webhooks : gérer les webhooks

Rafraîchissement du 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();
};
Assistant AI

Bonjour ! Posez-moi vos questions sur la documentation.

Commencez gratuitement avec Brevo