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.
APEX Trigger
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); } }