Skip to content

Commit 0b63c42

Browse files
committed
feat: add some new workflow apis
1 parent 26b79da commit 0b63c42

File tree

14 files changed

+502
-3
lines changed

14 files changed

+502
-3
lines changed

api/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
</parent>
4444

4545
<artifactId>coze-api</artifactId>
46-
<version>0.4.2</version>
46+
<version>0.4.3</version>
4747

4848
<scm>
4949
<connection>scm:git:git://github.com/coze-dev/coze-java.git</connection>
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package com.coze.openapi.api;
2+
3+
import com.coze.openapi.client.common.BaseReq;
4+
import com.coze.openapi.client.common.BaseResponse;
5+
import com.coze.openapi.client.workflows.WorkflowGetResp;
6+
import com.coze.openapi.client.workflows.WorkflowListResp;
7+
8+
import retrofit2.Call;
9+
import retrofit2.http.GET;
10+
import retrofit2.http.Path;
11+
import retrofit2.http.Query;
12+
import retrofit2.http.Tag;
13+
14+
public interface WorkflowAPI {
15+
16+
@GET("/v1/workflows")
17+
Call<BaseResponse<WorkflowListResp>> list(
18+
@Query("workspace_id") String workspaceId,
19+
@Query("page_num") Integer pageNum,
20+
@Query("page_size") Integer pageSize,
21+
@Query("workflow_mode") String workflowMode,
22+
@Query("app_id") String appId,
23+
@Query("publish_status") String publishStatus,
24+
@Tag BaseReq baseReq);
25+
26+
@GET("/v1/workflows/{workflow_id}")
27+
Call<BaseResponse<WorkflowGetResp>> get(
28+
@Path("workflow_id") String workflowId,
29+
@Query("include_input_output") Boolean includeInputOutput,
30+
@Tag BaseReq baseReq);
31+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package com.coze.openapi.client.workflows;
2+
3+
import com.coze.openapi.client.common.BaseReq;
4+
import com.fasterxml.jackson.annotation.JsonProperty;
5+
6+
import lombok.AllArgsConstructor;
7+
import lombok.Data;
8+
import lombok.EqualsAndHashCode;
9+
import lombok.NoArgsConstructor;
10+
import lombok.NonNull;
11+
import lombok.experimental.SuperBuilder;
12+
13+
@Data
14+
@EqualsAndHashCode(callSuper = true)
15+
@SuperBuilder
16+
@NoArgsConstructor
17+
@AllArgsConstructor
18+
public class WorkflowGetReq extends BaseReq {
19+
20+
/** 工作流 ID。 */
21+
@NonNull
22+
@JsonProperty("workflow_id")
23+
private String workflowId;
24+
25+
/** 是否在返回结果中返回输入和输出参数的结构体。 true:返回输入输出参数结构体 false:不返回输入输出参数结构体 默认值为 false。 */
26+
@NonNull
27+
@JsonProperty("include_input_output")
28+
private Boolean includeInputOutput;
29+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package com.coze.openapi.client.workflows;
2+
3+
import com.coze.openapi.client.workflows.model.WorkflowDetail;
4+
import com.coze.openapi.client.workflows.model.WorkflowInput;
5+
import com.coze.openapi.client.workflows.model.WorkflowOutput;
6+
import com.fasterxml.jackson.annotation.JsonInclude;
7+
import com.fasterxml.jackson.annotation.JsonProperty;
8+
9+
import lombok.AllArgsConstructor;
10+
import lombok.Builder;
11+
import lombok.Data;
12+
import lombok.NoArgsConstructor;
13+
14+
@Data
15+
@Builder
16+
@NoArgsConstructor
17+
@AllArgsConstructor
18+
@JsonInclude(JsonInclude.Include.NON_NULL)
19+
public class WorkflowGetResp {
20+
21+
/** 工作流开始节点的输入参数的结构体。 */
22+
@JsonProperty("input")
23+
private WorkflowInput input;
24+
/** 工作流结束节点的输出参数的结构体。 */
25+
@JsonProperty("output")
26+
private WorkflowOutput output;
27+
/** 工作流的详细信息。 */
28+
@JsonProperty("workflow_detail")
29+
private WorkflowDetail workflowDetail;
30+
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
package com.coze.openapi.client.workflows;
2+
3+
import com.coze.openapi.client.common.BaseReq;
4+
import com.fasterxml.jackson.annotation.JsonProperty;
5+
6+
import lombok.AllArgsConstructor;
7+
import lombok.Data;
8+
import lombok.EqualsAndHashCode;
9+
import lombok.NoArgsConstructor;
10+
import lombok.NonNull;
11+
import lombok.experimental.SuperBuilder;
12+
13+
@Data
14+
@EqualsAndHashCode(callSuper = true)
15+
@SuperBuilder
16+
@NoArgsConstructor
17+
@AllArgsConstructor
18+
public class WorkflowListReq extends BaseReq {
19+
20+
/** 工作空间 ID,用于指定要查询的工作空间。 */
21+
@NonNull
22+
@JsonProperty("workspace_id")
23+
private String workspaceId;
24+
25+
/** 查询结果分页展示时,此参数用于设置查看的页码。最小值为 1。 */
26+
@NonNull
27+
@JsonProperty("page_num")
28+
private Integer pageNum;
29+
/** 查询结果分页展示时,此参数用于设置每页返回的数据量。取值范围为 1 ~ 30,默认为 10。 */
30+
@JsonProperty("page_size")
31+
private Integer pageSize;
32+
/** 工作流类型,默认为空,即查询所有工作流类型。枚举值: workflow:工作流。 chatflow:对话流。 */
33+
@JsonProperty("workflow_mode")
34+
private String workflowMode;
35+
/** 扣子应用 ID,用于查询指定应用关联的工作流。默认为空,即不指定应用。 */
36+
@JsonProperty("app_id")
37+
private String appId;
38+
/**
39+
* 工作流的发布状态,用于筛选不同发布状态的工作流。枚举值: all :所有状态。 published_online :(默认值)已发布的正式版。 unpublished_draft
40+
* :当前为草稿状态。
41+
*/
42+
@JsonProperty("publish_status")
43+
private String publishStatus;
44+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package com.coze.openapi.client.workflows;
2+
3+
import java.util.List;
4+
5+
import com.coze.openapi.client.workflows.model.WorkflowDetail;
6+
import com.fasterxml.jackson.annotation.JsonInclude;
7+
import com.fasterxml.jackson.annotation.JsonProperty;
8+
9+
import lombok.AllArgsConstructor;
10+
import lombok.Builder;
11+
import lombok.Data;
12+
import lombok.NoArgsConstructor;
13+
14+
@Data
15+
@Builder
16+
@NoArgsConstructor
17+
@AllArgsConstructor
18+
@JsonInclude(JsonInclude.Include.NON_NULL)
19+
public class WorkflowListResp {
20+
/** 工作流的基础信息。 */
21+
@JsonProperty("items")
22+
private List<WorkflowDetail> items;
23+
/** 标识当前返回的工作流列表是否还有更多数据未返回。 true :还有更多未返回的回调应用。 false:已返回所有数据。 */
24+
@JsonProperty("has_more")
25+
private Boolean hasMore;
26+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package com.coze.openapi.client.workflows.model;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
5+
import lombok.AllArgsConstructor;
6+
import lombok.Builder;
7+
import lombok.Data;
8+
import lombok.NoArgsConstructor;
9+
10+
@Data
11+
@Builder
12+
@NoArgsConstructor
13+
@AllArgsConstructor
14+
public class WorkflowCreator {
15+
16+
/** 工作流创建者的扣子用户 ID。 */
17+
@JsonProperty("id")
18+
private String id;
19+
/** 工作流创建者的扣子用户名。 */
20+
@JsonProperty("name")
21+
private String name;
22+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package com.coze.openapi.client.workflows.model;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
5+
import lombok.AllArgsConstructor;
6+
import lombok.Builder;
7+
import lombok.Data;
8+
import lombok.NoArgsConstructor;
9+
10+
@Data
11+
@Builder
12+
@NoArgsConstructor
13+
@AllArgsConstructor
14+
public class WorkflowDetail {
15+
16+
/** 工作流关联的应用 ID。若工作流未关联任何应用,则该字段值为 0 */
17+
@JsonProperty("app_id")
18+
private String app_id;
19+
/** 工作流创建者的信息,包含创建者的用户 ID 和用户名 */
20+
@JsonProperty("creator")
21+
private WorkflowCreator creator;
22+
/** 工作流图标的 URL 地址。 */
23+
@JsonProperty("icon_url")
24+
private String iconUrl;
25+
/** 工作流的创建时间,以 Unix 时间戳表示,单位为秒 */
26+
@JsonProperty("created_at")
27+
private String createdAt;
28+
/** 工作流的最后更新时间,以 Unix 时间戳表示,单位为秒 */
29+
@JsonProperty("updated_at")
30+
private String updatedAt;
31+
/** 工作流的描述。 */
32+
@JsonProperty("description")
33+
private String description;
34+
/** 工作流 ID。 */
35+
@JsonProperty("workflow_id")
36+
private String workflowId;
37+
/** 工作流名称。 */
38+
@JsonProperty("workflow_name")
39+
private String workflowName;
40+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.coze.openapi.client.workflows.model;
2+
3+
import java.util.Map;
4+
5+
import com.fasterxml.jackson.annotation.JsonProperty;
6+
7+
import lombok.AllArgsConstructor;
8+
import lombok.Builder;
9+
import lombok.Data;
10+
import lombok.NoArgsConstructor;
11+
12+
@Data
13+
@Builder
14+
@NoArgsConstructor
15+
@AllArgsConstructor
16+
public class WorkflowInput {
17+
18+
/** 开始节点的输入参数结构体。 */
19+
@JsonProperty("parameters")
20+
private Map<String, WorkflowParameter> parameters;
21+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package com.coze.openapi.client.workflows.model;
2+
3+
import java.util.Map;
4+
5+
import com.fasterxml.jackson.annotation.JsonProperty;
6+
7+
import lombok.AllArgsConstructor;
8+
import lombok.Builder;
9+
import lombok.Data;
10+
import lombok.NoArgsConstructor;
11+
12+
@Data
13+
@Builder
14+
@NoArgsConstructor
15+
@AllArgsConstructor
16+
public class WorkflowOutput {
17+
18+
/** 工作流结束节点输出变量的数组。以键值对形式存储,格式为 { "变量名称": { "type": "变量类型" } }。 */
19+
@JsonProperty("parameters")
20+
private Map<String, WorkflowParameter> parameters;
21+
/** 工作流结束节点返回文本时,智能体回复内容的结构。仅当 terminate_plan 为 use_answer_content 时会返回。 */
22+
@JsonProperty("content")
23+
private String content;
24+
/** 结束节点的返回类型,枚举值: return_variables:返回变量。 use_answer_content:返回文本。 */
25+
@JsonProperty("terminate_plan")
26+
private String terminatePlan;
27+
}

0 commit comments

Comments
 (0)