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 :
Use Rails gem “restforce” – https://github.com/ejholmes/restforce

Installation

Add gem ‘restforce’, ‘~> 2.5.3’ into your Gemfile Run ‘bundle install’ or ‘gem install restforce’

Configuration

In your application.yml, set the following env variables –
SALESFORCE_USERNAME: “username” SALESFORCE_PASSWORD: “password” SALESFORCE_SECURITY_TOKEN: “security token” SALESFORCE_CLIENT_ID: “client id” SALESFORCE_CLIENT_SECRET: “client secret” SALESFORCE_HOST: “host domain name” 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:
accounts = sf.query(“select Id, Something__c from Account”)
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(“select Id, Something__c from Account WHERE LastModifiedDate >= #{last_synced_at} AND LastModifiedDate <= #{current_time}”)
2. requête_all
query_all lets you to include the results from your query that Salesforce hides in the default “query” method. These also include soft-deleted records and archived records (e.g. Task and Event records, usually archived automatically after they get a year old)
accounts = sf.query_all(“select Id, Something__c from Account where 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(‘Account’, ‘001D000000INjVe’, [“Id”], ‘Some_External_Id_Field__c’)
4. Rechercher
# Find all occurrences of ‘bar’
sf.search(‘FIND {bar}’)
5. créer
# Ajouter une nouvelle Certification_c
sf.create(‘Certification_c’, Certification_type_c: ‘CSR In-Person’)
6. trouver
# Trouver une certification par identifiant
sf.find(‘Certification_c’, ‘001D000000INjVe’)
7. mise à jour
# Update the ‘Certification_c’ with `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.
limits = sf.limits limits[“DailyApiRequests”]
Output = {“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 *

French
English
English
Japanese
German
French
Spanish

WhatsApp nous

Quitter la version mobile