Dynamic API
Giới thiệu
Dynamic API là một trong những định dạng tin nhắn của Zalo Chatbot, cho phép bạn tích hợp dữ liệu thời gian thực từ hệ thống của doanh nghiệp. Điều này giúp chatbot có thể trả lời các câu hỏi cần tra cứu dữ liệu động như tình trạng đơn hàng, điểm tích lũy hay thông tin tài khoản.
Use Cases Thực tế
- Thương mại điện tử
- Chương trình thành viên
Thông số Kỹ thuật
Yêu cầu cơ bản
- API endpoint phải trả về status code 200
- Response time dưới 2 giây
- Hỗ trợ tối đa 5 tin nhắn trong một response
Format Response
- Official Account API
- Zalo Chatbot Format
{
"text": "Đơn hàng #123456",
"attachment": {
"type": "template",
"payload": {
"template_type": "media",
"elements": [
{
"media_type": "image",
"url": "https://example.com/order.jpg"
}
]
}
}
}
{
"version": "chatbot",
"content": {
"messages": [
{
"type": "text",
"text": "Đơn hàng #123456",
"buttons": [
{
"name": "Xem chi tiết",
"type": "url",
"url": "https://example.com/order/123456"
}
]
}
]
}
}
Các Loại Tin nhắn Hỗ trợ
- Văn bản & Nút
- Hình ảnh
- Danh sách
{
"type": "text",
"text": "Nội dung tin nhắn",
"buttons": [
{
"name": "Tên nút",
"type": "url|phone|query",
"payload": "Giá trị tương ứng"
}
]
}
{
"type": "image",
"image_url": "https://example.com/image.jpg",
"caption": "Chú thích ảnh"
}
{
"type": "list",
"elements": [
{
"title": "Tiêu đề item",
"subtitle": "Mô tả (bắt buộc cho item đầu)",
"image_url": "https://example.com/image.jpg",
"action": {
"type": "url",
"url": "https://example.com"
}
}
]
}
Giới hạn và Quy định
Lưu ý quan trọng
- Mỗi response tối đa 5 tin nhắn
- Mỗi tin nhắn tối đa 5 nút
- Danh sách tối đa 5 items
- Đường dẫn hình ảnh phải có HTTPS
Best Practices
1. Thiết kế API
- Validate input kỹ lưỡng
- Xử lý timeout hợp lý
- Format dữ liệu chuẩn
2. Xử lý Lỗi
{
"version": "chatbot",
"content": {
"messages": [
{
"type": "text",
"text": "Xin lỗi, hệ thống đang bận. Vui lòng thử lại sau ít phút."
}
]
}
}
3. Monitoring
- Log đầy đủ request/response
- Theo dõi performance
- Alert khi có lỗi
Tips Triển khai
mẹo
-
Tối ưu Performance
- Cache dữ liệu phổ biến
- Compress response
- Optimize database queries
-
UX/UI
- Message loading state
- Error message thân thiện
- Fallback content sẵn sàng
FAQ
API timeout xử lý thế nào?
Nên set timeout 2s và trả về thông báo thân thiện cho người dùng:
{
"version": "chatbot",
"content": {
"messages": [
{
"type": "text",
"text": "Hệ thống hơi chậm, bạn vui lòng thử lại nhé!"
}
]
}
}
Nên dùng format nào?
Khuyến nghị dùng Zalo Chatbot Format vì:
- Ngắn gọn, dễ đọc
- Gửi được nhiều tin một lúc
- Dễ maintain