API per accedere alle istanze di lettere apis-to-access-letter-instances

CAUTION
AEM 6.4 ha raggiunto la fine del supporto esteso e questa documentazione non viene più aggiornata. Per maggiori dettagli, consulta la nostra periodi di assistenza tecnica. Trova le versioni supportate qui.

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.

Metodo
Descrizione
getAllLetterInstances
Recupera le istanze di lettere in base al parametro della query di input. Per recuperare tutte le istanze di lettere, passa il parametro di query come null.
getLetterInstance
Recupera l'istanza di lettera specificata in base all'ID dell'istanza di lettera.
letterInstanceExists
Controlla se esiste una LetterInstance in base al nome specificato.
NOTE
LetterInstanceService è un servizio OSGI e la sua istanza può essere recuperata utilizzando @Reference in Java
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;

Parametro
Descrizione
query
Il parametro query viene utilizzato per trovare/filtrare l’istanza Letter. La query qui supporta solo gli attributi/proprietà di primo livello dell’oggetto. La query è costituita da istruzioni e il "attributeName" utilizzato nell’oggetto Statement deve essere il nome della proprietà nell’oggetto di istanza Letter.

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;

Parametro
Descrizione
letterInstanceName
Nome dell'istanza di lettera che si desidera controllare se esiste.
@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]

NOTE
Non è necessario specificare il cmLetterId o cmLetterName/State/Version al momento del ricaricamento di una corrispondenza, in quanto i dati inviati contengono già tutti i dettagli sulla corrispondenza che viene ricaricata. RandomNo viene utilizzato per evitare problemi di cache del browser, è possibile utilizzare la marca temporale come numero casuale.

Apertura istanza lettera inviata opening-submitted-letter-instance

È possibile aprire direttamente PDF inviato utilizzando l’ID istanza di lettera:

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

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