Salesforce ist als Customer Relationship Management (CRM)-Plattform bekannt und bietet cloudbasierte Anwendungen für Vertrieb, Service und Marketing. Ziel dieses Artikels ist es, ein klareres Verständnis der Salesforce-API und der Art und Weise zu entwickeln, wie Sie Daten zwischen Salesforce und Ihrer Rails-Anwendung synchronisieren können. Die folgenden Schritte müssen befolgt werden, um die Salesforce-API in Ihre Rails-Anwendung zu integrieren:
Verwenden Sie das Rails-Gem „restforce“ – https://github.com/ejholmes/restforce
Installation
Fügen Sie gem „restforce“, „~> 2.5.3“ zu Ihrer Gemfile hinzu. Führen Sie „bundle install“ oder „gem install restforce“ aus.
Aufbau
Legen Sie in Ihrer application.yml die folgenden Umgebungsvariablen fest:SALESFORCE_USERNAME: „Benutzername“ SALESFORCE_PASSWORD: „Passwort“ SALESFORCE_SECURITY_TOKEN: „Sicherheitstoken“ SALESFORCE_CLIENT_ID: „Client-ID“ SALESFORCE_CLIENT_SECRET: „Client-Geheimnis“ SALESFORCE_HOST: „Hostdomänenname“ SALESFORCE_API_VERSION=“38.0“Versuchen Sie, eine Verbindung zu Salesforce herzustellen und führen Sie „sf = Restforce.new“ aus.
Abfrage an Salesforce
Salesforce kann über mehrere Objekte verfügen, z. B. „Konto“, „Zertifizierung_c“, „Lernender“ usw. Um auf diese Objekte zuzugreifen, können Sie die folgenden Abfragen anwenden.- Abfrage
- query_all
- wählen
- suchen
- erstellen
- finden
- aktualisieren
- zerstören
1. Abfrage
Beispiel 1:Accounts = sf.query(“select Id, Something__c from Account”)Beispiel 2: Zeitbasierte Abfrage mit WHERE-Klausel # letzte synchronisierte Zeit
last_synced_at = (Time.now.utc – 1.hour).strftime(“%Y-%m-%dT%H:%M:%SZ”)#aktuelle Systemzeit
current_time = Time.now.utc.strftime(“%Y-%m-%dT%H:%M:%SZ”)
sf.query(“wählen Sie Id, Something__c from Account WHERE LastModifiedDate >= #{last_synced_at} AND LastModifiedDate <= #{current_time}“)
2. query_all
Mit query_all können Sie die Ergebnisse Ihrer Abfrage einbeziehen, die Salesforce in der Standardmethode „query“ verbirgt. Dazu gehören auch vorläufig gelöschte Datensätze und archivierte Datensätze (z. B. Aufgaben- und Ereignisdatensätze, die normalerweise automatisch archiviert werden, nachdem sie ein Jahr alt sind).Accounts = sf.query_all(“wählen Sie Id, Something__c aus Konto aus, wobei isDeleted = true ist”)
3. auswählen
select ermöglicht das Abrufen einer bestimmten Liste von Feldern aus einem einzelnen Objekt. Es erfordert eine external_id-Suche, ist aber oft viel schneller als eine beliebige Abfrage.sf.select('Account', '001D000000INjVe', [“Id”], 'Some_External_Id_Field__c')
4. Suchen
# Alle Vorkommen von „bar“ findensf.search('FINDEN {bar}')
5. Erstellen
# Fügen Sie eine neue Zertifizierung_c hinzusf.create('Certification_c', Certification_type_c: 'CSR persönlich')
6. finden
# Finden Sie eine Zertifizierung anhand der IDsf.find('Certification_c', '001D000000INjVe')
7. Aktualisierung
# Aktualisieren Sie „Certification_c“ mit „Id“ „0016000000MRatd“.sf.update('Certification_c', Id: '0016000000MRatd', Certification_type_c: 'CSR Vertual')
8. zerstören
# Zerstören Sie eine Zertifizierung anhand der IDsf.destroy('Certification_c', '001D000000INjVe')
API-Grenzwerte
Salesforce hat ein Limit für API-Aufrufe pro Tag und Stunde. So können Sie einfach Ihre gesamten API-Aufrufe und verfügbaren Aufrufe überprüfen.limits = sf.limits limits[„DailyApiRequests“]
Ausgabe = {„Max“=>15000, „Remaining“=>14746}Rettung vor Restforce-API-Verbindungsfehlern
def self.connect_to_salesforce sf = nil begin sf = Restforce.new Rescue Exception => e error_message = „Verbindung zu Salesforce mithilfe von Restforce Gem fehlgeschlagen!“ Ende Ende
Abonnieren Sie die neuesten Updates
zusammenhängende Posts