Skip to main content
Version: 🚧 Next

Upload a dossier to a file server

Business goal​

This action allows an export of a dossier to be saved on a file server. The exported dossier will be saved in a JSON format.

Configuration​

  • Add the action UploadDossierToFileServer.
  • Link this action to an appropriate event.
  • Configure the action as an asynchronous EVENT action ("synchronous": false, as in the example below). Only the event executor honours the synchronous flag; a status transition runs every configured action inline, so a dossier status change would then wait for the file transfer to complete.

Settings​

  • providerIdentifier: Required setting pointing to the provider used to store the file on a file server.
  • filename: Required setting that defines the filename of the uploaded file. Supports the following contextual placeholders:
    • ${externalReference} for the external identifier of the dossier (if not available will use the dossier number instead).
    • ${dossierNumber} for the dossier number.
    • ${timestamp} for the time of upload (UTC in format yyyyMMddHHmmss).
  • exportIncludes: A list that defines what data should be included in the export. The values are the includes of the Gateway API dossier GET; an include is only applied when the module it depends on is active for the FSP.
  • gatewayVersion: Defines which version of the Gateway API is used to construct the JSON format.

Signed URLs​

Includes that add documents to the export (for example IDENTITY, PARTY_DOCUMENTS, DOSSIER_DOCUMENTS and DOSSIER_SUMMARY_SNAPSHOTS) do not embed the file content in the JSON. They add a contentURL instead: a signed link that is only valid for a limited time (120 minutes).

Make sure the process that picks the export up fetches the files within that window. Once a link has expired it cannot be refreshed — a new export has to be produced.

Example​

{
"className": "eu.myharmoney.app.bll.executors.dossierstatustransition.UploadDossierToFileServer",
"settings": {
"providerIdentifier": "<FTP_PROVIDER_IDENTIFIER>",
"filename": "dossier_${dossierNumber}_${timestamp}.json",
"exportIncludes": [
"PARTY_INFO",
"RBA",
"PARTY_RELATED_PARTIES",
"UBO",
"DOSSIER_EXTERNAL_INFORMATION",
"INTERMEDIARY",
"FISCALITY",
"PARTY_BANK_ACCOUNTS",
"DOSSIER_BANK_ACCOUNTS",
"PARTY_EXTERNAL_INFORMATION",
"INSURED_PERSON",
"OWNER",
"RESPONSIBLE",
"BENEFICIARY",
"DOSSIER_RELATED_PARTIES",
"DOSSIER_SUMMARY_SNAPSHOTS"
],
"gatewayVersion": "V4"
},
"type": "EVENT",
"value": "DOSSIER_APPROVED",
"synchronous": false,
"enabled": true
}