Dữ liệu API cho mỗi lượt chat sẽ hiện ở đây.
Bắt đầu bằng cách gửi một tin nhắn trong khung chat.
Request Gửi đi
Response Nhận được (Mô phỏng)
Tổng quan về API Chat
API Chat hoạt động theo cơ chế hỏi-đáp. Bạn gửi tin nhắn của người dùng và nhận lại phản hồi từ AI. Để duy trì mạch truyện, bạn cần gửi lại conversation_id
trong các yêu cầu tiếp theo.
Xác thực (Authentication)
Mọi yêu cầu đến API đều cần được xác thực bằng Access Token. Gửi token này trong header Authorization
.
Authorization: Bearer YOUR_ACCESS_TOKEN
Endpoint
POST /v1/chat-messages
Ví dụ cURL: Yêu cầu đầu tiên
Chỉ cần gửi câu truy vấn của người dùng và token xác thực.
curl -X POST 'https://avoca.dify.host/v1/chat-messages' \\
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \\
-H 'Content-Type: application/json' \\
-d '{
"inputs": {},
"query": "Xin chào",
"user": "user-123",
"response_mode": "streaming"
}'
Ví dụ cURL: Yêu cầu tiếp theo
Bắt buộc phải có conversation_id
được trả về từ yêu cầu trước đó.
curl -X POST 'https://avoca.dify.host/v1/chat-messages' \\
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \\
-H 'Content-Type: application/json' \\
-d '{
"inputs": {},
"query": "Em học lớp 7",
"user": "user-123",
"response_mode": "streaming",
"conversation_id": "d8a8a7b1-..."
}'
Cấu trúc Request
interface ChatRequestPayload {
inputs: object; // Các biến khởi tạo (nếu có)
query: string; // Tin nhắn của người dùng
user: string; // ID định danh người dùng
response_mode: "streaming" | "blocking";
conversation_id?: string; // ID hội thoại cho các tin nhắn tiếp theo
}
Cấu trúc Response (Streaming)
API sẽ trả về một chuỗi các sự kiện. Dưới đây là các sự kiện quan trọng:
// Bắt đầu một tin nhắn từ AI
interface AgentMessageEvent {
event: "agent_message";
id: string;
task_id: string;
conversation_id: string;
answer: string; // Một phần của câu trả lời
}
// Kết thúc tin nhắn
interface MessageEndEvent {
event: "message_end";
id: string;
task_id: string;
conversation_id: string;
metadata: object;
}