Getting URLs for documents
In certain scenarios, obtaining URLs pointing to uploaded documents for use in integrations is essential. This process involves adding a custom action to your workflow that requests URLs from the Documents Plugin.
Prerequisites
Before retrieving document URLs, ensure:
Access Permissions: Ensure that the user account has the necessary access rights.
Kafka Configuration:
- Verify Kafka Setup: Ensure proper configuration and accessibility of the Kafka messaging system.
- Kafka Topics: Understand the Kafka topics used for these operations.
- Document Types: Prepare information for updating or deleting files:
types
: A list of document types.
Configuring the getting URLs process
To obtain document URLs, follow these steps:
Create a process with the following nodes:
- Message Event Send - to send the get URLs request
- Kafka Event Receive - to receive the get URLs reply
- User Task Node - where to perform the file upload action
- Start / End Milestone nodes - to create a page
Configure the User Task Node:
Node Config
- Data stream topics: Add the topic where the response will be sent; in this example
ai.flowx.updates.document.html.persist.v1
and its key:uploadedDocument
.
Actions
- Upload File action with two child actions:
- Business Rule
- Send Data to User Interface
- Save Data action
- Configure the parameters for the Upload Action:
For more details on uploading a document and configuring the file upload child actions, refer to the following sections:
- Next, configure the Message Event Send node by adding a Kafka Send Action and specifying the
..in
Kafka topic to send the request.
Identify defined topics in your environment:
- Navigate to Platform Status > FLOWX Components > document-plugin-mngt and press the eye icon on the right side.
- In the details screen, expand the
KafkaTopicsHealthCheckIndicator
line and then details → configuration → topic → document → get. Here will find the in and out topics for getting URLs for documents.
- Fill in the body of the request message for the action:
types
: A list of document types.
Message request example
Example of a message following the custom integration data model:
{
"types": [
"119435",
"119435"
]
}
- Configure the Kafka Receive Event Node by adding the
..out
kafka topic on which the response will be sent.
Receiving the reply
The response body should include the following values:
- success: A boolean indicating whether the document exists and the URL was generated successfully.
- fullName: The full name of the document file, including the directory path.
- fileName: The name of the document file without the extension.
- fileExtension: The extension of the document file.
- url: The full download URL for the document.
Message response example
[
{
"success": true,
"fullName": "1234_119435/476_119435.pdf",
"fileName": "1234_119435/476_119435",
"fileExtension": "pdf",
"url": "http://minio:9000/flowx-dev-process-id-119435/1234_119435/476_119435.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=Ha0wvtOE9gQ2NSzghEcs%2F20240205%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240205T114232Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=da7db0c2a9b0fa5e43af458d5ade76dbe83ac1052ec4ccd738564ddb5ac9c6cd"
}
]