Web API: Importfile
Jump to navigation
Jump to search
The importfile operation imports data from a text file to a datatable.
UTF-8 is the only supported character encoding for the imported file. In case any other character encoding is used, characters in the imported file may be interpreted incorrectly.
HTTP request header Authorization with value Bearer <access token> needs to be in place to identify the session.
Url: POST qprpa/api/importfile?parameter1=value1¶meter2=value2 Content-Type: multipart/form-data Body: <file contents>
Following query parameters can be defined:
- fileType (string): Defines format of the imported file. Options are csv (default), pacm and xes.
- objectId (integer): Datatable id. Used when importing data to an existing datatable.
- append (boolean): When true, existing data in the destination datatable is preserved. When false, existing data is removed and also datatable columns are deleted.
- matchByColumns: JSON array of datatable columns that are used to match the imported rows as follows: If a matching row is found, that existing row is updated (with columns not listed by this setting). In other case, a new row is created to the datatable. By default, no matching columns are defined, so all data is imported as new rows.
- csvDelimiter (string): Column delimiter character for the csv format.
- csvTimeFormat (string): Date format to use when interpreting date values for the csv format.
- csvQualifier (string): Character used to enclose strings for the csv format.
- csvStartImportFromLine (integer): The column name row in the csv file.
- isCompressed (boolean): When true, the file is compressed using gzip format. Only csv and xes files can be provided as compressed (pacm file is already a gzip file).
When importing to an existing datatable, data needs to be converted into each column's datatype. Conversions are made for each datatype as follows:
- String: No conversion needed.
- Integer: Convert digits to corresponding to integer.
- Float: Convert to float using period (.) as the decimal separator.
- DateTime: Convert to date using the provided csvTimeFormat.
- Boolean: Convert to boolean with true as true value and false as false value.
- Duration: Convert to integer and interpret the value as ticks (10000 ticks is 1 millisecond).
- Empty data is imported as null values (applies for all datatypes).
If conversion is not possible, an error is returned and the import stops. Note that some of the data may have been imported successfully to the datatable.