Geänderte Salesforce-Objektdatensätze über Salesforce Flow mit Jitterbit Studio und API Manager an eine Datenbank senden
Einführung
Dieses Integrationsentwurfsmuster richtet einen Salesforce Flow ein, der eine ausgehende Nachricht an eine API Manager-API sendet, wenn sich ein Objekt ändert (in diesem Beispiel das Objekt Account). Ein Studio-Projekt verarbeitet die ausgehende Salesforce-Nachricht, ordnet die Daten des Objekts zu und speichert sie in einer Datenbank.
Hinweis
Geänderte Salesforce-Objektdatensätze über API Manager an eine Datenbank senden ist ein identisches Integrationsentwurfsmuster, das eine Salesforce Workflow Rule anstelle eines Flow verwendet.
Folgen Sie diesen Abschnitten der Reihe nach, um dieses Muster einzurichten:
- Teil 1: Richten Sie in Salesforce eine ausgehende Nachricht und einen Flow ein, um diese aufzurufen, wenn sich ein Objekt ändert, und laden Sie die WSDL-Datei herunter, die die Nachricht definiert.
- Teil 2: Richten Sie in Studio eine Operationskette ein, um die ausgehende Salesforce-Nachricht zu empfangen und die zugeordneten Werte in einer Datenbank zu speichern.
- Teil 3: Richten Sie in API Manager eine API als Endpunkt für Salesforce ein.
- Teil 4: Kehren Sie zu Salesforce zurück, um den Flow zu aktivieren, und testen Sie dann das abgeschlossene Integrationsentwurfsmuster.
Teil 1: Salesforce Flow und WSDL-Datei
- Wählen Sie in Salesforce Setup > Platform Tools > Process Automation > Workflow Actions > Outbound Messages aus.
-
Klicken Sie auf die Schaltfläche New Outbound Message (im Bild unten hervorgehoben).

-
Klicken Sie auf der Seite New Outbound Message auf das Menü Object, wählen Sie Account aus und klicken Sie auf Next.

-
Geben Sie auf der Seite New Outbound Message Werte für die folgenden Felder ein und klicken Sie auf Save:
- Name: Ein Name Ihrer Wahl.
- Unique Name: Dieser Name wird automatisch basierend auf dem Wert für Name und den Benennungsregeln des Felds generiert.
- Description: (Optional) Eine Beschreibung für diese ausgehende Nachricht.
- Endpoint URL: example.com. Diese temporäre URL wird später aktualisiert.
- User to Send As: Geben Sie den Benutzer ein, der die ausgehende Nachricht sendet. Der Wert wird standardmäßig auf Ihren Salesforce-Benutzernamen gesetzt.
- Protected Component: Nicht ausgewählt.
- Send Session ID: Nicht ausgewählt.
- Account Fields to Send: Wählen Sie die zu sendenden Objektfelder aus. In diesem Beispiel sind nur Name und Phone ausgewählt. Das Feld Id wird automatisch ausgewählt, da es das Schlüsselfeld für das Objekt ist.

-
Klicken Sie auf der Seite Workflow Outbound Message Detail des Nachricht auf den Link Click for WSDL in der Zeile mit der Bezeichnung Endpoint WSDL (im Bild unten hervorgehoben).

-
Eine XML-Datei wird in einem neuen Browserfenster geöffnet. Speichern Sie die Datei mit einer
.wsdl-Erweiterung. Je nach Betriebssystem müssen Sie die Dateierweiterung möglicherweise nach dem Herunterladen festlegen. -
Wählen Sie im Salesforce-Browserfenster Setup > Platform Tools > Process Automation > Flows aus.
-
Klicken Sie auf der Seite Flows auf die Schaltfläche New Flow (im Bild unten hervorgehoben).

-
Wählen Sie im Dialog New Flow des Flow Builder die Registerkarte Core aus, wählen Sie Record-Triggered Flow aus und klicken Sie auf Create.

-
Geben Sie im Dialog Configure Start Werte für die folgenden Felder ein und klicken Sie auf Done:
- Select Object: Geben Sie im Feld Object Account ein.
- Configure Trigger: Wählen Sie für Trigger the Flow When die Option A Record Is Created or Updated aus.
- Set Entry Conditions: Lassen Sie den Wert für Condition Requirements auf None.
- Optimize the Flow For: Wählen Sie Actions and Related Records aus.

-
Auf der Seite Flow Builder fahren Sie mit der Maus über den Knoten zwischen Start und End (gekennzeichnet durch einen roten Pfeil im Bild unten) und klicken dann auf
Element hinzufügen. 
-
Wählen Sie im Dialog Element hinzufügen die Option
Aktion aus. 
-
Wählen Sie im Dialog Neue Aktion die Kategorie Outbound Message aus.

-
Klicken Sie auf die Suchleiste Aktion, wählen Sie dann Ihre Outbound Message aus. Geben Sie Werte für die folgenden Felder ein und klicken Sie auf Fertig:
- Beschriftung: Geben Sie eine Beschriftung für die Aktion ein.
- API-Name: Dieser Name wird automatisch basierend auf dem Wert für Beschriftung und den Benennungsregeln des Felds generiert.
- Beschreibung: (Optional) Geben Sie eine Beschreibung für diese Aktion ein.

-
Klicken Sie auf der Seite Flow Builder auf Speichern.

-
Geben Sie im Dialog Flow speichern Werte für die folgenden Felder ein und klicken Sie auf Speichern:
- Flow-Beschriftung: Geben Sie eine Beschriftung für den Flow ein.
- Flow-API-Name: Dieser Name wird automatisch basierend auf dem Wert für Flow-Beschriftung und den Benennungsregeln des Felds generiert.
- Beschreibung: (Optional) Geben Sie eine Beschreibung für diesen Flow ein.

Teil 2: Studio-Vorgänge
Hinweis
Vorgänge in diesem Muster werden durch eine API-SOAP-Anfrage ausgelöst. Salesforce Bulk-Aktivitäten (Bulk Query, Bulk Update, Bulk Insert, Bulk Upsert, Bulk Delete und Bulk Hard Delete) werden in diesem Kontext nicht unterstützt. Verwenden Sie stattdessen Standard-Salesforce-Aktivitäten (nicht Bulk).
Definieren Sie den Vorgang „Salesforce Outbound Message"
-
Erstellen Sie ein neues Studio-Projekt.
-
Ziehen Sie eine SOAP Request-Aktivität aus der Design-Komponentenpalette und legen Sie sie auf einem leeren Vorgang auf der Design-Canvas ab.
- Legen Sie den Vorgangsnamen auf Salesforce Outbound Message fest.
- Doppelklicken Sie auf die SOAP Request-Aktivitätsinstanz im Vorgang, um den Konfigurationsbildschirm zu öffnen.
- Wählen Sie in Schritt 1 die Option Datei hochladen, klicken Sie auf Durchsuchen, wählen Sie die zuvor heruntergeladene WSDL-Datei aus und klicken Sie auf Hochladen.
- Klicken Sie auf Port und wählen Sie Notification (die einzige Option). Die verbleibenden Felder werden automatisch ausgefüllt und benötigen keine weitere Bearbeitung.
-
Klicken Sie auf Weiter.

-
Klicken Sie in Schritt 2 auf Fertig.

-
Fügen Sie eine neue Transformation rechts der SOAP Request-Aktivität hinzu.
- Klicken Sie für das Zielschema auf Quellschema spiegeln.
- Klicken Sie auf Exakte Übereinstimmungen automatisch zuordnen oder ordnen Sie Quell- und Zielfelder manuell zu.
-
Klicken Sie im Zielschema auf Schema bearbeiten, legen Sie den Schemanamen auf Upsert Schema fest und klicken Sie auf Änderungen speichern.

-
Schließen Sie die Transformation, um zum Workflow zurückzukehren.

-
Suchen Sie in der Kategorie Connectors der Komponentenpalette den Variable-Connector und klicken Sie darauf.
- Behalten Sie die Standard-Namen für Verbindung und Variable bei und klicken Sie auf Änderungen speichern.
- Ziehen Sie eine Variable write-Aktivität aus der Komponentenpalette und legen Sie sie im Vorgang Salesforce Outbound Message rechts der Transformation ab.
- Doppelklicken Sie auf die Write-Aktivität.
- Wählen Sie in Schritt 1 die Option Ja, gespeichertes Schema verwenden, klicken Sie auf Gespeicherte Schemas, wählen Sie Upsert Schema aus und klicken Sie auf Weiter.

-
Klicken Sie in Schritt 2 auf Fertig.

Der Salesforce Outbound Message-Vorgang:

Den Vorgang „Salesforce Response" definieren
- Ziehen Sie eine SOAP Response-Aktivität aus der Komponentenpalette und legen Sie sie auf einen leeren Vorgang auf der Designoberfläche ab.
- Legen Sie den Vorgangsnamen auf Salesforce Response fest.
- Doppelklicken Sie auf die SOAP Response-Aktivität.
-
Wählen Sie in Schritt 1 Vorhandene auswählen, wählen Sie die zuvor hochgeladene WSDL-Datei aus und klicken Sie auf Weiter.

-
Klicken Sie in Schritt 2 auf Fertig.

-
Fügen Sie eine neue Transformation links der SOAP Response-Aktivität im Vorgang Salesforce Response hinzu.
-
Fügen Sie einen benutzerdefinierten Wert zum Feld Ack mit dem Wert true hinzu und schließen Sie dann die Transformation, um zum Workflow zurückzukehren.

Der Vorgang Salesforce Response:

Den Vorgang „Database Upsert" definieren
- Ziehen Sie eine Variable read-Aktivität aus der Komponentenpalette und legen Sie sie auf einen leeren Vorgang auf der Designoberfläche ab.
- Legen Sie den Vorgangsnamen auf Database Upsert fest.
- Doppelklicken Sie auf die Read-Aktivität.
-
Wählen Sie in Schritt 1 Ja, gespeichertes Schema verwenden, klicken Sie auf Gespeicherte Schemas, wählen Sie Upsert Schema aus und klicken Sie auf Weiter.

-
Klicken Sie in Schritt 2 auf Fertig.

-
Richten Sie eine Datenbankverbindung für Ihre Zieldatenbank ein und klicken Sie auf Änderungen speichern. (In diesem Beispiel wird eine Verbindung zu einem PostgreSQL-Server gezeigt.)

-
Ziehen Sie eine Database Upsert-Aktivität aus der Komponentenpalette und legen Sie sie im Vorgang Database Upsert rechts der Read-Aktivität ab.
- Doppelklicken Sie auf die Upsert-Aktivität.
-
Klicken Sie in Schritt 1 auf Aktualisieren, wählen Sie die Zieldatenbanktabelle aus und klicken Sie auf Weiter.

-
Wählen Sie in Schritt 2 die zu aktualisierenden Spalten aus und klicken Sie auf Weiter.

-
Klicken Sie in Schritt 3 auf Fertig.

-
Fügen Sie im Vorgang Database Upsert eine neue Transformation zwischen den Aktivitäten Read und Upsert hinzu.
-
Ordnen Sie manuell Salesforce-Objektfelder der Quelle den Zieldatenbankspalten zu und schließen Sie dann die Transformation, um zum Workflow zurückzukehren.

Der Vorgang Database Upsert:

Operationsaktionen und Bereitstellung
- Öffnen Sie den Einstellungsbildschirm für die Operation Salesforce Outbound Message.
- Wählen Sie die Registerkarte Actions aus und legen Sie die folgenden Feldwerte fest:
- Condition: On Success.
- Action: Run Operation.
- Operation: Salesforce Response.
-
Klicken Sie auf + Add Action und schließen Sie dann den Einstellungsbildschirm der Operation.

-
Öffnen Sie den Einstellungsbildschirm für die Operation Salesforce Response.
- Wählen Sie die Registerkarte Actions aus und legen Sie die folgenden Feldwerte fest:
- Condition: On Success.
- Action: Run Operation.
- Operation: Database Upsert.
-
Klicken Sie auf + Add Action und schließen Sie dann den Einstellungsbildschirm der Operation.

Das abgeschlossene Projekt vor der Bereitstellung:

-
Stellen Sie das Projekt bereit.
Teil 3: API Manager API
-
Wählen Sie in API Manager APIs aus und klicken Sie auf New API.
-
Geben Sie in Schritt 1 der Seite Publish New API Werte für die folgenden Felder ein und klicken Sie auf Next:
-
API Name: Geben Sie einen Namen für die API ein.
-
Environment: Wählen Sie die Umgebung aus, in der das Studio-Projekt bereitgestellt wurde.
-
Service Root: Behalten Sie den vom API-Namen abgeleiteten Initialwert bei.
-
Version Number: (Optional) Geben Sie eine API-Versionsnummer ein.
-
Description: (Optional) Geben Sie eine Beschreibung für diese API ein.

-
-
Wählen Sie in Schritt 2 Custom API als Service Type aus und klicken Sie auf Add API Service. Geben Sie für den neuen API-Service diese Werte für die folgenden Felder ein, klicken Sie auf Save und dann auf Next:
-
Request Method: Verwenden Sie das Menü, um die POST-Anfragemethode für den API-Service auszuwählen. Standardmäßig ist die Anfragemethode auf GET eingestellt.
-
Service Name: Geben Sie einen Service-Namen ein.
-
Wählen Sie auf der Registerkarte Operation diese Werte aus:
-
Assign Project: Wählen Sie Ihr Studio-Projekt aus dem Menü aus.
-
Assign Operation(s):
-
Operation: Wählen Sie die Operation Salesforce Outbound Message aus.
-
Response Type: Wählen Sie Final Target als Antworttyp aus.
-
-

-
-
Klicken Sie in Schritt 3 auf Skip This Step.
-
Klicken Sie in Schritt 4 auf Save & Publish.

-
Klicken Sie im Dialog All Set, Your API is Live! auf Copy URL und dann auf Dismiss.
Teil 4: Salesforce-Endpunkt-URL aktualisieren und Flow aktivieren
- Wählen Sie in Salesforce Setup > Platform Tools > Process Automation > Workflow Actions > Outbound Messages aus.
- Klicken Sie auf der Seite Outbound Messages auf Edit für Ihre Outbound Message.
-
Ersetzen Sie den Inhalt des Felds Endpoint URL (im Bild unten hervorgehoben) durch die URL, die Sie am Ende des vorherigen Abschnitts kopiert haben, und klicken Sie auf Save.

-
Wählen Sie Setup > Platform Tools > Process Automation > Flows aus.
-
Klicken Sie auf das Flow-Label für den Eintrag Jitterbit Flow (im Bild unten hervorgehoben).

-
Klicken Sie auf der Seite Flow Builder auf die Schaltfläche Activate (im Bild unten hervorgehoben).

Integration testen
Führen Sie diese Schritte aus, um dieses Integrationsentwurfsmuster zu testen:
- Öffnen Sie in Salesforce die App Service und wählen Sie dann die Registerkarte Accounts aus.
- Bearbeiten Sie einen Kontakt eines Kontos und speichern Sie ihn.
- Melden Sie sich bei Ihrer Datenbank an und fragen Sie die Zieltabelle ab.
Eine detaillierte Anleitung zum Datenbankupsert-Schritt aus Teil 2 finden Sie unter Perform a bulk upsert to a database. Anleitungen zum Konfigurieren der Operationsaktionen „On Success" und „On Failure" finden Sie unter Configure error handling in operations. Eine auf Abfragen basierende Alternative, die keine Salesforce-Flows erfordert, finden Sie unter Query Salesforce records using SOQL.