Die REST-API bietet eine effiziente Möglichkeit, um auf Daten und Funktionen innerhalb der Salesforce-Plattform zuzugreifen. Durch HTTP-Anfragen ist eine Interaktion mit Salesforce möglich. Die REST-API ist synchron und stellt eine einfache Methode zur Anbindung an Salesforce dar, als die SOAP-API. Da die REST-API auf einer jüngeren Technologie basiert, ist sie eine bevorzugte Methode zur Integration von Salesforce.
Grundlagen
Die REST-API unterstützt verschiedene Formate wie JSON, XML und CSV und ermöglicht es, Salesforce-Daten abzurufen, zu erstellen, zu aktualisieren und zu löschen. Sie können Daten filtern und sortieren, Chatter-Nachrichten erstellen und abrufen, Dateianhänge abrufen und hochladen, Benutzer- und Gruppendaten abrufen, Prozesse automatisieren und Salesforce-Abfragen per SOQL erstellen.
Um die REST API von Salesforce anzubinden, können verschiedene C#-Bibliotheken verwenden werden. Beispielsweise kann der Standard .Net HTTPClient verwendet werden oder Open-Source-Libraries wie beispielsweise NetCoreForce.Client 3.1.0.
Art der Anbindung
In diesem Artikel wird die REST API von Salesforce mithilfe des Nugets NetCoreForce.Client 3.1.0 angebunden.
NetCoreForce.Client 3.1.0 ist eine C#-Bibliothek, die speziell für die Integration der REST-API entwickelt wurde. Die Bibliothek bietet eine Vielzahl von Funktionen und Methoden, um Salesforce-Daten abzurufen, zu erstellen, zu aktualisieren und zu löschen. Die Bibliothek unterstützt die OAuth2. Im Code-Behind wird die HttpClient-Klasse von .NET verwendet, um HTTP-Aufrufe an die REST-API zu senden.
Authentifizierungsmöglichkeiten
Die Bibliothek bietet die OAuth-Authentifizierung mittels UserName-Password-Flow an.
Vorbereitende Maßnahmen / Voraussetzung (optional)
Authentifizierung
Die Authentifizierung erfolgt über OAuth2 mittels Connected App (weitere Informationen finden Sie auf unserem Beitrag Salesforce Integration)
Limitierung
Siehe hierzu unter Salesforce Developers ( aktuelle Version der API auswählen).
Code-Beispiel
Initialisierung
using NetCoreForce.Client;
var client = new ForceClient("https://instance_name.salesforce.com",
"access_token",
"refresh_token",
"client_id",
"client_secret");
Abfragen von Daten
// Abrufen von Kontakten mittels SOQL
var contacts = await client.QueryAsync("SELECT Id, Name, Email FROM Contact");
// Abrufen eines einzelnen Kontakts
var contact = await client.QueryByIdAsync("Contact", "contact_id");
Erstellen von Daten in Salesforce
var newContact = new Contact()
{
FirstName = "John",
LastName = "Doe",
Email = "john.doe@example.com"
};
var response = await client.CreateAsync("Contact", newContact);
Hinzufügen eines Clients für Dependecy Injection (JWT-Token-Flow):
[...]
.ConfigureServices((hostBuilderContext, services) =>
{
[...]
//JWT Bearer Token Flow
_ = services.AddScoped(t => new ForceClient(new AuthInfoJwtBearerTokenFlow
{
ApiVersion = to be filled,
Certificate = to be filled,
ClientId = to be filled,
PrivateKey = to be filled,
Username = to be filled,
TokenRequestEndpoint = to be filled,
}));
[...]
});
[...]
Die Salesforce REST API ermöglicht eine einfache und flexible Integration von externen Systemen mit Salesforce durch den Einsatz standardisierter HTTP-Methoden.
Die REST API ist leichtgewichtig, einfacher zu implementieren und eignet sich besonders gut für mobile Anwendungen und moderne Web-Apps. Im Gegensatz zur SOAP API benötigt sie kein WSDL und funktioniert über JSON.
Zu den gängigen Authentifizierungsarten gehören Username-Password Flow, Web Server Flow, User-Agent Flow und JWT Bearer Token Flow. Diese ermöglichen flexible Szenarien je nach Anwendungsfall.
Wenn du eine performante, einfach zu wartende und moderne Schnittstelle für die Anbindung an Salesforce suchst – insbesondere für mobile oder Webanwendungen –, ist die REST API meist die beste Wahl.