IMS File Transfer message format
- JSON Parameters (application/json) - This JSON object contains the metadata and routing information for the file sent to WFM. It defines how the incoming file is identified, ordered, deduplicated, and processed in the application.
- File Content (application/octet-stream)- This part contains the raw file content compressed using the algorithm specified in the
encodingfield of the JSON parameters.
JSON parameters (application/json)
This is the MessageParamsDTO structure serialized in JSON and sent as the first part of the multipart request.
{
"documentName": "AnyDocument",
"fromLogicalId": "lid://infor.wfm.acme",
"encoding": "DEFLATE",
"characterSet": "UTF-8",
"messageId": "3f8e2a1b-4c9d-4e7f-8a2b-1c3d5e7f9a0b",
"toLogicalId": "lid://default",
"documentId": "employees_20260429.csv",
"variationId": 1746000000,
"source": "imports/hr/employees_20260429.csv",
"batchId": "1746000000",
"batchSequence": 1,
"batchSize": 3
}
JSON field descriptions
| Field | Description |
|---|---|
documentName* |
The IMS Document Name that matches a configured document in the application, for example AnyDocument. |
fromLogicalID* |
The WFM logical ID of the tenant sending the incoming IMS file. |
encoding* |
The compression algorith applied to the file content. Specify NONE, DEFLATE for zlib, for GZIP. The default value is DEFLATE when publishing. |
characterSet* |
The character encoding of the file specified as a Java charset name. The usual value is UTF-8. |
messageId |
This field is used as a UUID for duplicate detection. Leave this field blank to skip the deduplication check. |
toLogicalID |
The target logical ID. The default value is lid://default;. Messages are routed automatically through IMS. |
documentId |
The file name or entry identifier. The maximum number of characters supported is 100. The value in this field is used to sort messages. Messages with the same documentID are sorted based on variationId |
variationID |
A long integer generated by the source system. This is used to sort and deduplicate messages. Messages with expired variation IDs are rejected. |
source |
The original filepath, included for traceability. |
batchId |
An identifier shared across all chinks when a large file is split. |
batchSequence |
The chink number within a batch. The value starts at 1. |
batchSize |
The total number of chunks in the batch. |
File content application/octet-stream
The next part of the IMS File Processing multipart HTTP request is the actual file data sent as application/octet-stream. This part contains the raw file content compressed using the encoding method specified in the JSON parameters. Any flat file format is supported, as long as you have configured the target WFM import job to process it. The most common format is in CSV format. This format is typically handled in the Job Scheduler. IMS tasks are format-agnostic. There is no restriction on file type as long as a corresponding Job Scheduler task is configured to process it.
Refer to this example for a single-chunk file that is less than 5 MiB.
{
"documentName": "AnyDocument",
"fromLogicalId": "lid://infor.wfm.acme",
"encoding": "DEFLATE",
"characterSet": "UTF-8",
"documentId": "timecards_20260429.csv",
"variationId": 1746124800
}
Binary part: [DEFLATE-compressed bytes of timecards_20260429.csv]
You can also spit large files into chunks. Refer to this example for a large file split across three chunks.
{
"documentName": "AnyDocument",
"fromLogicalId": "lid://infor.wfm.acme",
"encoding": "DEFLATE",
"characterSet": "UTF-8",
"documentId": "bigfile.csv",
"variationId": 1746124800,
"batchId": "1746124800",
"batchSequence": 1,
"batchSize": 3
}
"batchSequence" value is 2 and 3 respectively.
{
"documentName": "AnyDocument",
"fromLogicalId": "lid://infor.wfm.acme",
"encoding": "DEFLATE",
"characterSet": "UTF-8",
"documentId": "bigfile.csv",
"variationId": 1746124800,
"batchId": "1746124800",
"batchSequence": 2,
"batchSize": 3
}
{
"documentName": "AnyDocument",
"fromLogicalId": "lid://infor.wfm.acme",
"encoding": "DEFLATE",
"characterSet": "UTF-8",
"documentId": "bigfile.csv",
"variationId": 1746124800,
"batchId": "1746124800",
"batchSequence": 3,
"batchSize": 3
}
Task configuration reference
You must configure both the IMS File Transfer and IMS File Processing tasks to process IMS files successfully.
IMS File Transfer task
Use the IMS File Transfer task to send files from WFM storage into IMS.
This table contains the task parameters and their descriptions.
| Parameter | Description |
|---|---|
| Source Folder | The path in the application's SCHEDULER_IMPORT storage area. |
| Source File | The file name or glob patters, for example employees_*.csv. |
| Document Name | The IMS Document Name. This parameter supports only flat file types. |
| File Size (MiB) | The maximum file chunk size supported before splitting. The default value is 5. |
| Source Archive Option | The Source Archive Option determines what happens to the original source files after they have been successfully transferred from WFM storage to IMS. Select among these options:
|
| Archive Folder | Specify the target folder if you selected the Archive option in the Source Archive Option parameter. |
IMS File Processing task
Use the IMS File Transfer task to receive files from IMS and write them into the WFM import folder
| Parameter | Description |
|---|---|
| Document Name | The IMS Document Name. |
| Destination Folder | The filepath of the destination folder or directory where the file is stored in WFM storage. |
| Destination File | The name of the destination file. |
| Append Variation | Specify Y or N to append he Variation ID to the file name, for example timecards_1746124800.csv. |
| Overwrite File | Specify Y or N to overwrite a file with the same name. If you specify N, the application returns an error if an identical file name exists. |