Salesforce-Erweiterung

Sie lesen gerade die Dokumentation zu Apigee Edge.
Apigee X-Dokumentation aufrufen.
info

Version: 2.0.2

Auf Daten in Ihrem Salesforce-Konto zugreifen Daten einfügen, aktualisieren, abrufen und abfragen

Dieser Inhalt enthält eine Referenz zum Konfigurieren und Verwenden dieser Erweiterung.

Vorbereitung

Dieser Inhalt enthält eine Referenz zum Konfigurieren und Verwenden dieser Erweiterung. Bevor Sie die Erweiterung über einen API-Proxy mit der ExtensionCallout-Richtlinie verwenden können, müssen Sie Folgendes tun:

  1. Erstellen Sie ein RSA-X.509-Schlüsselpaar oder ein Zertifizierungspaar.

    Sie verwenden den privaten Schlüssel (.key) als Anmeldedaten, wenn Sie die Erweiterung konfigurieren. Sie verwenden die Zertifikatsdatei (.crt), wenn Sie eine verbundene App erstellen, die der Erweiterung Zugriff auf Salesforce gewährt.

    openssl req -x509 -sha256 -nodes -days 36500 -newkey rsa:2048 -keyout salesforce.key -out salesforce.crt
    
    
  2. Verbundene App einrichten

    Eine verbundene Salesforce-App bietet Zugriff für die Salesforce-Erweiterung. Sehen Sie sich die Anleitung zum Einrichten der App an.

  3. Rufen Sie den Consumer-Key für die verbundene App ab. Die Erweiterung verwendet diesen bei der Authentifizierung bei der App.

    1. Rufen Sie in der Salesforce-Einrichtung im Navigationsbereich links Apps > App Manager auf.
    2. Suchen Sie in der Liste nach der verbundenen App, die Sie erstellt haben.
    3. Klicken Sie in der Drop-down-Liste rechts in der Zeile der Anwendung auf Ansehen.
    4. Suchen Sie unter API aktivieren (OAuth-Einstellungen aktivieren) nach dem 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 eine Verbindung zu Salesforce herstellen kann.

In Salesforce bietet eine verbundene App externen Anwendungen die Möglichkeit, über APIs eine Verbindung zu Salesforce herzustellen.

Verbundene App einrichten

  1. Melden Sie sich in Salesforce an.
  2. Klicken Sie rechts oben auf das Zahnradsymbol und dann auf Einrichtung.
  3. Erweitern Sie in der Navigation auf der linken Seite Apps > App Manager.
  4. Klicken Sie auf der Seite App Manager (App-Verwaltung) auf New Connected App (Neue verbundene App).
  5. Füllen Sie die Felder unter Grundlegende Informationen aus. Die Werte dienen der Buchführung und werden von der Erweiterung nicht verwendet.
  6. Markieren Sie unter API (OAuth-Einstellungen aktivieren) das Kästchen OAuth-Einstellungen aktivieren.
  7. Geben Sie eine Callback URL (Callback-URL) ein, auch wenn sie von der Erweiterung nicht verwendet wird. Sie können http://localhost/ oder einen anderen Platzhalterhost verwenden.
  8. Aktivieren Sie das Kästchen Digitale Signaturen verwenden.
  9. Klicken Sie unter Digitale Signaturen verwenden auf Datei auswählen, um die zuvor generierte Datei salesforce.crt zu suchen und hochzuladen.
  10. Fügen Sie im Abschnitt Ausgewählte OAuth-Bereiche Folgendes hinzu, damit es unter Ausgewählte OAuth-Bereiche angezeigt wird:
    • Daten aufrufen und verwalten (api)
    • Anfragen jederzeit in Ihrem Namen ausführen (refresh_token, offline_access)
  11. Klicken Sie auf Speichern. Wenn Fehler auftreten, müssen Sie die Datei salesforce.crt möglicherweise neu generieren und hochladen.
  12. Klicken Sie auf der resultierenden Anwendungsseite auf Verwalten.
  13. Klicken Sie auf der Seite „App Manager“ für die gerade erstellte App auf Richtlinien bearbeiten.
  14. Klicken Sie unter OAuth-Richtlinien auf das Drop-down-Menü Zulässige Nutzer und dann auf Vom Administrator genehmigte Nutzer sind vorautorisiert.
  15. Klicken Sie auf Speichern.
  16. Kehren Sie zur Seite „App“ unter Profile zurück und klicken Sie auf Profile verwalten.
  17. Klicken Sie auf der Seite Zuweisung von Anwendungsprofilen auf die Kästchen für die Nutzerprofile, die diese Anwendung verwenden können.

    Wählen Sie ein Profil aus, das dem Nutzer entspricht, dessen Nutzername Sie beim Konfigurieren der Erweiterung verwenden. Achten Sie außerdem darauf, dass mindestens Systemadministratoren 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, der durch die Erweiterung dargestellt werden soll, und suchen Sie dann sein Profil in der Spalte Profil.

  18. Klicken Sie auf Speichern.

Über Salesforce

Salesforce ist eine CRM-Plattform (Customer-Relationship-Management). Mit Customer Relationship Management (CRM) können Unternehmen die Anforderungen ihrer Kunden besser verstehen und Probleme lösen, indem sie Kundendaten und Interaktionen besser verwalten – alles auf einer einzigen Plattform, die jederzeit von jedem Computer oder Gerät aus zugänglich ist.

Aktionen

insert

Datensätze als sObject-Typen einfügen.

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
sobject Der sObject-Typ der einzufügenden Datensätze. String Keine. Ja.
Aufzeichnungen Array von sObject-Datensätzen in JSON. Maximum: 1.000. Array Keine. Ja.
allOrNone true, um das gesamte Update zu beenden, wenn ein Teil des Updates fehlschlägt. Boolesch falsch Nr.

Antwort

Ein results-Array mit Ergebnissen des Einfügevorgangs.

{
  results: [
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
Attribut 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 mit Fehlern, die während der Ausführung aufgetreten sind. Array Keine. Ja.

update

Salesforce-Einträge 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
sobject Der sObject-Typ der zu aktualisierenden Datensätze. String Keine. Ja.
Aufzeichnungen Array von sObject-Datensätzen in JSON. Jeder zu aktualisierende Datensatz muss die ID des Datensatzes enthalten. Maximum: 1.000. Array Keine. Ja.
allOrNone true, um das gesamte Update zu beenden, wenn ein Teil des Updates fehlschlägt. Boolesch falsch Nr.

Antwort

Ein results-Array mit Ergebnissen der Aktualisierung.

{
  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 mit Fehlern, die während der Ausführung aufgetreten sind. Array Keine. Ja.

abrufen

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
sobject Der sObject-Typ der abzurufenden Datensätze. String Keine. Ja.
ids Array von sObject-IDs der abzurufenden Datensätze. Maximum: 1.000. Array Keine. Ja.
allOrNone true, um den gesamten Vorgang abzubrechen, wenn ein Teil der Anfrage fehlschlägt. Boolesch falsch Nr.

Antwort

Ein records-Array von sObjects, die als JSON dargestellt werden. Alle Attribute der Objekte sind im JSON-Code enthalten, auch wenn der Attributwert „null“ ist.

{
  records: [
    { sobject-json },
    { sobject-json }
  ]
}

querySOQL

Salesforce.com mit Salesforce Object Query Language (SOQL) abfragen

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 für die Abfrage. 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.
Aufzeichnungen Array der zurückgegebenen Datensätze als sObjects in JSON. Maximum: 1.000. Array Keine. Ja.
Fertig true, wenn der Abfragevorgang abgeschlossen ist. 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
sobject Der sObject-Typ der aufzulistenden Datensätze. String Keine. Ja.
Limit Maximale Anzahl der zurückzugebenden Datensätze. Ganzzahl 1000 Nr.
kompensiert Offset für die aufzulistenden Datensätze. Ganzzahl 0 Nr.

Antwort

Ein records-Array mit den aufgeführten sObjects als JSON.

{
  records: [
    { sobject-json },
    { sobject-json }
  ]
}

CE

Löscht Datensätze mit den angegebenen IDs.

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
sobject Der sObject-Typ der zu löschenden Datensätze. String Keine. Ja.
ids Array von sObject-IDs für Datensätze, die gelöscht werden sollen. Maximum: 1.000. Array Keine. Ja.

Antwort

Ein results-Array mit den Ergebnissen des Vorgangs.

{
  results:[
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
Attribut 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 mit Fehlern, die während der Ausführung aufgetreten sind. Array Keine. Ja.

getAccessToken

Salesforce.com API-Zugriffstoken abrufen Kann zum Abfragen von REST APIs verwendet werden.

Syntax

<Action>getAccessToken</Action>
<Input><![CDATA[{}]]></Input>

Anfrageparameter

Keine.

Antwort

Das Zugriffstoken in JSON.

{
  "accessToken":"00D1U0000014m3hqswvoM22I5GTw9EJrztlZ8eSSka88Q",
  "scope":"api",
  "instanceUrl": "https://na85.salesforce.com",
  "id": "https://login.salesforce.com/id/00D1U0004564mutUAA/0051U43214qecVQAQ",
  "tokenType": "Bearer"
}
Attribut Beschreibung Typ Standard Erforderlich
accessToken Das Zugriffstoken. String Keine. Ja.
Bereich Bereiche, in denen das Token Zugriff gewährt. String Keine. Ja.
instanceUrl Die URL für die Instanz, die von der Salesforce-Organisation verwendet wird. String Keine. Ja.
id ID der verknüpften App. String Keine. Ja.
tokenType Typ für das Zugriffstoken. String Bearer Ja.

Konfigurationsreferenz

Verwenden Sie die folgenden Informationen, wenn Sie diese Erweiterung für die Verwendung in API-Proxys konfigurieren und bereitstellen.

Allgemeine 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

Properties für dieses Erweiterungspaket

Geben Sie Werte für die folgenden Konfigurationseigenschaften an, die für diese Erweiterung spezifisch sind.

Attribut Beschreibung Standard Erforderlich
Autorisierungsserver-URL Die URL, die beim Abrufen der Autorisierung von Salesforce verwendet werden soll. Normalerweise ist dies https://login.salesforce.com. Keine. Ja.
Consumer-Key für verbundene App Der von Salesforce bereitgestellte Consumer-Key für die verbundene App, die Sie erstellt haben. Eine Anleitung zum Abrufen des Consumer-Keys finden Sie unter Voraussetzungen. Keine. Ja.
Anmeldedaten Wenn Sie die Datei in der Apigee Edge-Konsole eingeben, ist das der Inhalt der Datei „salesforce.key“, die Sie in den 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 diese, um die Autorisierung von Salesforce zu erhalten. Keine. Ja.