API per accedere alle istanze di lettere apis-to-access-letter-instances
Panoramica overview
Utilizzando l’interfaccia utente Crea corrispondenza di Gestione corrispondenza è possibile salvare le bozze delle istanze di lettere in corso e sono presenti istanze di lettere inviate.
Gestione corrispondenza fornisce API che consentono di creare l’interfaccia per l’inserimento nell’elenco in modo da utilizzare le istanze di lettere o le bozze inviate. Le API elencano e aprono le istanze di lettera inviate e bozza di un agente, in modo che l'agente possa continuare a lavorare sulle istanze di lettera bozza o inviate.
Recupero delle istanze di lettere fetching-letter-instances
Gestione corrispondenza espone le API per recuperare le istanze di lettere tramite il servizio LetterInstanceService.
Classe o sling.getService(LetterInstanceService). Classe ) in JSP.
Utilizzo di getAllLetterInstances using-nbsp-getallletterinstances
L’API seguente trova le istanze della lettera in base all’oggetto query (Inviato e Bozza). Se l'oggetto query è nullo, restituisce tutte le istanze della lettera. Questa API restituisce un elenco di LetterInstanceVO oggetti, che possono essere utilizzati per estrarre informazioni aggiuntive sull'istanza di una lettera
Sintassi: List getAllLetterInstances(Query query) throws ICCException;
Esempio 1: Recupera tutte le istanze di lettere di tipo INVIATO example-fetch-all-the-letter-instances-of-type-submitted
Il codice seguente restituisce l'elenco delle istanze di lettere inviate. Per ottenere solo le bozze, modifica il LetterInstanceType.COMPLETE.name()
a 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);
Esempio 2: il recupero di tutte le istanze di lettera inviate da un utente e da un tipo di istanza di lettera è DRAFT example-nbsp-fetch-all-the-letter-instances-submitted-by-a-user-and-letter-instance-type-is-draft
Il codice seguente contiene più istruzioni nella stessa query per ottenere i risultati filtrati in base a criteri diversi, come l'istanza di lettera inviata (attributo inviato da) da un utente e il tipo di letterInstanceType è DRAFT.
@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);
Utilizzo di getLetterInstance using-nbsp-getletterinstance
Recupera l’istanza della lettera identificata dall’ID istanza lettera specificato. Restituisce "null se l'ID istanza non corrisponde.
Sintassi: public LetterInstanceVO getLetterInstance(String letterInstanceId) throws ICCException;
@Reference
LetterInstanceService letterInstanceService;
String letterInstanceId = "/content/apps/cm/letterInstances/1001/sampleLetterInstance";
LetterInstanceVO letterInstance = letterInstanceService.getLetterInstance(letterInstanceId );
Verifica dell'esistenza di LetterInstance verifying-if-letterinstance-exist
Controlla se esiste un'istanza di Lettera in base al nome specificato
Sintassi: public Boolean letterInstanceExists(String letterInstanceName) throws ICCException;
@Reference
LetterInstanceService letterInstanceService;
String letterInstanceName = "sampleLetterInstance";
Boolean result = letterInstanceService.letterInstanceExists(letterInstanceName );
Apertura delle istanze di lettere opening-letter-instances
L'istanza della lettera può essere di tipo Inviato o Bozza. L’apertura di entrambi i tipi di istanza della lettera mostra diversi comportamenti:
- In caso di istanza di lettera inviata, viene aperto un PDF che rappresenta l’istanza di lettera. L'istanza Lettera inviata persistita sul server contiene anche i datiXML e XDP elaborati, che possono essere utilizzati per eseguire e personalizzare ulteriormente un caso d'uso come la creazione di un PDF/A.
- Nel caso di un'istanza di bozza di lettera, l'interfaccia utente per la creazione della corrispondenza viene ricaricata allo stato precedente esatto come nel momento in cui è stata creata la bozza
Apertura istanza bozza opening-draft-letter-instance-nbsp
L’interfaccia utente CCR supporta il parametro cmLetterInstanceId , che può essere utilizzato per ricaricare le lettere.
https://[hostName]:[portNo]/[contextPath]//aem/forms/createcorrespondence.html?random=[randomNo]&cmLetterInstanceId=[letterInstanceId]
Apertura istanza lettera inviata opening-submitted-letter-instance
È possibile aprire direttamente PDF inviato utilizzando l’ID istanza di lettera:
https://[hostName]:[portNo]/[contextPath]/[letterInstanceId]