Salesforce-Erweiterung

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

<ph type="x-smartling-placeholder">

Version: 1.0.2

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

Dieser Inhalt bietet eine Referenz zum Konfigurieren und Verwenden dieser Erweiterung.

Vorbereitung

Dieser Inhalt bietet eine Referenz zum Konfigurieren und Verwenden dieser Erweiterung. Bevor Sie die Erweiterung über einen API-Proxy mithilfe der ExtensionCallout-Richtlinie verwenden können, müssen Sie:

  1. Erstellen Sie ein RSA-x509-Paar aus privatem Schlüssel und Zertifizierung.

    Sie verwenden den privaten Schlüssel (.key) als Anmeldedaten, wenn Sie die Erweiterung konfigurieren. 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
    
    
  2. Richte eine verbundene App ein.

    Eine mit Salesforce verbundene App ermöglicht den Zugriff auf die Salesforce-Erweiterung. Unten findest du eine Anleitung dazu, wie du die App einrichtest.

  3. Consumer-Key für die verbundene App abrufen Die Erweiterung verwendet diese Nummer bei der Authentifizierung bei der App.

    1. Klicken Sie bei der Salesforce-Einrichtung im linken Navigationsbereich auf Apps > App-Manager.
    2. Suchen Sie in der Liste nach der verbundenen App, die Sie erstellt haben.
    3. Klicken Sie im Drop-down-Menü rechts in der Zeile der App auf Anzeigen.
    4. Suchen Sie unter API (OAuth-Einstellungen aktivieren) den Consumer Key (Consumer-Key) und kopieren Sie den Wert an einen sicheren Ort, um die Erweiterung zu konfigurieren.

Verbundene App für den Zugriff durch die Erweiterung einrichten

Bevor die Salesforce-Erweiterung auf Salesforce zugreifen kann, müssen Sie eine mit Salesforce verbundene App erstellen, über die die Erweiterung mit Salesforce verbunden werden kann.

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

Verbundene App einrichten

  1. Melden Sie sich bei Salesforce an.
  2. Klicken Sie rechts oben auf das Zahnradsymbol und dann auf Einrichtung.
  3. Maximieren Sie in der Navigation auf der linken Seite Apps > App-Manager.
  4. Klicke auf der Seite App Manager auf Neue verbundene App.
  5. Füllen Sie die Felder unter Grundlegende Informationen aus. Die Werte sind für die Buchhaltung bestimmt; werden sie nicht von der Erweiterung verwendet.
  6. Klicken Sie unter API (OAuth-Einstellungen aktivieren) das Kästchen OAuth-Einstellungen aktivieren an.
  7. Geben Sie eine Callback-URL ein, auch wenn diese nicht von der Erweiterung verwendet wird. Sie können http://localhost/ oder einen anderen Platzhalterhost verwenden.
  8. Klicken Sie das Kästchen Digitale Signaturen verwenden an.
  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, sodass sie unter Ausgewählte OAuth-Bereiche angezeigt werden: <ph type="x-smartling-placeholder">
      </ph>
    • Daten aufrufen und verwalten (api)
    • Anfragen jederzeit in Ihrem Namen ausführen (refresh_token, offline_access)
  11. Klicken Sie auf Speichern. Falls 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 vorab autorisiert.
  15. Klicken Sie auf Speichern.
  16. Kehren Sie zur Seite „App“ unter Profile zurück und klicken Sie auf Profile verwalten.
  17. Aktivieren Sie auf der Seite Zuweisung von Anwendungsprofilen die Kontrollkästchen für die Nutzerprofile, die diese Anwendung verwenden können.

    Wählen Sie ein Profil aus, das zu dem Nutzer gehört, dessen Nutzernamen Sie bei der Konfiguration der Erweiterung verwenden. Stellen Sie außerdem sicher, dass mindestens Nutzer mit einem Systemadministrator 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 dann in der Spalte Profil sein Profil.

  18. Klicken Sie auf Speichern.

Über Salesforce

Salesforce ist eine CRM-Plattform (Customer-Relationship-Management). Customer-Relationship-Management hilft Unternehmen, die Anforderungen zu erfüllen und Probleme zu lösen, indem Kundeninformationen und Interaktionen besser verwaltet werden – alles auf einer einzigen Plattform, die jederzeit von jedem Desktop oder Gerät aus zugänglich ist.

Aktionen

<ph type="x-smartling-placeholder">

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 Default 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: Die gesamte Aktualisierung schlägt fehl, wenn ein Teil der Aktualisierung fehlschlägt. Boolesch falsch Nein.

Antwort

Ein results-Array mit Ergebnissen des Einfügevorgangs

{
  results: [
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
Attribut Beschreibung Typ Default Erforderlich
results[*].id Die für den neuen Datensatz generierte sObject-ID. String Keine. Ja.
results[*].success true, wenn dieser Datensatz erfolgreich eingefügt wurde. Boolesch Keine. Ja.
results[*].errors Array von Fehlern, falls vorhanden, die während der Ausführung erfasst werden. Array Keine. Ja.

update

Aktualisieren Sie Salesforce-Einträge.

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 Default Erforderlich
Sobject Der sObject-Typ der zu aktualisierenden Datensätze. String Keine. Ja.
Aufzeichnungen Array von sObject-Datensätzen in JSON. Jeder Datensatz, der aktualisiert werden soll, muss den ID-Wert des Eintrags enthalten. Maximum: 1.000. Array Keine. Ja.
allOrNone true: Die gesamte Aktualisierung schlägt fehl, wenn ein Teil der Aktualisierung fehlschlägt. Boolesch falsch 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 Default Erforderlich
results[*].id Die für den aktualisierten Datensatz generierte sObject-ID. String Keine. Ja.
results[*].success true, wenn dieser Datensatz erfolgreich eingefügt wurde. Boolesch Keine. Ja.
results[*].errors Array von Fehlern, falls vorhanden, die während der Ausführung erfasst werden. Array Keine. Ja.

retrieve

Rufen Sie Einträge als sObjects nach ihren IDs ab. Gibt alle Felder des Typs sObject 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 Default Erforderlich
Sobject Der sObject-Typ der abzurufenden Datensätze. String Keine. Ja.
ids Array der abzurufenden sObject-ID-Datensätze. Maximum: 1.000. Array Keine. Ja.
allOrNone true, um den gesamten Vorgang fehlschlagen zu lassen, wenn ein Teil der Anfrage fehlschlägt. Boolesch falsch Nein.

Antwort

Ein records-Array von sObjects, die als JSON dargestellt werden. Beachten Sie, dass alle Attribute der Objekte in der JSON-Datei 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 Default 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 Default Erforderlich
totalSize Anzahl der von der Abfrage zurückgegebenen Datensätze. Ganzzahl Keine. Ja.
Aufzeichnungen Array von zurückgegebenen Datensätzen als sObjects in JSON. Maximum: 1.000. Array Keine. Ja.
Fertig true, wenn der Abfragevorgang abgeschlossen ist. Boolesch Keine. Ja.

list

Listet Salesforce.com-Einträge auf. 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 Default Erforderlich
Sobject Der sObject-Typ der aufzulistenden Einträge. String Keine. Ja.
Limit Maximale Anzahl der zurückzugebenden Datensätze. Ganzzahl 1000 Nein.
kompensiert Offset für aufzulistende Datensätze. Ganzzahl 0 Nein.

Antwort

Ein records-Array mit aufgelisteten sObjects als JSON.

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

CE

Löscht Einträge 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 Default Erforderlich
Sobject 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: [] }
  ]
}
Attribut Beschreibung Typ Default Erforderlich
results[*].id sObject-ID des angegebenen Datensatzes String Keine. Ja.
results[*].success true, wenn der Vorgang für den Eintrag erfolgreich war. Boolesch Keine. Ja.
results[*].errors Array von Fehlern, falls vorhanden, die während der Ausführung erfasst werden. Array Keine. Ja.

getAccessToken

Rufen Sie ein 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"
}
Attribut Beschreibung Typ Default Erforderlich
accessToken Das Zugriffstoken. String Keine. Ja.
Bereich Bereiche, in denen das Token Zugriff gewährt. String Keine. Ja.
instanceUrl URL für die von der Salesforce-Organisation verwendete Instanz. String Keine. Ja.
id ID der verbundenen App. String Keine. Ja.
tokenType Geben Sie das Zugriffstoken ein. String Träger Ja.

Konfigurationsreferenz

Verwenden Sie Folgendes, wenn Sie diese Erweiterung zur 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

Eigenschaften 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. 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. Informationen zum Abrufen des Consumer-Keys finden Sie 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. Beim Senden über die Verwaltungs-API handelt es sich um einen base64-codierten Wert, der aus der Datei "salesforce.key" generiert wird. Keine. Ja.
Nutzername des Salesforce-Nutzers Der Nutzername, der mit der verbundenen App verknüpft ist, die Sie erstellt haben. Die Salesforce-Erweiterung verwendet diese, um eine Autorisierung von Salesforce zu erhalten. Keine. Ja.