Salesforce-API-Integration mit der Rails-App

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“ finden
sf.search('FINDEN {bar}')
5. Erstellen
# Fügen Sie eine neue Zertifizierung_c hinzu
sf.create('Certification_c', Certification_type_c: 'CSR persönlich')
6. finden
# Finden Sie eine Zertifizierung anhand der ID
sf.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 ID
sf.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

Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

de_DEGerman