Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
api:api_applications_id_offers_id_letters [2025/01/02 21:16] – [/api/applications/ID/offers/ID/letters] Lauriapi:api_applications_id_offers_id_letters [2025/01/02 21:33] (current) – [POST] Lauri
Line 5: Line 5:
 In reality, there is also a middle-step in that process — first a Letter is created from the Letterhead. Such a Letter represents a generated (and potentially user-customised) document, where each template marker has already been replaced by actual applicant data. For the purposes of attaching to an offer, the Letter is converted to a PDF and attached to an offer just like a regular uploaded PDF. All of this happens seamlessly in the UI, however, for the API the entire data model is explicitly shown. In reality, there is also a middle-step in that process — first a Letter is created from the Letterhead. Such a Letter represents a generated (and potentially user-customised) document, where each template marker has already been replaced by actual applicant data. For the purposes of attaching to an offer, the Letter is converted to a PDF and attached to an offer just like a regular uploaded PDF. All of this happens seamlessly in the UI, however, for the API the entire data model is explicitly shown.
  
 +Fetching a list of the Letters is usually not useful for the API consumers.  The GET calls are only offered for the sake of completeness.
 +
 +The only useful call here is the one to generate a new letter. As a matter of convenience, such letters get also attached automatically to the offer in question. Read more below.
  
 ===== HEAD, GET ===== ===== HEAD, GET =====
Line 34: Line 37:
 ===== POST ===== ===== POST =====
  
-TODO+This allows to generate a new offer attachment from a letterhead.  
 + 
 +The process is actually comprised of 3 stages: 
 +  - A letter is generated from a letterhead 
 +  - The letter is rendered to PDF 
 +  - The PDF file is attached to the offer 
 + 
 +This POST call, by the semantics of it, is meant to allow step 1 — the creation of the letter. But a bare letter, on its own, is pretty useless. Therefore, as a matter of convenience, this call also renders the PDF file and attaches it to the offer.
  
 +Note that this call is equivalent to the "one click attach" feature in the offer dialog. The same limitations apply:
 +  * There should not already be a pre-existing letter generated from this letterhead. Otherwise, this call could overwrite existing user customisation beyond the letterhead template. Keep in mind that the letterhead template can (and often is) edited when generating (and attaching) a letter.
 +  * The letterhead template markers should all be  possible to correctly fill. For example, if there is a marker to replace the applicant's phone number, the call will not work if the phone number field is not properly filled in the application. In short, this call only allows for the "happy path", as it does not offer ways to recover from errors or substitute missing information.
 ==== Syntax ==== ==== Syntax ====