APIs zum Zugriff auf Briefinstanzen apis-to-access-letter-instances

CAUTION
AEM 6.4 hat das Ende der erweiterten Unterstützung erreicht und diese Dokumentation wird nicht mehr aktualisiert. Weitere Informationen finden Sie in unserer technische Unterstützung. Unterstützte Versionen suchen here.

Übersicht overview

Mithilfe der Benutzeroberfläche "Korrespondenz erstellen"von Correspondence Management können Sie Entwürfe von Briefinstanzen unter "Fortschritt"speichern und es gibt gesendete Briefinstanzen.

Correspondence Management stellt Ihnen APIs bereit, mit denen Sie die Listenschnittstelle für die Arbeit mit gesendeten Briefinstanzen oder Entwürfen erstellen können. 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 bereit, um Briefinstanzen mithilfe von LetterInstanceService abzurufen.

Methode
Beschreibung
getAllLetterInstances
Ruft Briefinstanzen anhand des Eingabeabfrageparameters ab. Um alle Briefinstanzen abzurufen, übergeben Sie den Abfrageparameter als null.
getLetterInstance
Ruft die angegebene Briefinstanz basierend auf der Briefinstanz-ID ab.
letterInstanceExists
Überprüft anhand des angegebenen Namens, ob eine Briefinstanz vorhanden ist.
NOTE
LetterInstanceService ist ein OSGI-Service, dessen Instanz mit Hilfe von @Reference in Java abgerufen werden kann
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 zusätzlicher Informationen der Briefinstanz verwendet werden können

Syntax: List getAllLetterInstances(Query query) throws ICCException;

Parameter
Beschreibung
Abfrage
Der Abfrageparameter wird zum Suchen/Filtern der Briefinstanz verwendet. Hier unterstützt die Abfrage nur Attribute/Eigenschaften des Objekts auf höchster Ebene. Abfrage besteht aus Anweisungen und der im Statement-Objekt verwendete "attributeName"sollte der Name der Eigenschaft im Briefinstanzobjekt sein.

Beispiel 1: Abrufen aller Briefinstanzen des Typs "SUBMITTED" 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;

Parameter
Beschreibung
letterInstanceName
Name der Briefinstanz, deren Existenz Sie überprüfen möchten.
@Reference
LetterInstanceService letterInstanceService;
String letterInstanceName = "sampleLetterInstance";
Boolean result = letterInstanceService.letterInstanceExists(letterInstanceName );

Öffnen von Briefinstanzen opening-letter-instances

Briefinstanz kann vom Typ „Gesendet“ oder „Entwurf“ sein. Das Öffnen beider Briefinstanztypen zeigt unterschiedliche Verhaltensweisen:

  • Im Falle der Briefinstanz "Gesendet" wird eine PDF geöffnet, die die Briefinstanz darstellt. Die Briefinstanz "Gesendet", die auf dem Server persistiert wird, enthält auch die dataXML und verarbeitete XDP, die verwendet werden können, um einen Anwendungsfall wie das Erstellen einer PDF/A auszuführen und weiter anzupassen.
  • Im Falle der Briefinstanz „Entwurf“ wird die Benutzeroberfläche „Korrespondenz erstellen“ in den genauen Status wie zuvor neu geladen, als sie als Entwurf erstellt wurde

Öffnen der Briefinstanz „Entwurf“  opening-draft-letter-instance-nbsp

CCR Benutzeroberfläche unterstützt den Parameter cmLetterInstanceId, der zum Neuladen des Briefs verwendet werden kann.

https://[hostName]:[portNo]/[contextPath]//aem/forms/createcorrespondence.html?random=[randomNo]&cmLetterInstanceId=[letterInstanceId]

NOTE
Sie müssen beim Neuladen einer Korrespondenz weder cmLetterId noch cmLetterName/State/Version angeben, da die gesendeten Daten bereits alle Details zu dieser Korrespondenz enthalten. RandomNo wird verwendet, um Probleme mit dem Browser-Cache zu vermeiden. Sie können Zeitstempel als zufällige Zahl verwenden.

Öffnen der gesendeten Briefinstanz opening-submitted-letter-instance

Gesendete PDF kann direkt mit der Briefinstanz-ID geöffnet werden:

https://[hostName]:[portNo]/[contextPath]/[letterInstanceId]

recommendation-more-help
a6ebf046-2b8b-4543-bd46-42a0d77792da