Dans un monde où la sécurité des données est la priorité absolue (ou devrait l’être), OAuth 2.0 est votre meilleur allié. Finis les mots de passe partagés ou les accès à la "one again" qui mettent vos utilisateurs à la merci d’un piratage. Avec OAuth 2.0, vous ajoutez une couche de sécurité, tout en simplifiant la vie de tout le monde. Et ça, c’est classe.
Dans un monde où la sécurité des données est la priorité absolue (ou devrait l’être), OAuth 2.0 est votre meilleur allié. Finis les mots de passe partagés ou les accès à la "one again" qui mettent vos utilisateurs à la merci d’un piratage. Avec OAuth 2.0, vous ajoutez une couche de sécurité, tout en simplifiant la vie de tout le monde. Et ça, c’est classe.
Avant de plonger dans la doc ou les tokens, il est crucial de définir ce que vous voulez vraiment synchroniser. Parce que non, tout ne mérite pas d’être branché à HubSpot.
Commencez par identifier :
Une bonne intégration API commence toujours par une bonne réflexion métier.
HubSpot n’est pas juste un CRM à connecter. C’est un véritable hub de données, et toute intégration API bien conçue peut synchroniser des objets CRM (contacts, entreprises, transactions, tickets…), enrichir vos pipelines marketing ou commerciaux, et automatiser des flux métiers complexes.
Vous pouvez récupérer, envoyer, modifier, ou supprimer des données — tout ça avec un haut niveau de granularité. Et ça, c’est ce qui fait la force de HubSpot : une plateforme ouverte, extensible, mais sécurisée.
Spoiler : que ce soit via un connecteur existant, l’Operations Hub, ou un connecteur maison, l’API reste l’épine dorsale.
Petit rappel avant de commencer : HubSpot a dit bye-bye aux clés API en 2022. Et franchement, c’est tant mieux. Pourquoi ? Parce que OAuth 2.0 est plus sûr, plus flexible et (un peu) moins ennuyeux à gérer. Mais attention, ce n’est pas une promenade de santé non plus. On parle de protocoles, de jetons, de scopes… bref, de quoi vous faire transpirer un peu.
Concrètement, OAuth 2.0 permet à votre application de demander l’accès aux données d’un utilisateur HubSpot sans que celui-ci ait à partager son mot de passe. En gros, votre appli dit à HubSpot : "Hé, est-ce que je peux entrer ?" Et HubSpot répond : "OK, mais juste pour ce que tu as demandé."
Bon, on sait que les termes "jeton", "client", "serveur" et "scope" ne donnent pas trop envie. Mais on va essayer de rendre ça cool. Voici les éléments-clés :
Avant de vous lancer dans l’implémentation, il faut préparer le terrain. Rendez-vous dans votre compte développeur HubSpot, et suivez le guide :
Une fois cette configuration terminée, vous obtiendrez un client ID et un client secret. Gardez-les précieusement. (Non, vraiment, ne les laissez pas traîner dans un fichier texte nommé "mot_de_passe.txt".)
Pour aller plus loin, la documentation officielle OAuth de HubSpot détaille chaque étape avec des exemples à jour.
L’heure est venue de diriger vos utilisateurs vers l’URL magique où ils donneront leur consentement. Voici un exemple :
https://app.hubspot.com/oauth/authorize ?client_id=VOTRE_CLIENT_ID &scope=crm.objects.contacts.read &redirect_uri=https://monappli.com/callback
Et si vous voulez être un peu plus flashy, ajoutez un paramètre state. C’est comme une petite note à vous-même pour savoir d’où vient l’utilisateur.
Vous pouvez aussi passer un paramètre scope multiple dans l’URL pour éviter les autorisations en cascade. Exemple :
scope=crm.objects.contacts.read crm.objects.contacts.write
Cela vous permet d'anticiper les besoins futurs sans devoir regénérer des tokens à chaque ajout de permission.
Maintenant que votre utilisateur a dit "OK", HubSpot vous envoie un code d’autorisation via l’URL de redirection. Ce code est la clé pour obtenir un jeton d'accès.
Comment faire ?
Envoyez une requête POST à HubSpot avec tous les bons paramètres :
POST https://api.hubapi.com/oauth/v1/token Content-Type: application/x-www-form-urlencoded client_id=VOTRE_CLIENT_ID client_secret=VOTRE_CLIENT_SECRET grant_type=authorization_code redirect_uri=https://monappli.com/callback code=LE_CODE
Si tout va bien, vous recevrez une réponse comme celle-ci :
{ "access_token": "JETON_ACCESS", "refresh_token": "JETON_ACTUALISATION", "expires_in": 1800 }
Avec le jeton d'accès, vous pouvez enfin commencer à envoyer des requêtes à HubSpot. Mais attention, ce n’est pas un laissez-passer illimité. Il faut respecter les scopes définis au départ.
Exemple de requête API :
GET https://api.hubapi.com/contacts/v1/lists/all/contacts/all Authorization: Bearer JETON_ACCESS
Et voilà, vous avez accès aux données demandées !
Les jetons d'accès sont comme le lait : ils ont une date d’expiration. En général, 30 minutes. Heureusement, grâce au jeton d’actualisation, vous pouvez en obtenir un nouveau sans embêter l’utilisateur.
Exemple de requête pour renouveler le jeton :
POST https://api.hubapi.com/oauth/v1/token Content-Type: application/x-www-form-urlencoded grant_type=refresh_token client_id=VOTRE_CLIENT_ID client_secret=VOTRE_CLIENT_SECRET refresh_token=JETON_ACTUALISATION
Imaginons que vous vouliez synchroniser automatiquement une base de données Airtable avec HubSpot. Après authentification OAuth, voici comment cela peut se passer :
Avec un peu de logique conditionnelle (Node.js ou Python, par ex), vous pouvez en quelques heures créer un pipeline de synchro robuste et automatique.
Une synchronisation, c’est vivant. Et ce qui marche aujourd’hui peut casser demain si une propriété change, si un champ est supprimé ou si un quota API est dépassé.
Voici quelques bonnes pratiques :
Important : un connecteur fiable, ce n’est pas juste un connecteur qui fonctionne. C’est un connecteur qui sait tomber sans vous faire mal.
Créer son propre connecteur avec l’API HubSpot est utile si :
On adore ce genre de défis : créer des passerelles sur mesure, propres, documentées et évolutives. Nos connecteurs ne font pas que "transporter" des données : ils les mettent en musique pour améliorer vos performances commerciales et marketing.
OAuth 2.0 peut sembler intimidant, mais c’est un outil incroyablement puissant pour sécuriser vos intégrations. Une fois maîtrisé, il devient une seconde nature (comme faire du vélo, mais sans les genoux écorchés).
Et si tout ça vous semble encore trop complexe, contactez if/else agency experts HubSpot. On adore plonger dans les défis techniques (et oui, même ceux qui impliquent des tonnes de jetons et de scopes).
Si OAuth 2.0 vous semble trop technique ou trop rigide pour des cas simples, bonne nouvelle : HubSpot propose d’autres moyens de synchroniser vos données.
Conseil : gardez l’API pour les cas complexes. Pour le reste, les outils no-code/low-code font largement le job.
Vous devez créer une application HubSpot (publique ou privée), configurer l’authentification OAuth 2.0, puis envoyer vos requêtes à l’API selon la documentation officielle.
Une synchronisation unidirectionnelle pousse les données dans un seul sens (ex : ERP → HubSpot). Une synchronisation bidirectionnelle permet aux deux plateformes de s’échanger des données, et de se tenir à jour mutuellement.
Oui, vous pouvez connecter plusieurs comptes ou apps au même HubSpot. Chaque application aura ses propres réglages de permissions et de mapping.
L’API est disponible dès les comptes gratuits, mais certaines fonctionnalités avancées nécessitent un abonnement à Operations Hub Pro ou Enterprise.