Salesforce är känt för att vara en plattform för Customer Relationship Management (CRM) och den tillhandahåller molnbaserade applikationer för försäljning, service och marknadsföring. Den här artikeln syftar till att utveckla en tydligare förståelse för Salesforce API och hur du kan synkronisera data mellan Salesforce och din Rails-applikation. Följande steg måste följas för att integrera Salesforce API med din Rails-applikation:
Använd Rails gem "restforce" - https://github.com/ejholmes/restforce
Installation
Lägg till gem 'restforce', '~> 2.5.3' i din Gemfile Kör 'bundle install' eller 'gem install restforce'
Konfiguration
I din application.yml, ställ in följande env-variabler –SALESFORCE_USERNAME: "användarnamn" SALESFORCE_PASSWORD: "lösenord" SALESFORCE_SECURITY_TOKEN: "säkerhetstoken" SALESFORCE_CLIENT_ID: "klient-id" SALESFORCE_CLIENT_SECRET: "klienthemlighet" SALESFORCE_SECURITY_TOKEN: "Säkerhetstoken" SALESFORCE_CLIENT_ID: "klient-id" SALESFORCE_CLIENT_SECRET: "klienthemlighet" SALESFORCE_SECURITY_TOKEN: "SALESFORCE_USERNAME_0." ″Försök att ansluta till salesforce kör "sf = Restforce.new"
Frågar till Salesforce
Salesforce kan ha flera objekt som Account, Certification_c, Learner etc. För att komma åt dessa objekt kan du använda följande frågor.- fråga
- fråga_alla
- Välj
- Sök
- skapa
- hitta
- uppdatering
- förstöra
1. fråga
Exempel 1:accounts = sf.query(“välj Id, Something__c from Account”)Exempel 2: Tidsbaserad fråga med WHERE-klausul # senast synkroniserad tid
last_synced_at = (Time.now.utc – 1.hour).strftime(“%Y-%m-%dT%H:%M:%SZ”)#aktuell systemtid
aktuell_tid = 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. fråga_alla
query_all låter dig inkludera resultaten från din fråga som Salesforce döljer i standardmetoden för "fråga". Dessa inkluderar även mjukraderade poster och arkiverade poster (t.ex. uppgifts- och händelseposter, vanligtvis arkiveras automatiskt efter ett år gamla)accounts = sf.query_all(“välj Id, Something__c från konto där isDeleted = true”)
3. välj
select tillåter hämtning av en specifik lista med fält från ett enda objekt. Det kräver en extern_id-sökning, men är ofta mycket snabbare än en godtycklig fråga.sf.select('Konto', '001D000000INjVe', [“Id”], 'Some_External_Id_Field__c')
4. Sök
# Hitta alla förekomster av 'bar'sf.search('FIND {bar}')
5. skapa
# Lägg till en ny Certification_csf.create('Certification_c', Certification_type_c: 'CSR In-Person')
6. hitta
# Hitta en certifiering med idsf.find('Certification_c', '001D000000INjVe')
7. uppdatering
# Uppdatera 'Certification_c' med 'Id' '0016000000MRatd'sf.update('Certification_c', Id: '0016000000MRatd', Certification_type_c: 'CSR Vertual')
8. förstöra
# Förstör en certifiering med idsf.destroy('Certification_c', '001D000000INjVe')
API-gränser
Salesforce har en gräns för API-anrop per/dag/timme. Så du kan helt enkelt kontrollera dina Total API-anrop och tillgängliga samtal.limits = sf.limits limits[“DailyApiRequests”]
Output = {“Max”=>15000, “Remaining”=>14746}Rädda från Restforce API-anslutningsfel
def self.connect_to_salesforce sf = noll start sf = Restforce.new rescue Undantag => e error_message = "Det gick inte att ansluta till Salesforce med restforce gem!" slutändan
Prenumerera för de senaste uppdateringarna
relaterade inlägg