APIs zum Zugriff auf Briefinstanzen apis-to-access-letter-instances
Übersicht overview
Durch Verwenden der Correspondence Management-Benutzeroberfläche „Korrespondenzen erstellen“ können Sie Entwürfe laufender Briefinstanzen speichern. Außerdem sind gesendete Briefinstanzen vorhanden.
Correspondence Management bietet APIs, über die Sie eine Listenschnittstelle erstellen können, um mit gesendeten Briefinstanzen oder Entwürfen zu arbeiten. Die APIs listen und öffnen gesendete und Entwurfsbriefinstanzen eines Agenten, damit der Agent weiterhin am Entwurf oder an der gesendeten Briefinstanz arbeiten kann.
Abrufen von Briefinstanzen fetching-letter-instances
Correspondence Management stellt APIs zum Abrufen von Briefinstanzen über den LetterInstanceService-Dienst bereit.
Klasse oder sling.getService(LetterInstanceService. Class) in JSP.
Verwendung von getAllLetterInstances using-nbsp-getallletterinstances
Die folgende API findet die Briefinstanzen basierend auf dem Abfrageobjekt (Gesendet und Entwurf). Wenn das Abfrageobjekt null ist, werden alle Briefinstanzen zurückgegeben. Diese API gibt eine Liste von LetterInstanceVO-Objekten zurück, die zum Extrahieren von zusätzlichen Informationen aus der Briefinstanz verwendet werden können.
Syntax: List getAllLetterInstances(Query query) throws ICCException;
Beispiel 1: Abrufen aller Briefinstanzen vom Typ GESENDET example-fetch-all-the-letter-instances-of-type-submitted
Der folgende Code gibt die Liste der gesendeten Briefinstanzen zurück. Um nur Entwürfe zu erhalten, ändern Sie LetterInstanceType.COMPLETE.name()
in LetterInstanceType.DRAFT.name().
@Reference
LetterInstanceService letterInstanceService;
Query query = new Query();
List<LetterInstanceVO> submittedLetterInstances = new ArrayList<LetterInstanceVO>();
Statement statementForInstanceType = new Statement();
statementForInstanceType.setAttributeName("letterInstanceType");
statementForInstanceType.setOperator(Operator.EQUALS);
statementForInstanceType.setAttributeValue(LetterInstanceType.COMPLETE.name());
query.addStatement(statementForInstanceType);
submittedLetterInstances = letterInstanceService.getAllLetterInstances(query);
Beispiel 2: Rufen Sie alle Briefinstanzen, die von einem Benutzer gesendet wurden auf; der Briefinstanztyp ist ENTWURF example-nbsp-fetch-all-the-letter-instances-submitted-by-a-user-and-letter-instance-type-is-draft
Der folgende Code hat mehrfache Aussagen in der gleichen Abfrage zum Filtern der Ergebnisse, basierend auf unterschiedlichen Kriterien wie von einem Benutzer gesendete Briefinstanz (Attribut gesendet von) und Typ von letterInstanceType ist ENTWURF.
@Reference
LetterInstanceService letterInstanceService;
String submittedBy = "tglodman";
Query query = new Query();
List<LetterInstanceVO> submittedLetterInstances = new ArrayList<LetterInstanceVO>();
Statement statementForInstanceType = new Statement();
statementForInstanceType.setAttributeName("letterInstanceType");
statementForInstanceType.setOperator(Operator.EQUALS);
statementForInstanceType.setAttributeValue(LetterInstanceType.COMPLETE.name());
query.addStatement(statementForInstanceType);
Statement statementForSubmittedBy = new Statement();
statementForSubmittedBy .setAttributeName("submittedby");
statementForSubmittedBy .setOperator(Operator.EQUALS);
statementForSubmittedBy .setAttributeValue(submittedBy);
query.addStatement(statementForSubmittedBy );
submittedLetterInstances = letterInstanceService.getAllLetterInstances(query);
Verwenden von getLetterInstance using-nbsp-getletterinstance
Rufen Sie die Briefinstanz auf, die von der angegebenen Briefinstanz-ID identifiziert wird. Es wird „null“ zurückgegeben, wenn die Instanz-ID nicht übereinstimmt.
Syntax: public LetterInstanceVO getLetterInstance(String letterInstanceId) throws ICCException;
@Reference
LetterInstanceService letterInstanceService;
String letterInstanceId = "/content/apps/cm/letterInstances/1001/sampleLetterInstance";
LetterInstanceVO letterInstance = letterInstanceService.getLetterInstance(letterInstanceId );
Überprüfen, ob Briefinstanz vorhanden ist verifying-if-letterinstance-exist
Prüfen Sie anhand des angegebenen Namens, ob eine Briefinstanz vorhanden ist
Syntax: public Boolean letterInstanceExists(String letterInstanceName) throws ICCException;
@Reference
LetterInstanceService letterInstanceService;
String letterInstanceName = "sampleLetterInstance";
Boolean result = letterInstanceService.letterInstanceExists(letterInstanceName );
Öffnen von Briefinstanzen opening-letter-instances
Die Briefinstanz kann vom Typ „Gesendet“ oder „Entwurf“ sein. Beim Öffnen der beiden Briefinstanztypen zeigen sich unterschiedliche Verhaltensweisen:
- Bei einer Briefinstanz vom Typ „Gesendet“ wird ein PDF-Dokument geöffnet, das die Briefinstanz darstellt. Die Briefinstanz vom Typ „Gesendet“, die auf dem Server vorhanden ist, enthält auch die dataXML und verarbeitete XDP, die verwendet werden können, um Anwendungsfälle wie das Erstellen einer PDF/A durchzuführen und weiter anzupassen.
- Bei einer Briefinstanz vom Typ „Entwurf“ wird die Benutzeroberfläche „Korrespondenzen erstellen“ wieder genau in dem Zustand wie beim Erstellen des Entwurfs geladen
Öffnen der Briefinstanz „Entwurf“ opening-draft-letter-instance-nbsp
Die CCR-Benutzeroberfläche unterstützt den Parameter „cmLetterInstanceId“, mit dem der Brief erneut geladen werden kann.
https://[hostName]:[portNo]/[contextPath]//aem/forms/createcorrespondence.html?random=[randomNo]&cmLetterInstanceId=[letterInstanceId]
Öffnen der Briefinstanz „Gesendet“ opening-submitted-letter-instance
Ein gesendetes PDF-Dokument kann mit der Briefinstanz-ID direkt geöffnet werden:
https://[hostName]:[portNo]/[contextPath]/[letterInstanceId]