- Introduction to Web API
- Authorization
- Data types
- Data import
- Working with filters
- Working with filters in reports
- Additional field attributes
- Additional attributes of data short description
- Partial and eager loading of app fields
-
Public Web API
-
Managing apps
- App item is created (POST)
- Batch saving of items from different apps (POST)
- Data import from a file (POST)
- Edit an app item (POST)
- Get a list of app items (GET)
- Get a list of app items (POST)
- Get an app item by ID (GET)
- Get an app item by ID (POST)
- Get app list (GET)
- Get app status (GET)
- Get import status (POST)
- Set app item status (POST)
-
Managing business processes
- Bulk interruption of process instances (POST)
- Bulk restart of process instance steps (POST)
- Bulk skipping of process instance steps (POST)
- Bulk update of process instances (POST)
- Change the process instance context (PUT)
- Continuation of a delegated action by ID (POST)
- Get a list of process instances (GET)
- Get a list of process instances (POST)
- Get a list of process instances (GET)
- Get a list of process instances (POST)
- Get a list of process instances by target (POST)
- Get a list of process instances by target (GET)
- Get a process instance by ID (POST)
- Get a process instance by ID (GET)
- Interrupt a process instance (POST)
- Restart of a process instance step (POST)
- Skipping a process instance step (POST)
- Start process by workspace and code (POST)
- Update a process instance version (POST)
-
Managing files
- Bulk file deletion (PATCH)
- Bulk file initialization (POST)
- Bulk file upload via links (POST)
- Bulk receiving of file upload links (POST)
- Bulk retrieval of file download links (POST)
- Directory is created (POST)
- File search (POST)
- Get a list of directories (GET)
- Get a list of directories (POST)
- Get file download link by file ID (GET)
- Get file download link by file ID (POST)
- Get information about a directory by ID (GET)
- Load a file to a directory (POST)
- Moving a file to a directory (POST)
- Retrieving file information by ID (GET)
- Upload a temporary file (POST)
- Managing users
-
Working with metadata
- Adding org chart items to group (POST)
- Create a group’s metadata description (POST)
- Delete a group (DELETE)
- Deleting org chart items from group (POST)
- Edit group data (PUT)
- Get a group metadata description instance by ID (GET)
- Get a list of an app’s document templates’ metadata descriptions (GET)
- Get a list of document templates’ metadata descriptions (GET)
- Get a list of groups the specified group is included in (GET)
- Get a list of metadata descriptions of filtered groups (POST)
- Get a list of metadata descriptions of filtered groups (GET)
- Get a list of metadata descriptions of groups and roles by app (GET)
- Get a list of modules’ metadata descriptions (GET)
- Get a list of pages’ metadata descriptions (GET)
- Get a list of positions included in a group (GET)
- Get a list of process templates’ metadata descriptions by app (GET)
- Get a list of solutions’ metadata descriptions (GET)
- Get a list of sub-groups of a specified group (GET)
- Get a list of users included in a group (GET)
- Get app metadata description by code (GET)
- Get list of app metadata descriptions (GET)
- Get list of process tempalte metadata descriptions (GET)
- Get list of workspace metadata descriptions (GET)
- Get metadata descriptions of a module by ID (GET)
- Get process template metadata description by code (GET)
- Get the list of metadata descriptions of groups (GET)
- Get the metadata description of a document template by ID (GET)
- Get the metadata description of a page by ID (GET)
- Get the metadata description of a solution by code (GET)
- Get the widget metadata description by code and namespace. (GET)
- Get workspace metadata description by code (GET)
- Getting contract metadata description by code. (GET)
- Retrieve the list of business process forms. (GET)
- Retrieve the list of widget metadata descriptions. (GET)
- Retrieving report metadata description by code. (GET)
- Retrieving the list of contract metadata descriptions. (GET)
- Retrieving the list of report metadata descriptions. (GET)
- Whether the app can be exported using its code (GET)
- Whether the module can be exported using its ID (GET)
- Whether the solution can be exported using its code (GET)
- Whether the workspace can be exported using its code (GET)
- Working with modules
- Working with contracts
- Working with reports
- Working with marketing
- Working with document registration
-
Working with arbitrary string data storage
- Deleting data by key from the System object storage (DELETE)
- Deleting data by key from the app storage (DELETE)
- Deleting data by key from the workspace or module storage (DELETE)
- Retrieving data by key from the System object storage (GET)
- Retrieving data by key from the app storage (GET)
- Retrieving data by key from the workspace or module storage (GET)
- Saving data by key to the System object storage (POST)
- Saving data by key to the app storage (POST)
- Saving data by key to the workspace or module storage (POST)
- Working with approval sheets and lists of informed users
- Working with registration
-
Working with tasks
- Changing task completion percentage (POST)
- Changing task dates (POST)
- Getting a list of exits for task (GET)
- Getting a list of incoming tasks (GET)
- Getting a list of incoming tasks (POST)
- Getting a list of outgoing tasks (GET)
- Getting a list of outgoing tasks (POST)
- Getting a list of tasks (POST)
- Getting a list of tasks (GET)
- Getting a list of tasks in "Assisting" section (POST)
- Getting a list of tasks in the "Assisting" section (GET)
- Getting a list of user tasks (POST)
- Getting a list of user tasks (GET)
- Getting task by ID (GET)
- Task execution (PUT)
- Task reassignment (POST)
-
Working with messages
- Creating a comment on a channel message (POST)
- Creating a comment on an object activity stream message (POST)
- Creating a new message in the channel (POST)
- Creating a new message in the object activity stream (POST)
- Getting a list of channels (GET)
- Getting a list of comments for a message from the channel (GET)
- Getting a list of comments for a message from the channel (POST)
- Getting a list of comments for a message from the object's activity stream (POST)
- Getting a list of comments for a message from the object's activity stream (GET)
- Getting a list of messages from the channel (GET)
- Getting a list of messages from the channel (POST)
- Getting a list of messages from the object's activity stream (POST)
- Getting a list of messages from the object's activity stream (GET)
-
Managing apps
- OpenAPI specification
Data import
Data import using Web API consists of the following steps:
- Preparing the file for import.
- Uploading the file to the system.
- Running the data import.
- Checking the import results.
Let’s consider these steps in more detail.
Prepare the file for import
The import template file is different for each app. You can download an app’s template once and fill it with data whenever you need to import data.
Depending on the amount of data and the capabilities of the data source system, the file can be filled out manually or automatically.
When the file is prepared, move on to the next step.
Upload the file to the system
To import data, you can use the method for uploading a file to a directory or the method for uploading a temporary file to the system. However, when you use the second method, you need to remember that the file will only be stored in the system for 60 minutes, and the data import must be finished within this timeframe. So when importing large chunks of data (more than 50,000 entries at a time), it is recommended to upload the file to a directory.
Note: One of the required parameters for both methods is hash. It is needed later to call the data import method. Please save the generated hash, as it is not returned in the response.
When the file is successfully uploaded to the system, you can move on to importing the data.
Run the data import
To start the data import, you need to use the hash of the previously uploaded file. In the request body, you also need to pass the file format (.xlsx or .csv) and ignore event handlers (withEventHandlers: false). It is recommended to ignore event handlers when importing large amounts of data, as they can create a high load and influence the system’s performance.
If your business logic requires using event handlers during import, it is recommended to import data in small chunks (up to 1,000 entries) and make pauses between requests to let the system finish processing the message queue.
If import starts successfully, the response to the request will contain information about the number of items that have been imported, the status of the current import and its ID that can be used to retrieve the status.
Note: If data import to an app is started, you won’t be able to start another import process. The request will return the status blocked.
Check the import result
The method for getting import status returns the same response as the method that starts the import process. By making this request with a certain frequency, you can get up-to-date information about the number of imported items and determine when the import finishes. It is recommended to request the import status no more frequently than once a second.