You can manage the lifecycle of a conversation and its messages using the coze.conversations() service. This includes creating conversations, retrieving them, appending messages (including text, images, and files), updating, deleting, and listing messages. The SDK provides a PageResult wrapper for paginated lists, which includes an Iterator for easy traversal.
Key operations:
- Create Conversation:
coze.conversations().create(CreateConversationReq) - Append Message:
coze.conversations().messages().create(CreateMessageReq) - List Messages:
coze.conversations().messages().list(ListMessageReq) - Clear Conversation:
coze.conversations().clear(ClearConversationReq)
// Create conversation
Conversation resp = coze.conversations().create(new CreateConversationReq());
String conversationID = resp.getId();
// Append message with multimodal content
Message msgs = coze.conversations().messages().create(CreateMessageReq.builder()
.conversationID(conversationID)
.objectContent(Arrays.asList(
MessageObjectString.buildText("hello"),
MessageObjectString.buildImageByURL("https://example.com/image.png"),
MessageObjectString.buildFileByURL("https://example.com/file.pdf")))
.build());
// List messages with pagination
PageResult<Message> messages = coze.conversations().messages().list(ListMessageReq.builder()
.conversationID(conversationID)
.limit(10)
.build());
Iterator<Message> iter = messages.getIterator();
iter.forEachRemaining(System.out::println);