Bỏ qua để đến nội dung

Trò chuyện với AI Agent bằng lập trình qua endpoint Chat thời gian thực, phù hợp để xây dựng giao diện chat tùy chỉnh.

  • Xem trước yêu cầu API Action. Hiển thị mẫu yêu cầu được cung cấp bằng giá trị mẫu tổng hợp mà không gửi đi. Bỏ qua tiêu đề chứa thông tin xác thực.

  • Xem trước khóa siêu dữ liệu. Kiểm tra tên trường được cung cấp trở thành khóa biến thế nào, gồm tên trùng và lỗi khóa dành riêng. Không kiểm tra giá trị hoặc quyền riêng theo tài khoản.

Endpoint Chat thời gian thực gửi tin nhắn khách tới AI Agent và trả câu trả lời AI trong một lượt yêu cầu-phản hồi. Đây là endpoint dùng khi xây giao diện chat riêng trên Quickchat AI.

Nó khác endpoint khác ở hai điểm: nằm tại app.quickchat.ai/chat, ngoài đường dẫn cơ sở /v1/api/ và /v1/api_core/, và đọc scenario_id từ nội dung yêu cầu thay vì token. Nó dùng cùng xác thực Bearer token như phần còn lại của API.

Gửi mọi yêu cầu tới https://app.quickchat.ai/chat. scenario_id trong nội dung phải khớp AI Agent gắn với Bearer token.

POST https://app.quickchat.ai/chat

Nội dung yêu cầu

Tham sốMô tả
scenario_id
chuỗi, bắt buộc
ID AI Agent. Phải khớp scenario_id gắn với Bearer token
text
chuỗi, bắt buộc
Tin nhắn đầu vào của người dùng
conv_id
chuỗi
ID cuộc trò chuyện. Bỏ qua ở yêu cầu đầu để tạo mới, rồi truyền lại conv_id nhận được trong các yêu cầu tiếp theo để tiếp tục
client_metadata
đối tượng
Cặp khóa-giá trị tùy chỉnh (đề xuất tối đa 5 khóa) gắn vào mỗi tin nhắn. Hiển thị thành cột dữ liệu trong bản xuất cuộc trò chuyện ở Hộp thư đến

Yêu cầu không có conv_id bắt đầu cuộc trò chuyện mới và phản hồi trả lại conv_id được tạo. Lưu conv_id rồi gửi lại trong yêu cầu sau để giữ ngữ cảnh qua nhiều tương tác.

Terminal window
# Start a new conversation by omitting conv_id
curl -X POST https://app.quickchat.ai/chat \
-H 'Authorization: Bearer <API_TOKEN>' \
-H 'Content-Type: application/json' \
-d '{
"scenario_id": "<SCENARIO_ID>",
"text": "Hello!"
}'

Phản hồi 200 OK

{
"conv_id": "conv-uuid-1234",
"reply": "Hi there! How can I help you today?",
"ord_number": 3,
"src": 0
}
TrườngMô tả
conv_id
chuỗi
Định danh cuộc trò chuyện. Luôn được trả về. Truyền lại trong trường conv_id của nội dung để tiếp tục cuộc trò chuyện
reply
chuỗi
Câu trả lời AI Agent. Có thể chứa HTML như xuống dòng <br>
ord_number
số nguyên
Số thứ tự tin nhắn trong cuộc trò chuyện
src
số nguyên
Chỉ báo nguồn nội bộ. Ứng dụng API có thể bỏ qua

Để tiếp tục cuộc trò chuyện hiện có, truyền lại conv_id đã nhận:

Terminal window
curl -X POST https://app.quickchat.ai/chat \
-H 'Authorization: Bearer <API_TOKEN>' \
-H 'Content-Type: application/json' \
-d '{
"scenario_id": "<SCENARIO_ID>",
"conv_id": "conv-uuid-1234",
"text": "What is your return policy?"
}'

Endpoint Chat nhận tham số tùy chọn client_metadata: thuộc tính tùy chỉnh gán cho mỗi tin nhắn mới và hiển thị thành cột dữ liệu trong bản xuất cuộc trò chuyện ở Hộp thư đến. Bạn cũng có thể gắn cùng thuộc tính qua widget. Chúng tôi đề xuất gửi tối đa 5 khóa mỗi lần, ví dụ {"userId": 12, "website": "mywebsite.com"}. Đây là khuyến nghị, không phải giới hạn API cưỡng chế.

Terminal window
curl -X POST https://app.quickchat.ai/chat \
-H 'Authorization: Bearer <API_TOKEN>' \
-H 'Content-Type: application/json' \
-d '{
"scenario_id": "<SCENARIO_ID>",
"conv_id": "conv-uuid-1234",
"text": "Hello!",
"client_metadata": {"userId": 12, "website": "mywebsite.com"}
}'

Bạn có thể thêm thẻ vào bài viết Cơ sở kiến thức và dùng để giới hạn những bài AI tham khảo, giúp AI chỉ trả lời từ một tập con. Hiện tính năng lọc này chỉ hỗ trợ qua API.

Để lọc theo thẻ, thêm khóa kb_topic vào client_metadata. Khóa kb_topic phải có trong mọi yêu cầu của cuộc trò chuyện, kể cả yêu cầu mở đầu. Giá trị có thể đổi giữa các yêu cầu nhưng khóa phải hiện diện suốt cuộc trò chuyện để bộ lọc có hiệu lực.

Trong ví dụ dưới, mọi bài gắn thẻ your-topic hoặc không có thẻ đều nằm trong tập kiến thức có thể dùng cho câu trả lời.

json={
"scenario_id": "<SCENARIO_ID>",
"conv_id": "conv-uuid-1234",
"text": "Hello!",
"client_metadata": {"kb_topic": "your-topic"},
}

Endpoint Chat trả thông báo lỗi dạng văn bản thuần với mã trạng thái HTTP phù hợp.

Trạng tháiMô tảCách xử lý
400Thiếu scenario_id hoặc không cung cấp thông tin xác thựcThêm scenario_id vào nội dung và tiêu đề hợp lệ Authorization: Bearer <API_TOKEN>
400conv_id không hợp lệ (Conversation conv_id <id> is not valid.)Bỏ conv_id để tạo cuộc trò chuyện mới hoặc truyền conv_id từ phản hồi trước
401Thông tin xác thực không hợp lệ (Unauthorized.)Kiểm tra Bearer token hoặc khóa API hợp lệ với scenario_id này
404Không biết scenario_id (No implementation found for scenario_id <id>)Kiểm tra scenario_id và Bearer token có gắn với nó không
500Lỗi máy chủ nội bộVấn đề phía chúng tôi. Vui lòng liên hệ bộ phận hỗ trợ
503Dịch vụ không khả dụngMáy chủ tạm quá tải hoặc bảo trì. Nếu vẫn xảy ra, vui lòng liên hệ bộ phận hỗ trợ