Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

BrowserAct-Workflow-API-Java-Demos

Note: this code runs successfully in Java version 8

API documentation: https://www.browseract.com/reception/integrations/api-workflow
Site: https://www.browseract.com

Environment Requirements

  • Java 8 or higher
  • Maven 3.6 or higher

Installation

  1. Install Java 8+ from Oracle or OpenJDK
  2. Install Maven from Apache Maven
  3. Verify installation:
    java -version
    mvn -version

Project Setup

  1. Navigate to the Workflow-Java directory:

    cd Workflow-Java
  2. Install dependencies:

    mvn clean install

Running Examples

Method 1: Using Maven

# Run specific example
mvn exec:java -Dexec.mainClass="com.browseract.workflow.demo.RunTask"
mvn exec:java -Dexec.mainClass="com.browseract.workflow.demo.StopTask"
mvn exec:java -Dexec.mainClass="com.browseract.workflow.demo.GetTask"
mvn exec:java -Dexec.mainClass="com.browseract.workflow.demo.GetTaskStatus"
mvn exec:java -Dexec.mainClass="com.browseract.workflow.demo.ListTasks"
mvn exec:java -Dexec.mainClass="com.browseract.workflow.demo.ListWorkflows"
mvn exec:java -Dexec.mainClass="com.browseract.workflow.demo.GetWorkflow"
mvn exec:java -Dexec.mainClass="com.browseract.workflow.demo.ResumeTask"
mvn exec:java -Dexec.mainClass="com.browseract.workflow.demo.RunTaskByTemplate"
mvn exec:java -Dexec.mainClass="com.browseract.workflow.demo.ListOfficialWorkflowTemplates"
mvn exec:java -Dexec.mainClass="com.browseract.workflow.demo.GetRegionList"

Method 2: Using IDEA

Open pom.xml with Idea, then run the main function in each Java file

Project Structure

Workflow-Java/
├── pom.xml                   # Maven configuration
├── README.md                 # This file
└── src/main/java/com/browseract/workflow/demo/
    ├── RunTask.java                          # Start a new workflow task
    ├── RunTaskByTemplate.java                # Start a new workflow task using template
    ├── StopTask.java                         # Permanently terminate a task
    ├── ResumeTask.java                       # Resume a paused task
    ├── GetTask.java                          # Get detailed task information
    ├── GetTaskStatus.java                    # Get task status only
    ├── ListTasks.java                        # List all workflow tasks
    ├── ListWorkflows.java                    # List all workflows
    ├── GetWorkflow.java                      # Get workflow details
    ├── ListOfficialWorkflowTemplates.java    # List official workflow templates
    ├── GetRegionList.java                    # Get supported region list
    └── util/
        └── HttpUtil.java                     # HTTP utility class

Example Files

Task Management

File Description API Endpoint
RunTask.java Start a new workflow task (custom workflow) POST /v2/workflow/run-task
RunTaskByTemplate.java Start a new workflow task using official template POST /v2/workflow/run-task-by-template
StopTask.java Permanently terminate a task PUT /v2/workflow/stop-task
ResumeTask.java Resume a paused task PUT /v2/workflow/resume-task
GetTask.java Get detailed task information GET /v2/workflow/get-task
GetTaskStatus.java Get task status only GET /v2/workflow/get-task-status
ListTasks.java List all workflow tasks GET /v2/workflow/list-tasks

Workflow Management

File Description API Endpoint
ListWorkflows.java List all custom workflows GET /v2/workflow/list-workflows
GetWorkflow.java Get workflow details GET /v2/workflow/get-workflow
ListOfficialWorkflowTemplates.java List official workflow templates GET /v2/workflow/list-official-workflow-templates

Utility APIs

File Description API Endpoint
GetRegionList.java Get supported region list for proxy GET /v2/workflow/get-region-list

Configuration

Before running the examples, you need to:

  1. Get your API key from: https://www.browseract.com/reception/integrations
  2. Get your workflow ID from: https://www.browseract.com/reception/workflow-list
  3. Update the following variables in each example file:
    • authorization: Replace "app-abcdefghijklmn" with your actual API key
    • workflowId: Replace 1234567890L with your actual workflow ID
    • taskId: Replace the actual task ID returned by RunTask.java

API Key Security

Important: The examples use placeholder API keys for demonstration purposes. In production:

  1. Never hardcode API keys in your source code
  2. Use environment variables or secure configuration files
  3. Keep your API keys confidential and rotate them regularly

Example of using environment variables:

String authorization = System.getenv("BROWSERACT_API_KEY");

Error Handling

All examples include comprehensive error handling for:

  • Network connectivity issues
  • API authentication errors
  • Invalid parameters
  • Server errors

Dependencies

  • Jackson: JSON processing library for parsing API responses
  • Java HTTP Client: Built-in HttpURLConnection for making HTTP requests

Troubleshooting

Common Issues

  1. Compilation Error: Ensure Java 8+ is installed and JAVA_HOME is set correctly
  2. Maven Error: Verify Maven installation and check internet connectivity for dependency download
  3. API Error 401: Check your API key and ensure it's valid
  4. API Error 10118: Verify the workflow ID exists and is accessible with your API key

Getting Help

License

This demo code is provided as-is for educational and development purposes.