I have a Account Opening application. Once the applicant submits the form it is required the applicant gets a pdfReceipt via email. As well a different pdfReceipt is delivered via SFTP to the client's server. The 2 pdfs have very slight differences wherein the pdf that gets sent via SFTP has extra fields exposed. This was working well until...
The client wants to use an API to deliver the email instead of SMTP. I tried overriding the Default SMTP Email Service but the extra fields that need to be hidden are visible (sends incorrect receipt).
So then I tried in the Submission Completed Processor but the receipt hasn't been rendered yet. Then I tried as a JobAction but the receipt hasn't been rendered yet either.
Q1) How can I access the two different receipts so I can determine I'm sending the correct one. Which object or service has both receipts or minimally the receipt I want?
Q2) Where in the Transaction LifeCycle can I be assured that the receipt is rendered so I can call the API? Emailing the receipt is a requirement. The Delivery Process is not an option because there is a Job Controller process that can last up to 60 days.
I will answer in reverse order
Q2) first with some background.In Transact the processing is governed by schedule jobs.
Collaboration Job Controller - scheduled job is responsible for executing the Collaboration Jobs that are available to run. This might be set to run every minute
Transaction Processing - schedule job: Renders the receipt, emails it and last performs the delivery.This might run every 5 minutes.
By default when a task is submitted in a collaboration job, the processing does not wait for a receipt to be generated before creating a new task in the next step. The receipt gets created after the Transaction Processing schedule job is run 0 - 5 minutes later.
A collaboration job can to force all pdf receipts to be generated before the job passes a particular step by using the following job action: JobReceiptWaitService
The email with receipt attached that is sent to the user with be generated after the Transaction Processing has run.
However the form is not made available in the until:
We have an idea of a delivery receipt which is separate from the user receipt.
The SFTP service is a Groovy or Fluent Delivery Service?
Has code to regenerate the receipt with the extra fields?
... To be continued