Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation weitere Informationen
Version: 1.0.3
Auf Daten in Ihrem Salesforce-Konto zugreifen Daten einfügen, aktualisieren, abrufen und abfragen.
In diesem Artikel erfahren Sie, wie Sie diese Erweiterung konfigurieren und verwenden.
Voraussetzungen
In diesem Artikel erfahren Sie, wie Sie diese Erweiterung konfigurieren und verwenden. Bevor Sie die Erweiterung mithilfe der ExtensionCallout-Richtlinie von einem API-Proxy verwenden, müssen Sie Folgendes tun:
Erstellen Sie ein RSA-x509-Paar aus privatem Schlüssel und Zertifizierung.
Der private Schlüssel (.key) wird beim Konfigurieren der Erweiterung als Anmeldedaten verwendet. Sie verwenden die Zertifikatsdatei (.crt) beim Erstellen einer verbundenen App, die der Erweiterung Zugriff auf Salesforce gewährt.
openssl req -x509 -sha256 -nodes -days 36500 -newkey rsa:2048 -keyout salesforce.key -out salesforce.crt
Richte eine verbundene App ein.
Eine verbundene Salesforce-App bietet Zugriff auf die Salesforce-Erweiterung. Folgen Sie der Anleitung unten, um die App einzurichten.
Rufen Sie den Consumer-Key für die verbundene App ab. Die Erweiterung verwendet diesen für die Authentifizierung bei der App.
- Klicken Sie in der Salesforce-Einrichtung im linken Navigationsbereich auf Apps > App-Manager.
- Suchen Sie in der Liste nach der verbundenen App, die Sie erstellt haben.
- Klicken Sie im Drop-down-Menü rechts in der Zeile der Anwendung auf Anzeigen.
- Suchen Sie unter API (OAuth-Einstellungen aktivieren) den Consumer Key (Consumer-Key) und kopieren Sie seinen Wert an einen sicheren Ort, um ihn bei der Konfiguration der Erweiterung zu verwenden.
Verbundene App für den Zugriff durch die Erweiterung einrichten
Bevor die Salesforce-Erweiterung auf Salesforce zugreifen kann, müssen Sie eine verbundene Salesforce-App erstellen, über die die Erweiterung mit Salesforce verbunden werden kann.
In Salesforce können externe Anwendungen mithilfe einer verbundenen Anwendung über APIs eine Verbindung zu Salesforce herstellen.
So richten Sie eine verbundene App ein:
- Melden Sie sich bei Salesforce an.
- Klicken Sie rechts oben auf das Zahnradsymbol und dann auf Einrichtung.
- Maximieren Sie links im Navigationsbereich Apps > App-Manager.
- Klicken Sie auf der Seite App-Manager auf Neue verbundene App.
- Füllen Sie die Felder unter Grundlegende Informationen aus. Die Werte dienen der Buchhaltung und werden von der Erweiterung nicht verwendet.
- Klicken Sie unter API (OAuth-Einstellungen aktivieren) das Kästchen OAuth-Einstellungen aktivieren an.
- Geben Sie eine Callback-URL ein, auch wenn sie von der Erweiterung nicht verwendet wird. Sie können
http://localhost/
oder einen anderen Platzhalterhost verwenden. - Klicken Sie das Kästchen Digitale Signaturen verwenden an.
- Klicken Sie unter Digitale Signaturen verwenden auf Datei auswählen, um die zuvor generierte Datei
salesforce.crt
zu suchen und hochzuladen. - Fügen Sie im Bereich Ausgewählte OAuth-Bereiche unter Ausgewählte OAuth-Bereiche Folgendes hinzu:
- Daten aufrufen und verwalten (api)
- Anfragen jederzeit in Ihrem Namen ausführen (refresh_token, offline_access)
- Klicken Sie auf Speichern. Falls Fehler auftreten, müssen Sie die Datei
salesforce.crt
möglicherweise noch einmal generieren und hochladen. - Klicken Sie auf der resultierenden Anwendungsseite auf Verwalten.
- Klicken Sie auf der Seite „App Manager“ für die gerade erstellte App auf Richtlinien bearbeiten.
- Klicken Sie unter OAuth-Richtlinien auf das Drop-down-Menü Zulässige Nutzer und dann auf Vom Administrator genehmigte Nutzer sind vorab autorisiert.
- Klicken Sie auf Speichern.
- Kehren Sie zur Seite „App“ unter Profile zurück und klicken Sie auf Profile verwalten.
Klicken Sie auf der Seite Anwendungsprofilzuweisung die Kästchen für die Nutzerprofile an, die diese Anwendung verwenden können.
Wählen Sie ein Profil aus, das dem Nutzer entspricht, dessen Nutzernamen Sie bei der Konfiguration der Erweiterung verwenden. Stellen Sie außerdem sicher, dass mindestens Systemadministrator-Nutzer Zugriff auf diese Anwendung haben.
Sie können die Profileinstellung für den Nutzer in Salesforce aufrufen. Maximieren Sie im Bereich Einrichtung die Option Nutzer > Nutzer. Suchen Sie den Nutzer, den die Erweiterung repräsentieren soll, und suchen Sie sein Profil in der Spalte Profil.
Klicken Sie auf Speichern.
Über Salesforce
Salesforce ist eine CRM-Plattform (Customer-Relationship-Management). Customer Relationship Management hilft Unternehmen, die Bedürfnisse ihrer Kunden zu verstehen und Probleme zu lösen, indem sie Kundeninformationen und Interaktionen besser verwalten – und das alles über eine einzige Plattform, die jederzeit von jedem Desktop oder Gerät aus zugänglich ist.
Aktionen
insert
Fügen Sie Datensätze als sObject-Typen ein.
Syntax
<Action>insert</Action>
<Input><![CDATA[{
"sobject": records-sObject-type,
"records":[ records-to-insert ],
"allOrNone": true | false
}]]></Input>
Beispiel
<Action>insert</Action>
<Input><![CDATA[{
"sobject": "Account",
"records":[
{ "Name": "MyAccountName" }
],
"allOrNone": true
}]]></Input>
Anfrageparameter
Parameter | Beschreibung | Typ | Standard | Erforderlich |
---|---|---|---|---|
SObjekt | Der sObject-Typ der einzufügenden Datensätze. | String | Keine. | Ja. |
records | Array von sObject-Einträgen in JSON. Maximum: 1.000 | Array | Keine. | Ja. |
allOrNone | true , damit die gesamte Aktualisierung fehlschlägt, wenn ein Teil der Aktualisierung fehlschlägt. |
Boolesch | false | Nein. |
Antwort
Ein results
-Array mit Ergebnissen des Einfügevorgangs.
{
results: [
{ id: '0011U00000LQ76KQAT', success: true, errors: [] },
{ id: '0011U00000LQ76LQAT', success: true, errors: [] }
]
}
Property | Beschreibung | Typ | Standard | Erforderlich |
---|---|---|---|---|
results[*].id | Die für den neuen Datensatz generierte sObject-ID. | String | Keine. | Ja. |
results[*].success | true , wenn das Einfügen des Datensatzes erfolgreich war. |
Boolesch | Keine. | Ja. |
results[*].errors | Array von Fehlern, sofern vorhanden, die während der Ausführung erfasst werden. | Array | Keine. | Ja. |
update
Salesforce-Datensätze aktualisieren
Syntax
<Action>update</Action>
<Input><![CDATA[{
"sobject": records-sObject-type,
"records": [ records-to-update ],
"allOrNone": true | false
}]]></Input>
Beispiel
<Action>update</Action>
<Input><![CDATA[{
"sobject": "Account",
"records":[
{
"id":"0011U00000LQ76KQAT",
"Name": "MyNewAccountName"
}
],
"allOrNone": true
}]]></Input>
Anfrageparameter
Parameter | Beschreibung | Typ | Standard | Erforderlich |
---|---|---|---|---|
SObjekt | Der sObject-Typ der zu aktualisierenden Datensätze. | String | Keine. | Ja. |
records | Array von sObject-Einträgen in JSON. Jeder Datensatz, der aktualisiert werden soll, muss den ID-Wert des Eintrags enthalten. Maximum: 1.000 | Array | Keine. | Ja. |
allOrNone | true , damit die gesamte Aktualisierung fehlschlägt, wenn ein Teil der Aktualisierung fehlschlägt. |
Boolesch | false | Nein. |
Antwort
Ein results
-Array, das die Ergebnisse der Aktualisierung enthält.
{
results: [
{ id: '0011U00000LQ76KQAT', success: true, errors: [] },
{ id: '0011U00000LQ76LQAT', success: true, errors: [] }
]
}
Parameter | Beschreibung | Typ | Standard | Erforderlich |
---|---|---|---|---|
results[*].id | Die für den aktualisierten Datensatz generierte sObject-ID. | String | Keine. | Ja. |
results[*].success | true , wenn das Einfügen des Datensatzes erfolgreich war. |
Boolesch | Keine. | Ja. |
results[*].errors | Array von Fehlern, sofern vorhanden, die während der Ausführung erfasst werden. | Array | Keine. | Ja. |
retrieve
Datensätze als sObjects anhand ihrer IDs abrufen Gibt alle Felder des sObject-Typs zurück.
Syntax
<Action>retrieve</Action>
<Input><![CDATA[{
"sobject": records-sObject-type,
"ids":[ IDs-of-records-to-retrieve ]
}]]></Input>
Beispiel
<Action>retrieve</Action>
<Input><![CDATA[{
"sobject": "Account",
"ids":["0011U00000LQ76KQAT"]
}]]></Input>
Anfrageparameter
Parameter | Beschreibung | Typ | Standard | Erforderlich |
---|---|---|---|---|
SObjekt | Der sObject-Typ der abzurufenden Datensätze. | String | Keine. | Ja. |
ids | Array der abzurufenden sObject-ID-Einträge. Maximum: 1.000 | Array | Keine. | Ja. |
allOrNone | true , damit der gesamte Vorgang fehlschlägt, wenn ein Teil der Anfrage fehlschlägt. |
Boolesch | false | Nein. |
Antwort
Ein records
-Array von sObjects, die als JSON dargestellt werden. Beachten Sie, dass alle Attribute der Objekte im JSON-Code enthalten sind, auch wenn der Attributwert null ist.
{
records: [
{ sobject-json },
{ sobject-json }
]
}
querySOQL
Fragen Sie Salesforce.com mit der Salesforce Object Query Language (SOQL) ab.
Syntax
<Action>querySOQL</Action>
<Input><![CDATA[{
"soql": soql-query-statement
}]]></Input>
Beispiel
<Action>querySOQL</Action>
<Input><![CDATA[{
"soql": "SELECT Id, Name FROM Account"
}]]></Input>
Anfrageparameter
Parameter | Beschreibung | Typ | Standard | Erforderlich |
---|---|---|---|---|
Soql | SOQL-Anweisung, die abgefragt werden soll. | String | Keine. | Ja. |
Antwort
Ergebnisse der Abfrage.
{
totalSize: 2,
records: [
{
attributes: { attributes-of-record },
Id: '0011U00000LQ76KQAT',
Name: 'AccountName1'
},
{
attributes: { attributes-of-record },
Id: '0011U00000LQ76LQAT',
Name: 'AccountName2'
}
],
done: true
}
Parameter | Beschreibung | Typ | Standard | Erforderlich |
---|---|---|---|---|
totalSize | Anzahl der von der Abfrage zurückgegebenen Datensätze. | Ganzzahl | Keine. | Ja. |
records | Array zurückgegebener Datensätze als sObjects in JSON. Maximum: 1.000 | Array | Keine. | Ja. |
Fertig | true , wenn der Abfragevorgang abgeschlossen wurde. |
Boolesch | Keine. | Ja. |
list
Salesforce.com-Einträge auflisten. Gibt alle Felder des angegebenen sObject-Typs zurück.
Syntax
<Action>list</Action>
<Input><![CDATA[{
"sobject": records-sObject-type,
"limit": max-number-of-records,
"offset": record-index-at-which-to-begin-response-set
}]]></Input>
Beispiel
<Action>list</Action>
<Input><![CDATA[{
"sobject": "Account",
"limit": 1000,
"offset": 0
}]]></Input>
Anfrageparameter
Parameter | Beschreibung | Typ | Standard | Erforderlich |
---|---|---|---|---|
SObjekt | Der sObject-Typ der aufzulistenden Datensätze. | String | Keine. | Ja. |
Limit | Maximale Anzahl der zurückzugebenden Datensätze. | Ganzzahl | 1000 | Nein. |
kompensiert | Offset für Datensätze, die aufgelistet werden sollen. | Ganzzahl | 0 |
Nein. |
Antwort
Ein records
-Array, das aufgelistete sObjects als JSON enthält.
{
records: [
{ sobject-json },
{ sobject-json }
]
}
CE
Datensätze mit den angegebenen IDs werden gelöscht.
Syntax
<Action>del</Action>
<Input><![CDATA[{
"sobject": records-sObject-type,
"ids":[ IDs-of-records-to-retrieve ]
}]]></Input>
Beispiel
<Action>del</Action>
<Input><![CDATA[{
"sobject": "Account",
"ids":["0011U00000LQ76KQAT"]
}]]></Input>
Anfrageparameter
Parameter | Beschreibung | Typ | Standard | Erforderlich |
---|---|---|---|---|
SObjekt | Der sObject-Typ der zu löschenden Datensätze. | String | Keine. | Ja. |
ids | Array von sObject-IDs für zu löschende Datensätze. Maximum: 1.000 | Array | Keine. | Ja. |
Antwort
Ein results
-Array, das die Ergebnisse des Vorgangs enthält.
{
results:[
{ id: '0011U00000LQ76KQAT', success: true, errors: [] },
{ id: '0011U00000LQ76LQAT', success: true, errors: [] }
]
}
Property | Beschreibung | Typ | Standard | Erforderlich |
---|---|---|---|---|
results[*].id | sObject-ID des angegebenen Datensatzes. | String | Keine. | Ja. |
results[*].success | true , wenn der Vorgang für den Datensatz erfolgreich war. |
Boolesch | Keine. | Ja. |
results[*].errors | Array von Fehlern, sofern vorhanden, die während der Ausführung erfasst werden. | Array | Keine. | Ja. |
getAccessToken
Rufen Sie das Salesforce.com API-Zugriffstoken ab. Kann zum Abfragen von REST APIs verwendet werden.
Syntax
<Action>getAccessToken</Action>
<Input><![CDATA[{}]]></Input>
Anfrageparameter
Keine.
Antwort
Das Zugriffstoken im JSON-Format.
{
"accessToken":"00D1U0000014m3hqswvoM22I5GTw9EJrztlZ8eSSka88Q",
"scope":"api",
"instanceUrl": "https://na85.salesforce.com",
"id": "https://login.salesforce.com/id/00D1U0004564mutUAA/0051U43214qecVQAQ",
"tokenType": "Bearer"
}
Property | Beschreibung | Typ | Standard | Erforderlich |
---|---|---|---|---|
accessToken | Das Zugriffstoken. | String | Keine. | Ja. |
Bereich | Bereiche, in denen das Token Zugriff gewährt. | String | Keine. | Ja. |
instanceUrl | URL für die Instanz, die von der Salesforce-Organisation verwendet wird. | String | Keine. | Ja. |
id | ID der verbundenen App. | String | Keine. | Ja. |
tokenType | Typ des Zugriffstokens. | String | Bearer | Ja. |
Konfigurationsreferenz
Verwenden Sie Folgendes, wenn Sie diese Erweiterung zur Verwendung in API-Proxys konfigurieren und bereitstellen.
Häufige Erweiterungseigenschaften
Für jede Erweiterung sind die folgenden Eigenschaften vorhanden.
Attribut | Beschreibung | Standard | Erforderlich |
---|---|---|---|
name |
Der Name, den Sie dieser Konfiguration der Erweiterung zuweisen. | – | Ja |
packageName |
Name des Erweiterungspakets, wie von Apigee Edge angegeben. | – | Ja |
version |
Versionsnummer für das Erweiterungspaket, von dem Sie eine Erweiterung konfigurieren. | – | Ja |
configuration |
Konfigurationswert speziell für die Erweiterung, die Sie hinzufügen. Weitere Informationen finden Sie unter Eigenschaften für dieses Erweiterungspaket. | – | Ja |
Eigenschaften dieses Erweiterungspakets
Geben Sie Werte für die folgenden Konfigurationseigenschaften an, die spezifisch für diese Erweiterung sind.
Property | Beschreibung | Standard | Erforderlich |
---|---|---|---|
URL des Autorisierungsservers | Die URL, die beim Anfordern der Autorisierung von Salesforce verwendet werden soll. In der Regel ist dies https://login.salesforce.com |
Keine. | Ja. |
Consumer Key der verbundenen App | Der Consumer-Key, der von Salesforce für die von Ihnen erstellte verbundene Anwendung bereitgestellt wird. Weitere Informationen zum Abrufen des Consumer-Keys finden Sie in der Anleitung unter Voraussetzungen. | Keine. | Ja. |
Anmeldedaten | Bei Eingabe in die Apigee Edge-Konsole ist dies der Inhalt der Datei „salesforce.key“, die Sie in den obigen Schritten generiert haben. Wenn er über die Management API gesendet wird, ist er ein base64-codierter Wert, der aus der Datei „salesforce.key“ generiert wird. | Keine. | Ja. |
Nutzername des Salesforce-Nutzers | Der Nutzername, der mit der von Ihnen erstellten verbundenen App verknüpft ist. Die Salesforce-Erweiterung verwendet dies, um die Autorisierung von Salesforce abzurufen. | Keine. | Ja. |