d.velop connect for salesforce CRM-API
d.velop connect for salesforce CRM-API
Verwenden der API-Funktionen
In diesem Abschnitt erfährst du, wie du die verschiedenen API-Funktionen verwendest.
Verwerten des Events UploadFinishedEvent
Das Event UploadFinishedEvent wird wirksam, wenn ein erfolgreicher Upload durchgeführt wurde. Das Event kannst du ab Version 2.160 von d.velop connect for Salesforce verwenden. Das Event dvelop_docs_dev__UploadFinishedEvent__e ist sowohl durch Trigger, ProcessBuilder als auch Flows verwertbar.
Das Event wird in der aktuellen Version nach jedem erfolgreichen Upload gestartet. Die Auswertung an sich sollte dennoch so detailliert wie möglich erfolgen und nicht über alle Objekte hinweg. Das Event gibt keine Information über einen fehlerhaften Upload aus.
Namespace: dvelop_docs_dev
Name: UploadFinishedEvent
API-Name: dvelop_docs_dev__UploadFinishedEvent__e
Verwendung: Das Event startet automatisch, sobald ein erfolgreicher Upload mit einer Komponente der Anwendung d.velop connect for Salesforce durchgeführt wurde. Die Uploads können sowohl manuelle Uploads aus der Dokumentenliste sein, als auch die Uploads per OpenAPI, ProcessBuilder oder andere Automatisierungen, die Klassen aus dem Managed Package benutzen.
Das Event kann abgefangen werden durch alle Salesforce-Standards, die Platform Events verarbeiten können.
Abfangen eines Platformevents im FlowBuilder
Seit Version 2.160 von d.velop connect for Salesforce kannst du auf ein Event reagieren, das nach einem erfolgreichen Upload ausgelöst wird. Das hierfür erstellte Event dvelop_docs_dev__UploadFinishedEvent__e ist sowohl durch Trigger, ProcessBuilder als auch Flows verwertbar.
Nachfolgend wird beispielhaft ein Salesforce-Flow beschrieben:
So geht's
- Öffne das Salesforce-Setup.
- Navigiere über die Schnellsuche zu Flows.
- Klicke auf Neuer Flow.
- Wähle als Flow-Typ die Option Durch Plattformereignis ausgelöster Flow aus.
- Klicke auf Plattformereignis auswählen.
- Wähle UploadFinishedEvent aus.
- Füge bei Bedarf weitere Aktionen im Flow hinzu.
Abfangen eines Platformevents im ProcessBuilder bezogen auf Accounts
Seit Version 2.160 von d.velop connect for Salesforce kannst du auf ein Event reagieren, das nach einem erfolgreichen Upload ausgelöst wird. Das hierfür erstellte Event dvelop_docs_dev__UploadFinishedEvent__e ist sowohl durch Trigger, ProcessBuilder als auch Flows verwertbar.
Nachfolgend wird beispielhaft ein Salesforce-Prozess beschrieben:
So geht's
- Öffne das Salesforce Setup.
- Navigiere über Schnellsuche zu Prozessgenerator.
- Klicke auf Neu.
- Gib dem Prozess einen Prozessnamen und eine Beschreibung.
- Wähle für Der Prozess beginnt, wenn die Option Eine Plattformereignisnachricht ist eingegangen aus.
- Klicke auf Auslöser hinzufügen.
- Wähle für Plattformereignis die Option UploadFinishedEvent aus.
- Füge bei Bedarf weitere Aktionen im Prozess hinzu.
Beschreibung der Felder für "UploadFinishedEvent"
Du kannst folgende Felder für das Event verwenden:
- RecordId__c: Die eindeutige Salesforce-ID des Objektes, für das der Upload durchgeführt wurde (Account, Opportunity, etc.).
- RelatedDocumentId__c: Die eindeutige ID des hochgeladenen Dokuments im entsprechenden DMS, sofern die ID als Antwort des Upload geliefert wird.
- RuntimeContext__c: Der Kontext, in dem der Upload durchgeführt wurde. Mögliche Werte sind:
- Aura
- Future
- Batch
- Queueable
- Scheduled
- UserId__c: Die eindeutige Salesforce-ID des Benutzers, der den Upload ausgeführt hat bzw. in dessen Name der Upload ausgeführt wurde.
Category__c: Die eindeutige ID der Kategorie des hochgeladenen Dokuments im entsprechenden DMS.
- Properties__c: Die Eigenschaften des hochgeladenen Dokuments. Die Eigenschaften werden folgendermaßen beschrieben:
- values (eingetragene Werte für die Eigenschaft)
- key (eindeutige ID für die Eigenschaft im Entsprechenden DMS)
Verwerten des APEX-Triggers
So verwertest du den APEX-Trigger des Events UploadFinishedEvent.
trigger UploadFinished on dvelop_docs_dev__UploadFinishedEvent__e (after insert) {
List<Account> accountsToUpdate = new List<Account>();
for (dvelop_docs_dev__UploadFinishedEvent__e event : Trigger.New) {
System.debug('Event RecordID: ' + event.dvelop_docs_dev__RecordId__c);
System.debug('Event RelatedDocumentID: ' + event.dvelop_docs_dev__RelatedDocumentId__c);
System.debug('Event RuntimeContext: ' + event.dvelop_docs_dev__RuntimeContext__c);
System.debug('Event UserId: ' + event.dvelop_docs_dev__UserId__c);
System.debug('Event CategoryKey: ' + event.dvelop_docs_dev__Category__C);
System.debug('Event Properties: ' + event.dvelop_docs_dev__Properties__C);
}
}
Zurücksetzen aller Zugangsdaten mit "UserSpecificSettingsCtrl"
Mit der Methode clearUserSettingsAndCredentials kannst du die zwischengespeicherten Zugangsdaten aller Anwendenden zurücksetzen. Die Zugangsdaten können bei Bedarf neu bezogen werden. Es werden keine Übergabeparameter benötigt.
Beispielhafter Aufruf:
dvelop_docs_dev.UserSpecificSettingsCtrl.clearUserSettingsAndCredentials();
Konfigurieren von "ContentVersionUpload"
Mit dem Ereignis ContentVersionUpload werden in Salesforce hochgeladene Dateien automatisiert erkannt und in das angebundene DMS hochgeladen. Diese Beschreibung stellt ein mögliches Beispiel dar, da Kundensysteme sehr unterschiedlich konfiguriert sind. In diesem Artikel findest du jedoch grundlegende Einstellungen, die es dir ermöglichen, deinen eigenen funktionierenden Automatismus zu erstellen.
So geht's
- Öffne das Setup in Salesforce.
- Suche nach Plattformereignisse.
- Wähle Neues Plattformereignis aus.
- Gib alle notwendigen Informationen ein, wie Bezeichnung, Plural-Bezeichnung, Geschlecht und Objektname.
- Wähle für Veröffentlichungsverhalten den Wert Nach Commit veröffentlichen aus. Dadurch wird sichergestellt, dass die neue ContentVersion erst korrekt im System gespeichert ist, bevor ein Uploadversuch gestartet wird.
- Wähle für das Ereignis den Bereitstellungsstatus Bereitgestellt aus, damit du das Ereignis sofort verwenden kannst.
- Speichere deine Änderungen mit Speichern.
- Füge unter Benutzerdefinierte Felder & Beziehungen ein neues Feld mit Neu hinzu. Mit diesem Feld speicherst du die ContentVersionId am Ereignis.
Öffne anschließend die Developer Console.
- Erzeuge einen Trigger basierend auf dem ContentVersion-Objekt. Gib einen Namen ein und wähle für SObject die Option ContentVersion aus
Für jeden neuen Datensatz des Salesforce-Objekts ContentVersion wird eine neue Instanz von ContentVersionEvent erzeugt und mit dem Parameter ContentVersionId bestückt. Füge zusätzlich zu dieser Information noch alle anderen Informationen an, die du benötigst."
Veröffentliche nun das Event mit der Klasse EventBus.
trigger FileUploadTrigger on ContentVersion (before insert) {
List<ContentVersionEvent__e> contentVersionEvents =
new
List<ContentVersionEvent__e>();
for
(ContentVersion contentVersion : Trigger.New) {
ContentVersionEvent__e contentVersionEvent =
new
ContentVersionEvent__e();
contentVersionEvent.ContentVersionId__c = contentVersion.Id;
contentVersionEvents.add(contentVersionEvent);
}
EventBus.publish(contentVersionEvents);
}
- Öffne das Salesforce-Setup.
- Navigiere zu Prozessautomatisierung > Flows und wähle Durch Plattformereignis ausgelöster Flow aus.
- Wähle das Event ContentVersionEvent aus.
- Füge eine Apex-Aktion zur Nutzung der OpenAPI für den Upload hinzu (z.B. die Aktion Upload Attachments)
- Dokumenttyp: Der API-Key der Zieldokumentart.
- Filetypen: Gib kommasepariert die Dateierweiterungen an, die hochgeladen werden sollen ("*" steht für alle Datei-Erweiterungen).
- relatedEntityId: Gib eine Referenz zu dem Datensatz an, von dem die Dateien hochgeladen werden sollen.
- Transfer Emails: Falls du auch EmailMessage-Datensätze des genannten Datensatzes mit hochladen möchtest, dann trage hier TRUE ein. Wenn du keine Datensätze hochladen möchtest, trage FALSE ein.
- Speichere deine Änderungen und klicke auf aktivieren.