Votre édition de Salesforce ouvre-t-elle l'accès à l'API ?
Cela dépend de l'édition. Le mémo officiel des limites de Salesforce attribue un quota d'appels API aux éditions Developer, Enterprise, Unlimited et Performance, et à l'édition Professional seulement « avec accès API activé » (Professional Edition with API access enabled). En Professional, ou si votre contrat porte sur une autre offre, faites confirmer par écrit que l'accès API est actif sur votre organisation, et à quelles conditions, avant tout développement. La page « Supported Editions and Required Permissions » de la documentation REST détaille les éditions et les permissions requises.
Côté droits, l'intégration tourne sous un utilisateur dédié, dont le profil n'ouvre que les objets et champs nécessaires, plutôt que sous le compte d'un commercial : le jour où ce commercial quitte l'entreprise, son compte est désactivé et le flux de commandes s'arrête avec lui.
REST, Bulk API 2.0 ou Change Data Capture : quel canal pour quel flux ?
| Canal | Ce qu'il fait | À réserver à |
|---|---|---|
| API REST | Lit, crée, modifie et supprime les enregistrements des objets standard et personnalisés, exécute requêtes et recherches, à une adresse qui porte le numéro de version | Les échanges unitaires : une commande, un compte, une requête client |
| Bulk API 2.0 | Traite en asynchrone des fichiers CSV (insertion, mise à jour, upsert, suppression) et les requêtes de 2 000 enregistrements ou plus | Reprises d'historique et synchronisations nocturnes volumineuses |
| Change Data Capture | Publie un événement à chaque modification d'un enregistrement suivi, reçu par l'API Pub/Sub (gRPC, format Avro) | La propagation rapide des changements vers votre logiciel |
Change Data Capture couvre tous les objets personnalisés mais seulement une partie des objets standard : Salesforce publie la liste des objets pris en charge, à consulter avant de promettre qu'un changement sera signalé. Les événements restent trois jours dans le bus d'événements, et chaque message porte un ReplayId qui permet de reprendre la lecture après le dernier événement traité. Un service arrêté plus longtemps devra relire les données par l'API.
Quel volume d'appels votre organisation peut-elle consommer ?
Salesforce compte les appels au niveau de l'organisation entière, toutes intégrations confondues, par période de 24 heures. Le mémo officiel des limites (Developer Limits and Allocations Quick Reference, mis à jour le 2 avril 2025) donne ces repères, en précisant que les limites peuvent changer sans préavis :
| Situation | Repère publié par Salesforce |
|---|---|
| Developer Edition | 15 000 appels par 24 heures |
| Enterprise, ou Professional avec accès API | 100 000 appels, plus 1 000 par licence Salesforce, plus les modules achetés |
| Exemple : Enterprise avec 15 licences | 115 000 appels par 24 heures |
| Requêtes longues simultanées (20 secondes ou plus) | 25 en production et en sandbox, 5 en Developer Edition |
| Bulk API 2.0 | 150 Mo par job d'ingestion, 15 000 lots et 10 000 jobs de requête par 24 heures |
Le piège tient au partage : l'outil d'emailing, le couplage téléphonique et votre ERP puisent dans le même réservoir. Un connecteur qui relit tous les comptes toutes les cinq minutes peut priver le flux de commandes de ses appels en fin de journée. Salesforce expose la consommation par une ressource REST dédiée aux limites ; le service d'intégration la lit et alerte avant l'épuisement.
Comment une application externe s'authentifie-t-elle auprès de Salesforce ?
Une application externe accède à l'API Salesforce par OAuth 2.0 : un serveur d'autorisation délivre des jetons d'accès, que l'API vérifie à chaque appel. L'application est déclarée dans Salesforce comme external client app ou comme connected app. Depuis la version Spring '26, la création de connected apps est restreinte ; celles qui existent continuent de fonctionner, et Salesforce recommande les external client apps pour toute nouvelle intégration.
En pratique, nous déclarons une external client app par intégration, rattachée à un utilisateur d'intégration dont le profil n'ouvre que les objets et champs nécessaires. Si le flux de commandes n'a pas besoin des données d'un objet RH, l'utilisateur d'intégration ne les voit pas. Le secret reste côté serveur, dans un coffre, et sa rotation est documentée. Les principes sont détaillés dans notre guide pour sécuriser une application métier.
Cinq flux Salesforce dans une PME ou une ETI
- Opportunité signée, commande créée. Un distributeur de matériel médical clôt une opportunité ; l'événement de changement arrive au service d'intégration, qui relit l'opportunité et ses produits, crée la commande dans l'ERP et réécrit le numéro de commande sur l'opportunité.
- Encours visible sur le compte. Chaque nuit, un job Bulk API 2.0 met à jour l'encours, le chiffre d'affaires de l'année et le nombre de factures en retard, calculés par le logiciel de gestion.
- Panne déclarée, requête ouverte. Un client signale un incident sur son portail ; une requête est créée dans Salesforce, rattachée au compte et au contact, puis mise à jour par l'application terrain à la fin de l'intervention.
- Tarifs négociés à portée des commerciaux. Les remises par client, gérées dans l'ERP, alimentent un objet personnalisé consulté avant chaque chiffrage.
- Historique chargé au démarrage. Dix ans de comptes, contacts et affaires partent en fichiers CSV par Bulk API 2.0, avec contrôle des rejets lot par lot, selon notre méthode de migration des données.
Ce qui fait dérailler une intégration Salesforce
- Le plafond de Change Data Capture : sans module complémentaire, cinq objets au maximum sont suivis, toutes chaînes confondues, et une organisation Enterprise reçoit 25 000 événements délivrés par 24 heures (50 000 en Unlimited et Performance, 10 000 en Developer). Le module lève la limite d'objets et ajoute 100 000 événements par jour.
- La fenêtre de trois jours : au-delà, les événements manqués ne sont plus conservés dans le bus ; une resynchronisation complète par l'API doit être prête à tourner.
- Les doublons : l'identifiant de votre logiciel est stocké dans Salesforce et sert de clé aux opérations d'upsert, pour qu'une commande renvoyée deux fois ne crée pas deux enregistrements.
- Les tests sur données trop propres : des données fictives ne révèlent ni les comptes en double ni les adresses incomplètes de la production. Le mémo des limites attribue 5 000 000 d'appels par 24 heures à un Full Sandbox qui n'est pas créé à partir d'un modèle ; si votre organisation n'en dispose pas, préparez un jeu de test réaliste et anonymisé.
- Les données personnelles : un contact copié dans trois outils, ce sont trois endroits où appliquer un droit d'effacement. On ne réplique que les champs nécessaires et on journalise des identifiants.
Le déroulé d'un projet d'intégration Salesforce
- Cartographie des objets et des champs échangés, et de l'outil qui fait foi pour chacun.
- Vérification de l'édition, des quotas déjà consommés par les autres connecteurs et des objets suivis par Change Data Capture.
- Création de l'external client app et de l'utilisateur d'intégration, avec des droits minimaux.
- Construction flux par flux sur un sandbox, avec journal et rejeu.
- Reprise de l'historique par Bulk API 2.0, puis ouverture progressive des flux en production.
- Suivi : consommation d'appels, rejets, versions de l'API.
Connecteur existant ou développement : comment trancher pour Salesforce ?
Votre ERP ou votre logiciel de facturation propose peut-être déjà un connecteur Salesforce, et les plateformes d'intégration génériques aussi. C'est la première piste : si le connecteur couvre vos objets et vos règles, il coûte moins cher qu'un développement. Il montre ses limites quand le flux touche des objets personnalisés propres à votre métier, quand la règle de calcul (remises, encours, statuts de production) vit dans votre logiciel, ou quand plusieurs connecteurs se disputent le quota d'appels.
Si le sur-mesure s'impose, YMHB Web développe un service d'intégration dont le code vous appartient au paiement intégral : external client app et utilisateur d'intégration à votre nom, mémorisation du dernier ReplayId, relecture complète programmable, suivi des appels consommés, journal des rejets lisible par un non-développeur. Avant de vous engager sur Salesforce lui-même, comparez-le à HubSpot ou à ses alternatives ; la logique d'ensemble est décrite dans notre page pour connecter ses logiciels par API.
Questions fréquentes
L'édition Professional de Salesforce permet-elle d'utiliser l'API ?
Seulement si l'accès API y est activé. Le mémo des limites publié par Salesforce cite l'édition Professional « avec accès API activé », avec le même calcul de quota que l'édition Enterprise : 100 000 appels par 24 heures, plus 1 000 par licence Salesforce et les modules achetés. Les conditions d'activation de cet accès sur une organisation Professional se demandent à Salesforce avant de lancer l'intégration.
Combien d'appels API une organisation Salesforce Enterprise peut-elle faire par jour ?
Selon le mémo des limites publié par Salesforce, une organisation Enterprise dispose de 100 000 appels par période de 24 heures, plus 1 000 appels par licence Salesforce et les éventuels modules achetés. Avec 15 licences, cela donne 115 000 appels. Ce volume est partagé entre toutes les intégrations de l'organisation Salesforce, pas attribué à chacune.
Change Data Capture remplace-t-il les webhooks chez Salesforce ?
Change Data Capture joue chez Salesforce le rôle que tiennent les webhooks ailleurs : chaque modification d'un enregistrement suivi publie un événement, que le logiciel externe reçoit par l'API Pub/Sub. La différence tient au mode d'abonnement : le service se connecte au bus d'événements et reprend sa lecture grâce au ReplayId, dans la limite de trois jours de conservation.
Faut-il encore créer une connected app pour relier un logiciel à Salesforce ?
Non, pour une nouvelle intégration. La documentation Salesforce indique que la création de connected apps est restreinte depuis la version Spring '26 et recommande les external client apps, qui reposent elles aussi sur OAuth 2.0. Les connected apps déjà créées continuent de fonctionner ; pour en créer une malgré tout, il faut passer par le support Salesforce.
Comment charger un gros historique dans Salesforce ?
Au-delà de 2 000 enregistrements, le mémo des limites de Salesforce présente Bulk API 2.0 comme l'outil adapté. Les données partent en fichiers CSV, traitées en asynchrone, avec une limite publiée de 150 Mo par job et 15 000 lots par 24 heures glissantes. Chaque job renvoie ses rejets, que l'on corrige avant de relancer, plutôt que de boucler sur l'API REST de Salesforce.
À lire aussi
Sources
- Salesforce Developers, REST API : Supported Editions and Required Permissions (page de référence sur les éditions et permissions)
- Salesforce Developers, REST API : OAuth, connected apps et external client apps (restriction depuis Spring '26)
- Salesforce Developers, REST API : ressources et requêtes
- Salesforce Developers, Bulk API 2.0 and Bulk API Developer Guide
- Salesforce, Developer Limits and Allocations Quick Reference (PDF, mis à jour le 2 avril 2025 ; éditions, appels API, Bulk API 2.0, sandbox)
- Salesforce Developers, Change Data Capture Developer Guide (présentation)
- Salesforce Developers, Change Data Capture : abonnement (Pub/Sub API)
- Salesforce Developers, Change Data Capture : stockage et livraison (trois jours, ReplayId)
- Salesforce Developers, Change Data Capture : allocations
