From 772d79597603e7ecc8a99187eaf29daef540f5be Mon Sep 17 00:00:00 2001 From: kalman03 Date: Sat, 21 Dec 2024 18:42:10 +0800 Subject: [PATCH 1/8] When running workflows in the Coze app, the `app_id` must be set. --- .../coze/openapi/client/workflows/run/RunWorkflowReq.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/api/src/main/java/com/coze/openapi/client/workflows/run/RunWorkflowReq.java b/api/src/main/java/com/coze/openapi/client/workflows/run/RunWorkflowReq.java index 4a0c27e1..8216fb19 100644 --- a/api/src/main/java/com/coze/openapi/client/workflows/run/RunWorkflowReq.java +++ b/api/src/main/java/com/coze/openapi/client/workflows/run/RunWorkflowReq.java @@ -50,4 +50,10 @@ public class RunWorkflowReq extends BaseReq { * */ @JsonProperty("is_async") private Boolean isAsync; + + /* + * The application ID where the workflow is located. + * */ + @JsonProperty("app_id") + private String appId; } From 13743afd8ebf5533bb15736c1b4144be96bbf8e9 Mon Sep 17 00:00:00 2001 From: kalman03 Date: Mon, 23 Dec 2024 11:10:56 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E5=8F=98=E9=87=8F=E5=90=8D=E6=94=B9?= =?UTF-8?q?=E6=88=90=20appID=20=EF=BC=8C=E8=B7=9F=20SDK=20=E5=86=85?= =?UTF-8?q?=E7=9A=84=E5=91=BD=E5=90=8D=E8=A7=84=E5=88=99=E4=BF=9D=E6=8C=81?= =?UTF-8?q?=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/coze/openapi/client/workflows/run/RunWorkflowReq.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/src/main/java/com/coze/openapi/client/workflows/run/RunWorkflowReq.java b/api/src/main/java/com/coze/openapi/client/workflows/run/RunWorkflowReq.java index 8216fb19..229d68b3 100644 --- a/api/src/main/java/com/coze/openapi/client/workflows/run/RunWorkflowReq.java +++ b/api/src/main/java/com/coze/openapi/client/workflows/run/RunWorkflowReq.java @@ -55,5 +55,5 @@ public class RunWorkflowReq extends BaseReq { * The application ID where the workflow is located. * */ @JsonProperty("app_id") - private String appId; + private String appID; } From 33c29f5bebca0c90def6937614ca6d24b0b72f50 Mon Sep 17 00:00:00 2001 From: kalman03 Date: Fri, 4 Jul 2025 01:27:28 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E6=99=BA=E8=83=BD=E4=BD=93=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=EF=BC=9A=E6=96=B0=E5=A2=9E=E3=80=8C=E6=9F=A5=E7=9C=8B?= =?UTF-8?q?=E6=99=BA=E8=83=BD=E4=BD=93=E5=88=97=E8=A1=A8=E3=80=81=E3=80=8C?= =?UTF-8?q?=E6=9F=A5=E7=9C=8B=E6=99=BA=E8=83=BD=E4=BD=93=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E3=80=8D=E6=8E=A5=E5=8F=A3=EF=BC=8C=E5=9D=87=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E8=8D=89=E7=A8=BF=E6=80=81=E5=92=8C=E5=B7=B2=E5=8F=91=E5=B8=83?= =?UTF-8?q?=E3=80=82=E6=97=A7=E6=8E=A5=E5=8F=A3=E3=80=8C=E6=9F=A5=E7=9C=8B?= =?UTF-8?q?=E5=B7=B2=E5=8F=91=E5=B8=83=E6=99=BA=E8=83=BD=E4=BD=93=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E3=80=8D=E4=BB=A5=E5=8F=8A=E3=80=8C=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=B7=B2=E5=8F=91=E5=B8=83=E6=99=BA=E8=83=BD=E4=BD=93=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E3=80=8D=E5=8D=B3=E5=B0=86=E5=9C=A8=207=20=E6=9C=88?= =?UTF-8?q?=E4=B8=8B=E7=BA=BF=EF=BC=8C=E8=AF=B7=E5=8F=8A=E6=97=B6=E8=BF=81?= =?UTF-8?q?=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/coze/openapi/api/BotAPI.java | 17 +++++ .../coze/openapi/client/bots/ListBotReq.java | 1 + .../coze/openapi/client/bots/ListBotResp.java | 1 + .../openapi/client/bots/ListBotV2Req.java | 28 ++++++++ .../openapi/client/bots/ListBotV2Resp.java | 28 ++++++++ .../openapi/client/bots/RetrieveBotReq.java | 1 + .../openapi/client/bots/RetrieveBotResp.java | 1 + .../openapi/client/bots/RetrieveBotV2Req.java | 27 ++++++++ .../client/bots/RetrieveBotV2Resp.java | 19 ++++++ .../coze/openapi/client/bots/model/Bot.java | 15 +++++ .../bots/model/BotBackgroundImageInfo.java | 58 ++++++++++++++++ .../client/bots/model/BotSimpleInfo.java | 38 +++++++++++ .../client/bots/model/BotVeriable.java | 32 +++++++++ .../openapi/client/bots/model/BotVoice.java | 20 ++++++ .../service/service/bots/BotService.java | 64 +++++++++++++++++- .../example/bot/BotRetrieveV2Example.java | 67 +++++++++++++++++++ 16 files changed, 416 insertions(+), 1 deletion(-) create mode 100644 api/src/main/java/com/coze/openapi/client/bots/ListBotV2Req.java create mode 100644 api/src/main/java/com/coze/openapi/client/bots/ListBotV2Resp.java create mode 100644 api/src/main/java/com/coze/openapi/client/bots/RetrieveBotV2Req.java create mode 100644 api/src/main/java/com/coze/openapi/client/bots/RetrieveBotV2Resp.java create mode 100644 api/src/main/java/com/coze/openapi/client/bots/model/BotBackgroundImageInfo.java create mode 100644 api/src/main/java/com/coze/openapi/client/bots/model/BotSimpleInfo.java create mode 100644 api/src/main/java/com/coze/openapi/client/bots/model/BotVeriable.java create mode 100644 api/src/main/java/com/coze/openapi/client/bots/model/BotVoice.java create mode 100644 example/src/main/java/example/bot/BotRetrieveV2Example.java diff --git a/api/src/main/java/com/coze/openapi/api/BotAPI.java b/api/src/main/java/com/coze/openapi/api/BotAPI.java index 0f2fcbe6..7601e87a 100644 --- a/api/src/main/java/com/coze/openapi/api/BotAPI.java +++ b/api/src/main/java/com/coze/openapi/api/BotAPI.java @@ -3,6 +3,7 @@ import com.coze.openapi.client.bots.CreateBotReq; import com.coze.openapi.client.bots.CreateBotResp; import com.coze.openapi.client.bots.ListBotResp; +import com.coze.openapi.client.bots.ListBotV2Resp; import com.coze.openapi.client.bots.PublishBotReq; import com.coze.openapi.client.bots.PublishBotResp; import com.coze.openapi.client.bots.UpdateBotReq; @@ -14,10 +15,12 @@ import retrofit2.http.Body; import retrofit2.http.GET; import retrofit2.http.POST; +import retrofit2.http.Path; import retrofit2.http.Query; import retrofit2.http.Tag; public interface BotAPI { + @Deprecated @GET("/v1/space/published_bots_list") Call> list( @Query("space_id") String spaceID, @@ -25,9 +28,23 @@ Call> list( @Query("page_size") Integer pageSize, @Tag BaseReq baseReq); + @GET("/v1/bots") + Call> list( + @Query("workspace_id") String workspaceID, + @Query("publish_status") String publishStatus, + @Query("connector") String connectorID, + @Query("page_index") Integer page, + @Query("page_size") Integer pageSize, + @Tag BaseReq baseReq); + + @Deprecated @GET("/v1/bot/get_online_info") Call> retrieve(@Query("bot_id") String botID, @Tag BaseReq baseReq); + @GET("v1/bots/{bot_id}") + Call> retrieve(@Path("bot_id") String botID, @Query("is_published") Boolean isPublished, + @Tag BaseReq baseReq); + @POST("/v1/bot/create") Call> create(@Body CreateBotReq req, @Tag BaseReq baseReq); diff --git a/api/src/main/java/com/coze/openapi/client/bots/ListBotReq.java b/api/src/main/java/com/coze/openapi/client/bots/ListBotReq.java index 0e057980..c7c33762 100644 --- a/api/src/main/java/com/coze/openapi/client/bots/ListBotReq.java +++ b/api/src/main/java/com/coze/openapi/client/bots/ListBotReq.java @@ -8,6 +8,7 @@ import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; +@Deprecated @Data @SuperBuilder @NoArgsConstructor diff --git a/api/src/main/java/com/coze/openapi/client/bots/ListBotResp.java b/api/src/main/java/com/coze/openapi/client/bots/ListBotResp.java index abcb40d8..2ad3cf26 100644 --- a/api/src/main/java/com/coze/openapi/client/bots/ListBotResp.java +++ b/api/src/main/java/com/coze/openapi/client/bots/ListBotResp.java @@ -13,6 +13,7 @@ import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; +@Deprecated @Data @Builder @NoArgsConstructor diff --git a/api/src/main/java/com/coze/openapi/client/bots/ListBotV2Req.java b/api/src/main/java/com/coze/openapi/client/bots/ListBotV2Req.java new file mode 100644 index 00000000..6f063acf --- /dev/null +++ b/api/src/main/java/com/coze/openapi/client/bots/ListBotV2Req.java @@ -0,0 +1,28 @@ +package com.coze.openapi.client.bots; + +import com.coze.openapi.client.common.BaseReq; +import com.fasterxml.jackson.annotation.JsonProperty; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class ListBotV2Req extends BaseReq { + @JsonProperty("workspace_id") + private String workspaceID; + @JsonProperty("publish_status") + private String publishStatus; + @JsonProperty("connector_id") + private String connectorID; + @JsonProperty("page_num") + private Integer pageNum; + @JsonProperty("page_size") + private Integer pageSize; +} diff --git a/api/src/main/java/com/coze/openapi/client/bots/ListBotV2Resp.java b/api/src/main/java/com/coze/openapi/client/bots/ListBotV2Resp.java new file mode 100644 index 00000000..f271ca13 --- /dev/null +++ b/api/src/main/java/com/coze/openapi/client/bots/ListBotV2Resp.java @@ -0,0 +1,28 @@ +package com.coze.openapi.client.bots; + +import java.util.List; + +import com.coze.openapi.client.bots.model.BotSimpleInfo; +import com.coze.openapi.client.common.BaseResp; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@JsonInclude(JsonInclude.Include.NON_NULL) +@EqualsAndHashCode(callSuper = true) +public class ListBotV2Resp extends BaseResp { + @JsonProperty("items") + private List items; + + @JsonProperty("total") + private Integer total; +} diff --git a/api/src/main/java/com/coze/openapi/client/bots/RetrieveBotReq.java b/api/src/main/java/com/coze/openapi/client/bots/RetrieveBotReq.java index eecc8991..02c5b026 100644 --- a/api/src/main/java/com/coze/openapi/client/bots/RetrieveBotReq.java +++ b/api/src/main/java/com/coze/openapi/client/bots/RetrieveBotReq.java @@ -9,6 +9,7 @@ import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; +@Deprecated @Data @SuperBuilder @AllArgsConstructor diff --git a/api/src/main/java/com/coze/openapi/client/bots/RetrieveBotResp.java b/api/src/main/java/com/coze/openapi/client/bots/RetrieveBotResp.java index 120e8911..b2dfbf07 100644 --- a/api/src/main/java/com/coze/openapi/client/bots/RetrieveBotResp.java +++ b/api/src/main/java/com/coze/openapi/client/bots/RetrieveBotResp.java @@ -9,6 +9,7 @@ import lombok.ToString; import lombok.experimental.SuperBuilder; +@Deprecated @Data @SuperBuilder @NoArgsConstructor diff --git a/api/src/main/java/com/coze/openapi/client/bots/RetrieveBotV2Req.java b/api/src/main/java/com/coze/openapi/client/bots/RetrieveBotV2Req.java new file mode 100644 index 00000000..4668eb7b --- /dev/null +++ b/api/src/main/java/com/coze/openapi/client/bots/RetrieveBotV2Req.java @@ -0,0 +1,27 @@ +package com.coze.openapi.client.bots; + +import com.coze.openapi.client.common.BaseReq; +import com.fasterxml.jackson.annotation.JsonProperty; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@Data +@SuperBuilder +@AllArgsConstructor +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class RetrieveBotV2Req extends BaseReq { + @JsonProperty("bot_id") + private String botID; + + @JsonProperty("is_published") + private Boolean isPublished; + + public static RetrieveBotV2Req of(String botID, Boolean isPublished) { + return RetrieveBotV2Req.builder().botID(botID).isPublished(isPublished).build(); + } +} diff --git a/api/src/main/java/com/coze/openapi/client/bots/RetrieveBotV2Resp.java b/api/src/main/java/com/coze/openapi/client/bots/RetrieveBotV2Resp.java new file mode 100644 index 00000000..dce2ef11 --- /dev/null +++ b/api/src/main/java/com/coze/openapi/client/bots/RetrieveBotV2Resp.java @@ -0,0 +1,19 @@ +package com.coze.openapi.client.bots; + +import com.coze.openapi.client.bots.model.Bot; +import com.coze.openapi.client.common.BaseResp; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.SuperBuilder; + +@Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class RetrieveBotV2Resp extends BaseResp { + private Bot bot; +} diff --git a/api/src/main/java/com/coze/openapi/client/bots/model/Bot.java b/api/src/main/java/com/coze/openapi/client/bots/model/Bot.java index 4cb51560..b58a6dec 100644 --- a/api/src/main/java/com/coze/openapi/client/bots/model/Bot.java +++ b/api/src/main/java/com/coze/openapi/client/bots/model/Bot.java @@ -53,9 +53,24 @@ public class Bot { @JsonProperty("knowledge") private BotCommonKnowledge knowledge; + @JsonProperty("veriables") + private List veriables; + + @JsonProperty("owner_user_id") + private String ownerUserId; + + @JsonProperty("voice_info_list") + private List voiceInfoList; + @JsonProperty("shortcut_commands") private List shortcutCommands; @JsonProperty("workflow_info_list") private List workflowInfoList; + + @JsonProperty("background_image_info") + private BotBackgroundImageInfo backgroundImageInfo; + + @JsonProperty("default_user_input_type") + private String defaultUserInputType​; } diff --git a/api/src/main/java/com/coze/openapi/client/bots/model/BotBackgroundImageInfo.java b/api/src/main/java/com/coze/openapi/client/bots/model/BotBackgroundImageInfo.java new file mode 100644 index 00000000..6b339906 --- /dev/null +++ b/api/src/main/java/com/coze/openapi/client/bots/model/BotBackgroundImageInfo.java @@ -0,0 +1,58 @@ +package com.coze.openapi.client.bots.model; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class BotBackgroundImageInfo { + @JsonProperty("web_background_image") + private BackgroundImageDetail webBackgroundImage; + + @JsonProperty("mobile_background_image") + private BackgroundImageDetail mobileBackgroundImage; + + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class BackgroundImageDetail { + @JsonProperty("image_url") + private String imageUrl; + + @JsonProperty("theme_color") + private String themeColor; + + @JsonProperty("canvas_position") + private CanvasPosition canvasPosition; + + @JsonProperty("gradient_position") + private GradientPosition gradientPosition; + } + + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class CanvasPosition { + private Double top; + private Double left; + private Double width; + private Double height; + } + + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class GradientPosition { + private Double left; + private Double right; + } +} diff --git a/api/src/main/java/com/coze/openapi/client/bots/model/BotSimpleInfo.java b/api/src/main/java/com/coze/openapi/client/bots/model/BotSimpleInfo.java new file mode 100644 index 00000000..edfc6244 --- /dev/null +++ b/api/src/main/java/com/coze/openapi/client/bots/model/BotSimpleInfo.java @@ -0,0 +1,38 @@ +package com.coze.openapi.client.bots.model; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class BotSimpleInfo { + @JsonProperty("id") + private String id; + + @JsonProperty("name") + private String name; + + @JsonProperty("icon_url") + private String iconUrl; + + @JsonProperty("updated_at") + private Long updatedAt; + + @JsonProperty("description") + private String description; + + @JsonProperty("is_published") + private Boolean isPublished; + + @JsonProperty("published_at") + private Long publishedAt; + + @JsonProperty("owner_user_id") + private String ownerUserId; +} diff --git a/api/src/main/java/com/coze/openapi/client/bots/model/BotVeriable.java b/api/src/main/java/com/coze/openapi/client/bots/model/BotVeriable.java new file mode 100644 index 00000000..eec0903e --- /dev/null +++ b/api/src/main/java/com/coze/openapi/client/bots/model/BotVeriable.java @@ -0,0 +1,32 @@ +package com.coze.openapi.client.bots.model; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class BotVeriable { + @JsonProperty("enable") + private Boolean enable; + + @JsonProperty("channel") + private String channel; + + @JsonProperty("keyword") + private String keyword; + + @JsonProperty("description") + private String description; + + @JsonProperty("default_value") + private String defaultValue; + + @JsonProperty("prompt_enable") + private Boolean promptEnable; +} diff --git a/api/src/main/java/com/coze/openapi/client/bots/model/BotVoice.java b/api/src/main/java/com/coze/openapi/client/bots/model/BotVoice.java new file mode 100644 index 00000000..0fb1a36e --- /dev/null +++ b/api/src/main/java/com/coze/openapi/client/bots/model/BotVoice.java @@ -0,0 +1,20 @@ +package com.coze.openapi.client.bots.model; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class BotVoice { + @JsonProperty("voice_id") + private String voiceId; + + @JsonProperty("language_code") + private String languageCode; +} diff --git a/api/src/main/java/com/coze/openapi/service/service/bots/BotService.java b/api/src/main/java/com/coze/openapi/service/service/bots/BotService.java index f2048b1d..26ea0966 100644 --- a/api/src/main/java/com/coze/openapi/service/service/bots/BotService.java +++ b/api/src/main/java/com/coze/openapi/service/service/bots/BotService.java @@ -1,8 +1,22 @@ package com.coze.openapi.service.service.bots; import com.coze.openapi.api.BotAPI; -import com.coze.openapi.client.bots.*; +import com.coze.openapi.client.bots.CreateBotReq; +import com.coze.openapi.client.bots.CreateBotResp; +import com.coze.openapi.client.bots.ListBotReq; +import com.coze.openapi.client.bots.ListBotResp; +import com.coze.openapi.client.bots.ListBotV2Req; +import com.coze.openapi.client.bots.ListBotV2Resp; +import com.coze.openapi.client.bots.PublishBotReq; +import com.coze.openapi.client.bots.PublishBotResp; +import com.coze.openapi.client.bots.RetrieveBotReq; +import com.coze.openapi.client.bots.RetrieveBotResp; +import com.coze.openapi.client.bots.RetrieveBotV2Req; +import com.coze.openapi.client.bots.RetrieveBotV2Resp; +import com.coze.openapi.client.bots.UpdateBotReq; +import com.coze.openapi.client.bots.UpdateBotResp; import com.coze.openapi.client.bots.model.Bot; +import com.coze.openapi.client.bots.model.BotSimpleInfo; import com.coze.openapi.client.bots.model.SimpleBot; import com.coze.openapi.client.common.BaseResponse; import com.coze.openapi.client.common.pagination.PageFetcher; @@ -46,6 +60,8 @@ public PageResp list(ListBotReq req) { .build(); } + + private PageFetcher getSimpleBotPageFetcher(ListBotReq req) { String spaceID = req.getSpaceID(); @@ -66,11 +82,57 @@ private PageFetcher getSimpleBotPageFetcher(ListBotReq req) { return pageFetcher; } + public PageResp list(ListBotV2Req req) { + if (req == null) { + throw new IllegalArgumentException("req is required"); + } + + Integer pageNum = req.getPageNum() == null ? 1 : req.getPageNum(); + Integer pageSize = req.getPageSize() == null ? 20 : req.getPageSize(); + PageFetcher pageFetcher = getSimpleBotPageFetcher(req); + + // 创建分页器 + PageNumBasedPaginator paginator = new PageNumBasedPaginator<>(pageFetcher, pageSize); + + // 获取当前页数据 + PageRequest initialRequest = PageRequest.builder().pageNum(pageNum).pageSize(pageSize).build(); + + PageResponse firstPage = pageFetcher.fetch(initialRequest); + + return PageResp.builder().total(firstPage.getTotal()).items(firstPage.getData()).iterator(paginator) + .logID(firstPage.getLogID()).hasMore(firstPage.isHasMore()).build(); + } + + private PageFetcher getSimpleBotPageFetcher(ListBotV2Req req) { + String workspaceID = req.getWorkspaceID(); + String publishStatus = req.getPublishStatus(); + String connectorID = req.getConnectorID(); + // 创建分页获取器 + PageFetcher pageFetcher = request -> { + BaseResponse resp = Utils + .execute(api.list(workspaceID, publishStatus, connectorID, request.getPageNum(), request.getPageSize(), req)); + return PageResponse.builder() + .hasMore(resp.getData().getItems().size() == request.getPageSize()) + .data(resp.getData().getItems()) + .pageNum(request.getPageNum()) + .pageSize(request.getPageSize()) + .total(resp.getData().getTotal()) + .logID(resp.getLogID()) + .build(); + }; + return pageFetcher; + } + public RetrieveBotResp retrieve(RetrieveBotReq req) { BaseResponse resp = Utils.execute(api.retrieve(req.getBotID(), req)); return RetrieveBotResp.builder().bot(resp.getData()).logID(resp.getLogID()).build(); } + public RetrieveBotV2Resp retrieve(RetrieveBotV2Req req) { + BaseResponse resp = Utils.execute(api.retrieve(req.getBotID(), req.getIsPublished(), req)); + return RetrieveBotV2Resp.builder().bot(resp.getData()).logID(resp.getLogID()).build(); + } + public CreateBotResp create(CreateBotReq req) { return Utils.execute(api.create(req, req)).getData(); } diff --git a/example/src/main/java/example/bot/BotRetrieveV2Example.java b/example/src/main/java/example/bot/BotRetrieveV2Example.java new file mode 100644 index 00000000..56354179 --- /dev/null +++ b/example/src/main/java/example/bot/BotRetrieveV2Example.java @@ -0,0 +1,67 @@ +package example.bot; + +import java.io.IOException; +import java.util.Iterator; + +import com.coze.openapi.client.bots.ListBotV2Req; +import com.coze.openapi.client.bots.RetrieveBotV2Req; +import com.coze.openapi.client.bots.RetrieveBotV2Resp; +import com.coze.openapi.client.bots.model.Bot; +import com.coze.openapi.client.bots.model.BotSimpleInfo; +import com.coze.openapi.client.common.pagination.PageResp; +import com.coze.openapi.service.auth.TokenAuth; +import com.coze.openapi.service.service.CozeAPI; + +/* +This example is for describing how to retrieve a bot, fetch published bot list from the API. +The document for those interface: +* */ +public class BotRetrieveV2Example { + public static void main(String[] args) throws IOException { + // Get an access_token through personal access token or oauth. + String token = System.getenv("COZE_API_TOKEN"); + String botID = System.getenv("COZE_BOT_ID"); + TokenAuth authCli = new TokenAuth(token); + + // Init the Coze client through the access_token. + CozeAPI coze = + new CozeAPI.Builder() + .baseURL(System.getenv("COZE_API_BASE")) + .auth(authCli) + .readTimeout(10000) + .build(); + ; + + /* + * retrieve a bot + * */ + RetrieveBotV2Resp botInfo = coze.bots().retrieve(RetrieveBotV2Req.of(botID,null)); + Bot bot = botInfo.getBot(); + System.out.println(bot); + System.out.println(botInfo.getLogID()); + + /* + * get published bot list + * */ + + Integer pageNum = 1; + String workspaceID = System.getenv("WORKSPACE_ID"); + ListBotV2Req listBotReq = + ListBotV2Req.builder().workspaceID(workspaceID).pageNum(pageNum).pageSize(10).build(); + PageResp botList = coze.bots().list(listBotReq); + + // 2. The SDK encapsulates an iterator, which can be used to turn pages backward automatically. + Iterator iterator = botList.getIterator(); + while (iterator.hasNext()) { + iterator.forEachRemaining(System.out::println); + } + + // the page result will return followed information + System.out.println("total: " + botList.getTotal()); + System.out.println("has_more: " + botList.getHasMore()); + System.out.println("logID: " + botList.getLogID()); + for (BotSimpleInfo item : botList.getItems()) { + System.out.println(item); + } + } +} From acd04d35e5d30e6aeab9ee0fb3a17e3c57807a96 Mon Sep 17 00:00:00 2001 From: kalman03 Date: Fri, 4 Jul 2025 01:39:33 +0800 Subject: [PATCH 4/8] unicode character issue fixed --- .../main/java/com/coze/openapi/client/bots/model/Bot.java | 6 +++--- .../bots/model/{BotVeriable.java => BotVariable.java} | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) rename api/src/main/java/com/coze/openapi/client/bots/model/{BotVeriable.java => BotVariable.java} (95%) diff --git a/api/src/main/java/com/coze/openapi/client/bots/model/Bot.java b/api/src/main/java/com/coze/openapi/client/bots/model/Bot.java index b58a6dec..6dded016 100644 --- a/api/src/main/java/com/coze/openapi/client/bots/model/Bot.java +++ b/api/src/main/java/com/coze/openapi/client/bots/model/Bot.java @@ -53,8 +53,8 @@ public class Bot { @JsonProperty("knowledge") private BotCommonKnowledge knowledge; - @JsonProperty("veriables") - private List veriables; + @JsonProperty("variables") + private List variables; @JsonProperty("owner_user_id") private String ownerUserId; @@ -72,5 +72,5 @@ public class Bot { private BotBackgroundImageInfo backgroundImageInfo; @JsonProperty("default_user_input_type") - private String defaultUserInputType​; + private String defaultUserInputType; } diff --git a/api/src/main/java/com/coze/openapi/client/bots/model/BotVeriable.java b/api/src/main/java/com/coze/openapi/client/bots/model/BotVariable.java similarity index 95% rename from api/src/main/java/com/coze/openapi/client/bots/model/BotVeriable.java rename to api/src/main/java/com/coze/openapi/client/bots/model/BotVariable.java index eec0903e..4d409f94 100644 --- a/api/src/main/java/com/coze/openapi/client/bots/model/BotVeriable.java +++ b/api/src/main/java/com/coze/openapi/client/bots/model/BotVariable.java @@ -11,7 +11,7 @@ @Builder @NoArgsConstructor @AllArgsConstructor -public class BotVeriable { +public class BotVariable { @JsonProperty("enable") private Boolean enable; From df851171282a810506f3d2206e35eef4c3a6dd81 Mon Sep 17 00:00:00 2001 From: kalman03 Date: Fri, 4 Jul 2025 01:44:15 +0800 Subject: [PATCH 5/8] issue fixed --- api/src/main/java/com/coze/openapi/api/BotAPI.java | 2 +- .../openapi/client/bots/model/BotBackgroundImageInfo.java | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/api/src/main/java/com/coze/openapi/api/BotAPI.java b/api/src/main/java/com/coze/openapi/api/BotAPI.java index 7601e87a..6386c281 100644 --- a/api/src/main/java/com/coze/openapi/api/BotAPI.java +++ b/api/src/main/java/com/coze/openapi/api/BotAPI.java @@ -41,7 +41,7 @@ Call> list( @GET("/v1/bot/get_online_info") Call> retrieve(@Query("bot_id") String botID, @Tag BaseReq baseReq); - @GET("v1/bots/{bot_id}") + @GET("/v1/bots/{bot_id}") Call> retrieve(@Path("bot_id") String botID, @Query("is_published") Boolean isPublished, @Tag BaseReq baseReq); diff --git a/api/src/main/java/com/coze/openapi/client/bots/model/BotBackgroundImageInfo.java b/api/src/main/java/com/coze/openapi/client/bots/model/BotBackgroundImageInfo.java index 6b339906..07fefb2e 100644 --- a/api/src/main/java/com/coze/openapi/client/bots/model/BotBackgroundImageInfo.java +++ b/api/src/main/java/com/coze/openapi/client/bots/model/BotBackgroundImageInfo.java @@ -41,9 +41,13 @@ public static class BackgroundImageDetail { @NoArgsConstructor @AllArgsConstructor public static class CanvasPosition { + @JsonProperty("top") private Double top; + @JsonProperty("left") private Double left; + @JsonProperty("width") private Double width; + @JsonProperty("height") private Double height; } @@ -52,7 +56,9 @@ public static class CanvasPosition { @NoArgsConstructor @AllArgsConstructor public static class GradientPosition { + @JsonProperty("left") private Double left; + @JsonProperty("right") private Double right; } } From 14f8b12ec9b4164ee63a9a64f3260d6846c1ee53 Mon Sep 17 00:00:00 2001 From: kalman03 Date: Fri, 4 Jul 2025 01:48:38 +0800 Subject: [PATCH 6/8] @SuperBuilder --- .../main/java/com/coze/openapi/client/bots/ListBotV2Resp.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/src/main/java/com/coze/openapi/client/bots/ListBotV2Resp.java b/api/src/main/java/com/coze/openapi/client/bots/ListBotV2Resp.java index f271ca13..484e0de7 100644 --- a/api/src/main/java/com/coze/openapi/client/bots/ListBotV2Resp.java +++ b/api/src/main/java/com/coze/openapi/client/bots/ListBotV2Resp.java @@ -8,13 +8,13 @@ import com.fasterxml.jackson.annotation.JsonProperty; import lombok.AllArgsConstructor; -import lombok.Builder; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; @Data -@Builder +@SuperBuilder @NoArgsConstructor @AllArgsConstructor @JsonInclude(JsonInclude.Include.NON_NULL) From 785d66d8d8f48d968531cb5c0310dc61e7972437 Mon Sep 17 00:00:00 2001 From: kalman03 Date: Fri, 4 Jul 2025 01:50:58 +0800 Subject: [PATCH 7/8] connector_id --- api/src/main/java/com/coze/openapi/api/BotAPI.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/src/main/java/com/coze/openapi/api/BotAPI.java b/api/src/main/java/com/coze/openapi/api/BotAPI.java index 6386c281..5b0389e5 100644 --- a/api/src/main/java/com/coze/openapi/api/BotAPI.java +++ b/api/src/main/java/com/coze/openapi/api/BotAPI.java @@ -32,7 +32,7 @@ Call> list( Call> list( @Query("workspace_id") String workspaceID, @Query("publish_status") String publishStatus, - @Query("connector") String connectorID, + @Query("connector_id") String connectorID, @Query("page_index") Integer page, @Query("page_size") Integer pageSize, @Tag BaseReq baseReq); From 77b7120d3aea95a1150c57a869e9e4594ea9e413 Mon Sep 17 00:00:00 2001 From: kalman03 Date: Fri, 11 Jul 2025 11:12:12 +0800 Subject: [PATCH 8/8] ci --- example/src/main/java/example/bot/BotRetrieveV2Example.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/example/src/main/java/example/bot/BotRetrieveV2Example.java b/example/src/main/java/example/bot/BotRetrieveV2Example.java index 56354179..77d6a1fa 100644 --- a/example/src/main/java/example/bot/BotRetrieveV2Example.java +++ b/example/src/main/java/example/bot/BotRetrieveV2Example.java @@ -21,6 +21,12 @@ public static void main(String[] args) throws IOException { // Get an access_token through personal access token or oauth. String token = System.getenv("COZE_API_TOKEN"); String botID = System.getenv("COZE_BOT_ID"); + if (token == null || token.isEmpty()) { + throw new IllegalArgumentException("COZE_API_TOKEN environment variable is required"); + } + if (botID == null || botID.isEmpty()) { + throw new IllegalArgumentException("COZE_BOT_ID environment variable is required"); + } TokenAuth authCli = new TokenAuth(token); // Init the Coze client through the access_token.