Tích hợp AI Agent vào Facebook, Zalo OA, Instagram bằng FastAPI
Việc tích hợp AI Agent vào Facebook, Zalo OA, Instagram đang trở thành xu hướng giúp doanh nghiệp tự động hóa chăm sóc khách hàng, phân tích hội thoại và thực thi tác vụ theo ngữ cảnh. Trong bài viết này, Bizfly sẽ hướng dẫn bạn cách tạo API endpoint bằng FastAPI, xử lý webhook từ các nền tảng mạng xã hội và truyền dữ liệu hội thoại vào hệ thống nội bộ như CRM hoặc Marketing Automation.
Tổng quan kiến trúc tích hợp
Để AI Agent có thể tương tác được với người dùng trên Facebook, Zalo hay Instagram, ta cần một cầu nối trung gian giữa nền tảng MXH và hệ thống AI. Luồng dữ liệu cơ bản diễn ra như sau:
Người dùng → MXH (Messenger/Zalo/Instagram)
→ Webhook (FastAPI endpoint)
→ AI Agent (Xử lý intent, tạo phản hồi)
→ API nội bộ (CRM, Order, Ticket, Mail...)
→ Phản hồi lại MXH
![]()
Ví dụ: Khách hàng nhắn “Tôi muốn đặt món cà phê sữa đá” → Webhook nhận event → gửi text sang AI Agent → Agent hiểu “intent = đặt hàng” → gọi API tạo đơn hàng → Trả lời lại Facebook: “Đơn hàng của bạn đã được ghi nhận.”
Chuẩn bị môi trường FastAPI
FastAPI là framework Python hiện đại, hiệu năng cao, hỗ trợ async và cực kỳ phù hợp để triển khai webhook server.
Cài đặt: pip install fastapi uvicorn python-dotenv requests
Tạo cấu trúc dự án:
project/
├── main.py
├── agent/
│ └── handler.py
└── .env
![]()
Trong file .env, bạn có thể lưu token xác thực:
FB_VERIFY_TOKEN=your_verify_token
BIZFLY_API_KEY=your_internal_api_key
![]()
Tạo Endpoint Webhook cơ bản
File main.py:
from fastapi import FastAPI, Request
import uvicorn, osapp = FastAPI()
@app.get("/webhook")
async def verify(request: Request):
params = request.query_params
verify_token = os.getenv("FB_VERIFY_TOKEN")
if params.get("hub.verify_token") == verify_token:
return int(params.get("hub.challenge"))
return {"error": "Invalid token"}@app.post("/webhook")
async def receive(request: Request):
data = await request.json()
print("Received:", data)
# Xử lý dữ liệu nhận từ Facebook/Zalo/Instagram
# Gọi sang module AI Agent
# agent.handle_message(data)
return {"status": "ok"}if __name__ == "__main__":
uvicorn.run("main:app", host="0.0.0.0", port=8000)
![]()
Endpoint này gồm:
- GET/webhook: dùng xác thực token khi đăng ký với MXH.
- POST/webhook: nơi các nền tảng gửi dữ liệu hội thoại (message, postback, follow...).
Đăng ký webhook trên Facebook
Truy cập Meta for Developers:
- Tạo App → Thêm sản phẩm Messenger.
- Trong mục Webhook, khai báo URL endpoint (ví dụ https://api.yourdomain.com/webhook).
- Nhập Verify Token trùng với token trong .env.
- Chọn fields: messages, messaging_postbacks, message_reactions, v.v.
Mỗi khi người dùng nhắn tin trên Messenger, Facebook sẽ gửi payload dạng:
{
"object": "page",
"entry": [{
"messaging": [{
"sender": { "id": "USER_ID" },
"message": { "text": "Xin chào" }
}]
}]
}
![]()
Bạn có thể xử lý trong code:
message = data["entry"][0]["messaging"][0]["message"]["text"]
user_id = data["entry"][0]["messaging"][0]["sender"]["id"]
response = agent.process_message(message, user_id)
![]()
Tích hợp với Zalo Official Account (OA)
Zalo OA cũng hỗ trợ webhook tương tự, nhưng format khác đôi chút. Truy cập Zalo Developer Console → Chọn OA → “Cấu hình Webhook” → nhập URL /webhook.
Payload mẫu khi người dùng gửi tin nhắn:
{
"event_name": "user_send_text",
"message": { "text": "Tôi muốn đặt bàn", "msg_id": "12345" },
"user_id_by_app": "zalo_ABC123"
}
![]()
Xử lý:
if data.get("event_name") == "user_send_text":
msg = data["message"]["text"]
uid = data["user_id_by_app"]
intent = agent.detect_intent(msg)
agent.trigger_action(intent, uid)
![]()
Để phản hồi lại, bạn gọi API gửi tin nhắn:
POST https://openapi.zalo.me/v2.0/oa/message
Authorization: Bearer {ACCESS_TOKEN}
Body: {
"recipient": { "user_id": "zalo_ABC123" },
"message": { "text": "Đặt bàn thành công!" }
}
![]()
Tích hợp với Instagram Direct
Vì Instagram Direct hoạt động qua Facebook Graph API, bạn chỉ cần:
- Liên kết tài khoản Instagram Business với Page.
- Trong App Facebook, thêm quyền instagram_manage_messages.
- Đăng ký webhook messages hoặc comments.
Payload tin nhắn Instagram:
{
"entry": [{
"changes": [{
"value": {
"from": { "id": "178414xxxx" },
"message": { "text": "Hi shop!" }
}
}]
}]
}
![]()
Từ đó, bạn có thể xử lý tương tự như Facebook:
msg = data["entry"][0]["changes"][0]["value"]["message"]["text"]
sender = data["entry"][0]["changes"][0]["value"]["from"]["id"]
response = agent.generate_reply(msg, sender)
![]()
Gọi API nội bộ để kích hoạt hành động
Khi AI Agent phân tích được intent như “đặt hàng”, “báo lỗi”, “hỏi CSKH”, hệ thống có thể gọi các API nội bộ để tự động thực thi. Ví dụ:
import requests
def trigger_internal_action(intent, payload):
if intent == "dat_hang":
requests.post("https://api.bizfly.vn/create-order", json=payload)
elif intent == "mo_ticket":
requests.post("https://api.bizfly.vn/support/create-ticket", json=payload)
![]()
Tại Bizfly, các API này có thể tương tác với:
- BizCRM: tự động thêm khách hàng tiềm năng.
- BizChatAI: ghi lịch sử hội thoại và phản hồi thông minh.
- BizMail: gửi email tự động xác nhận đơn hàng.
- Bizfly CDP: cập nhật hồ sơ hành vi người dùng đa kênh.
Bảo mật và giám sát
Để hệ thống hoạt động ổn định, bạn cần:
- Sử dụng HTTPS + SSL hợp lệ.
- Thêm header xác thực Authorization cho webhook.
- Log toàn bộ request/response (sử dụng MongoDB, PostgreSQL hoặc Redis Stream).
- Dùng Signature Validation (HMAC-SHA256) với secret key để xác minh dữ liệu từ MXH.
- Dựng hệ thống giám sát bằng Prometheus hoặc Sentry để tracking lỗi webhook.
Mở rộng khi triển khai đa Agent
Khi đã có nền tảng webhook ổn định, bạn có thể mở rộng theo mô hình multi-agent:
- Agent 1 – Intent Analyzer: phân tích ngữ cảnh và gán loại intent.
- Agent 2 – Action Executor: gọi API hoặc xử lý tác vụ nội bộ.
- Agent 3 – Reply Generator: tạo phản hồi tự nhiên bằng LLM.
Cách này giúp hệ thống mở rộng dễ dàng, tránh việc một Agent phải xử lý toàn bộ logic phức tạp.
Kết bài
Việc tích hợp AI Agent vào Facebook, Zalo OA, Instagram bằng FastAPI không chỉ dừng ở việc phản hồi tự động mà còn là nền tảng để triển khai AI-driven workflow trong toàn bộ quy trình bán hàng, CSKH và marketing. FastAPI mang đến tốc độ, bảo mật và khả năng mở rộng cao rất phù hợp cho doanh nghiệp muốn đồng bộ hội thoại từ mạng xã hội với hệ thống nội bộ như BizCRM, BizChatAI, Bizfly CDP,...
Về trang chủ Bizfly
Đăng nhập
Tài liệu kỹ thuật AI Chat
Loading ...