Intégration de l'API Salesforce avec l'application Rails

Salesforce est connue pour être une plate-forme de gestion de la relation client (CRM) et fournit des applications basées sur le cloud pour les ventes, les services et le marketing. Cet article vise à développer une compréhension plus claire de l'API Salesforce et de la façon dont vous pouvez synchroniser les données entre Salesforce et votre application Rails. Les étapes suivantes doivent être suivies pour intégrer l'API Salesforce à votre application Rails :
Utilisez la gemme Rails « restforce » – https://github.com/ejholmes/restforce

Installation

Ajoutez gem 'restforce', '~> 2.5.3' dans votre Gemfile Exécutez 'bundle install' ou 'gem install restforce'

Configuration

Dans votre application.yml, définissez les variables d'environnement suivantes :
SALESFORCE_USERNAME : « nom d'utilisateur » SALESFORCE_PASSWORD : « mot de passe » SALESFORCE_SECURITY_TOKEN : « jeton de sécurité » SALESFORCE_CLIENT_ID : « identifiant client » SALESFORCE_CLIENT_SECRET : « secret client » SALESFORCE_HOST : « nom de domaine hôte » SALESFORCE_API_VERSION= »38.0″
Essayez de vous connecter à Salesforce, exécutez « sf = Restforce.new »

Requête vers Salesforce

Salesforce peut avoir plusieurs objets tels que Compte, Certification_c, Apprenant, etc. Pour accéder à ces objets, vous pouvez appliquer les requêtes suivantes.
  • requête
  • requête_all
  • sélectionner
  • recherche
  • créer
  • trouver
  • mise à jour
  • détruire
1. requête
Exemple 1:
comptes = sf.query("sélectionnez l'identifiant, quelque chose__c du compte")
Exemple 2 : requête basée sur le temps utilisant la clause WHERE #, heure de la dernière synchronisation
last_synced_at = (Time.now.utc – 1.hour).strftime(« %Y-%m-%dT%H:%M:%SZ »)
#heure système actuelle
current_time = Time.now.utc.strftime("%Y-%m-%dT%H:%M:%SZ")
sf.query("sélectionnez Id, Something__c du compte WHERE LastModifiedDate >= #{last_synced_at} AND LastModifiedDate <= #{current_time}")
2. requête_all
query_all vous permet d'inclure les résultats de votre requête que Salesforce cache dans la méthode « requête » par défaut. Ceux-ci incluent également les enregistrements supprimés de manière logicielle et les enregistrements archivés (par exemple, les enregistrements de tâches et d'événements, généralement archivés automatiquement après un an).
comptes = sf.query_all (« sélectionnez l'identifiant, quelque chose__c du compte où isDeleted = true »)
3. sélectionnez
select permet de récupérer une liste spécifique de champs à partir d'un seul objet. Cela nécessite une recherche external_id, mais est souvent beaucoup plus rapide qu'une requête arbitraire.
sf.select('Compte', '001D000000INjVe', [«Id»], 'Some_External_Id_Field__c')
4. Rechercher
# Trouver toutes les occurrences de « bar »
sf.search('TROUVER {bar}')
5. créer
# Ajouter une nouvelle Certification_c
sf.create('Certification_c', Certification_type_c : 'RSE en personne')
6. trouver
# Trouver une certification par identifiant
sf.find('Certification_c', '001D000000INjVe')
7. mise à jour
# Mettre à jour la 'Certification_c' avec `Id` '0016000000MRatd'
sf.update('Certification_c', Id : '0016000000MRatd', Certification_type_c : 'CSR Vertual')
8. détruire
# Détruire une certification par identifiant
sf.destroy('Certification_c', '001D000000INjVe')

Limites de l'API

Salesforce a une limite d’appels API par jour/heure. Ainsi, vous pouvez simplement vérifier le total de vos appels API et les appels disponibles.
limites = sf.limits limites[«DailyApiRequests»]
Sortie = {"Max"=>15000, "Remaining"=>14746}
Sauvetage des erreurs de connexion à l'API Restforce
def self.connect_to_salesforce sf = nil start sf = Restforce.new Rescue Exception => e error_message = "Échec de la connexion à Salesforce à l'aide de Restforce Gem !" fin fin

Abonnez-vous pour les dernières mises à jour

Articles Similaires

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

fr_FRFrench