Aperçu
Le connecteur Salesforce fournit la fonctionnalité permettant de récupérer des données depuis les objets Salesforce (objets standard, objets personnalisés) et de les enregistrer dans l’index Fess.
Cette fonctionnalité nécessite le plugin fess-ds-salesforce.
Objets pris en charge
Objets standard : objets standard prédéfinis (Account, Contact, Lead, Opportunity, Case, Solution, etc.). L’ensemble des objets standard est fixe et la totalité d’entre eux est récupérée à chaque crawl.
Objets personnalisés : objets définis par l’utilisateur, spécifiés via le paramètre
custom(objets dont le nom API se termine par__c).
Note
Les objets standard sont toujours crawlés intégralement (il n’est pas possible de sélectionner individuellement les objets standard à crawler). Pour exclure des objets indésirables, utilisez le filtrage par URL via include_pattern / exclude_pattern.
Liste des objets standard
Les objets standard suivants sont crawlés. La colonne « Nom de l’objet » est l’identifiant utilisé dans le mapping des champs (par exemple <NomObjet>.title) ; object.type est la valeur du type d’objet que vous pouvez référencer dans les scripts.
| Nom de l’objet | object.type | Description |
|---|---|---|
ACCOUNT | Account | Account |
CONTACT | Contact | Contact |
LEAD | Lead | Lead |
OPPORTUNITY | Opportunity | Opportunity |
CASE | Case | Case |
SOLUTION | Solution | Solution |
CONTRACT | Contract | Contract |
ORDER | Order | Order |
CAMPAIGN | Campaign | Campaign |
PRODUCT2 | Product2 | Product |
PRICEBOOK2 | Pricebook2 | Price Book |
ASSET | Asset | Asset |
ASSET_RELATIONSHIP | AssetRelationship | Asset Relationship |
TASK | Task | Task |
USER | User | User |
COLLABORATION_GROUP | CollaborationGroup | Chatter Group |
IDEA | Idea | Idea |
RECOMMENDATION | Recommendation | Recommendation |
QUICK_TEXT | QuickText | Quick Text |
MACRO | Macro | Macro |
LIST_EMAIL | ListEmail | List Email |
IMAGE | Image | Image |
DAND_B_COMPANY | DandBCompany | D&B Company |
Prérequis
L’installation du plugin est requise
La création d’une application connectée (Connected App) Salesforce est nécessaire
La configuration de l’authentification OAuth est nécessaire
L’accès en lecture aux objets est requis
Installation du plugin
Installez depuis l’interface d’administration via « Système » -> « Plugins ».
Ou consultez Présentation pour plus de détails.
Configuration
Configurez depuis l’interface d’administration via « Crawler » -> « Data Store » -> « Nouveau ».
Configuration de base
| Élément | Exemple |
|---|---|
| Nom | Salesforce CRM |
| Nom du gestionnaire | SalesforceDataStore |
| Active | Oui |
Configuration des paramètres
Authentification OAuth Token (recommandée) :
Authentification OAuth Password :
Liste des paramètres
| Paramètre | Requis | Description |
|---|---|---|
base_url | Non | URL Salesforce (par défaut : https://login.salesforce.com, Sandbox : https://test.salesforce.com) |
auth_type | Oui | Type d’authentification (oauth_token ou oauth_password) |
username | Oui | Nom d’utilisateur Salesforce |
password | Pour oauth_password | Mot de passe Salesforce |
client_id | Oui | Consumer Key de l’application connectée |
private_key | Pour oauth_token | Clé privée (format PEM, sauts de ligne en \n) |
client_secret | Pour oauth_password | Consumer Secret de l’application connectée |
security_token | Pour oauth_password | Token de sécurité de l’utilisateur |
number_of_threads | Non | Nombre de threads de traitement parallèle (par défaut : 1) |
ignore_error | Non | Continuer le traitement en cas d’erreur (par défaut : true) |
custom | Non | Noms des objets personnalisés (séparés par des virgules) |
<objet>.title | Non | Nom du champ à utiliser pour le titre |
<objet>.contents | Non | Noms des champs à utiliser pour le contenu (séparés par des virgules) |
<objet>.descriptions | Non | Noms de champs pour la description (séparés par des virgules) |
<objet>.thumbnail | Non | Nom du champ pour la miniature |
include_pattern | Non | Modèle d’inclusion du filtre URL (regex) |
exclude_pattern | Non | Modèle d’exclusion du filtre URL (regex) |
refresh_token_interval | Non | Intervalle d’actualisation du jeton en secondes (par défaut : 3540) |
proxy_host | Non | Nom d’hôte du proxy HTTP |
proxy_port | Si proxy_host est défini | Numéro de port du proxy HTTP |
Configuration du script
Champs disponibles
| Champ | Description |
|---|---|
object.type | Type de l’objet (ex: Case, User, Solution) |
object.title | Nom de l’objet |
object.description | Description de l’objet |
object.content | Contenu textuel de l’objet |
object.id | ID de l’objet |
object.content_length | Longueur du contenu |
object.created | Date de création |
object.last_modified | Date de dernière modification |
object.url | URL de l’objet |
object.thumbnail | URL de la miniature |
Configuration de l’application connectée Salesforce
1. Création de l’application connectée
Dans Salesforce Setup :
Ouvrez « Gestionnaire d’applications »
Cliquez sur « Nouvelle application connectée »
Entrez les informations de base :
Nom de l’application connectée : Fess Crawler
Nom de l’API : Fess_Crawler
Email de contact : your-email@example.com
Cochez « Activer les paramètres OAuth (Activer OAuth) »
2. Configuration de l’authentification OAuth Token (recommandée)
Dans les paramètres OAuth :
Cochez « Utiliser les signatures numériques »
Téléchargez un certificat (créé selon les étapes ci-dessous)
Scopes OAuth sélectionnés :
Full access (full)
Perform requests on your behalf at any time (refresh_token, offline_access)
Cliquez sur « Enregistrer »
Copiez la Consumer Key
Création du certificat :
Téléchargez le certificat (certificate.crt) sur Salesforce et configurez le contenu de la clé privée (private_key.pem) dans les paramètres.
3. Configuration de l’authentification OAuth Password
Dans les paramètres OAuth :
URL de callback :
https://localhost(non utilisée mais requise)Scopes OAuth sélectionnés :
Full access (full)
Perform requests on your behalf at any time (refresh_token, offline_access)
Cliquez sur « Enregistrer »
Copiez la Consumer Key et le Consumer Secret
Obtention du token de sécurité :
Ouvrez les paramètres personnels dans Salesforce
Cliquez sur « Réinitialiser mon token de sécurité »
Copiez le token envoyé par email
4. Autorisation de l’application connectée
Dans « Administration » -> « Gérer les applications connectées » :
Sélectionnez l’application connectée créée
Cliquez sur « Modifier »
Changez « Utilisateurs autorisés » en « Les utilisateurs approuvés par l’administrateur sont préautorisés »
Attribuez des profils ou des ensembles de permissions
Configuration des objets personnalisés
Crawl des objets personnalisés
Spécifiez les noms des objets personnalisés avec le paramètre custom :
Mapping des champs pour chaque objet :
Règles de mapping des champs
<nom_objet>.title- Champ à utiliser pour le titre (champ unique)<nom_objet>.contents- Champs à utiliser pour le contenu (plusieurs séparés par des virgules)<nom_objet>.descriptions- Champs à utiliser pour la description (plusieurs séparés par des virgules)<nom_objet>.thumbnail- Champ à utiliser pour la miniature (champ unique)
Note
Pour le mapping des champs des objets standard, le nom de l’objet utilise la notation UPPER_SNAKE_CASE (la valeur de la colonne « Nom de l’objet » dans la section Liste des objets standard) (ex. : ACCOUNT.title=Name, DAND_B_COMPANY.title=Name). Pour les objets personnalisés, le nom de référence API est utilisé tel quel (ex. : Product__c.title=Name).
Exemples d’utilisation
Crawl des objets standard
Paramètres :
Script :
Crawl des objets personnalisés
Paramètres :
Script :
Crawl d’un environnement Sandbox
Paramètres :
Script :
Dépannage
Erreur d’authentification
Symptôme : Authentication failed ou invalid_grant
Points à vérifier :
Pour l’authentification OAuth Token :
Vérifier si la Consumer Key est correcte
Vérifier si la clé privée est correctement copiée (sauts de ligne en
\n)Vérifier si le certificat a été téléchargé sur Salesforce
Vérifier si le nom d’utilisateur est correct
Pour l’authentification OAuth Password :
Vérifier si la Consumer Key et le Consumer Secret sont corrects
Vérifier si le token de sécurité est correct
Vérifier que le mot de passe et le token de sécurité ne sont pas concaténés (configurer séparément)
Commun :
Vérifier si base_url est correct (environnement de production ou Sandbox)
Vérifier si l’application connectée est autorisée
Impossible de récupérer les objets
Symptôme : Le crawl réussit mais 0 objets
Points à vérifier :
Vérifier si l’utilisateur a les droits de lecture sur l’objet
Pour les objets personnalisés, vérifier si le nom de l’objet est correct (nom de référence API)
Vérifier si le mapping des champs est correct
Vérifier les messages d’erreur dans les logs
Nom des objets personnalisés
Vérifier le nom de référence API de l’objet personnalisé :
Ouvrez « Gestionnaire d’objets » dans Salesforce Setup
Sélectionnez l’objet personnalisé
Copiez le « Nom de l’API » (se termine généralement par
__c)
Exemple :
Label d’affichage : Product
Nom de l’API : Product__c (utilisez celui-ci)
Vérification des noms de champs
Vérifier le nom de référence API des champs personnalisés :
Ouvrez « Champs et relations » de l’objet
Sélectionnez le champ personnalisé
Copiez le « Nom du champ » (se termine généralement par
__c)
Exemple :
Label d’affichage du champ : Product Description
Nom du champ : Product_Description__c (utilisez celui-ci)
Limitation de débit API
Symptôme : REQUEST_LIMIT_EXCEEDED
Solution :
Réduire
number_of_threads(définir à 1)Augmenter l’intervalle de crawl
Vérifier l’utilisation de l’API Salesforce
Acheter des limites API supplémentaires si nécessaire
Cas de nombreuses données
Symptôme : Le crawl prend du temps ou expire
Solution :
Diviser les objets en plusieurs data stores
Ajuster
number_of_threads(environ 2-4)Répartir le calendrier de crawl
Mapper uniquement les champs nécessaires
Erreur de format de clé privée
Symptôme : Invalid private key format
Solution :
Vérifier si les sauts de ligne de la clé privée sont correctement en \n :
Informations de référence
Aperçu des connecteurs DataStore - Aperçu des connecteurs Data Store
Connecteur de base de données (recherche de base de données) - Connecteur de base de données
Crawl de magasin de données - Guide de configuration Data Store