Users
12
Messages
244
Events
1
Pending
0

Tổng quan

Xuni Chatbot cung cấp Webhook API để ứng dụng bên ngoài gửi tin nhắn và nhận phản hồi từ AI chatbot. Bot sẽ tự động tạo user mới nếu user_id chưa tồn tại, xử lý tin nhắn qua AI, và trả về kết quả realtime.

Endpoint

POST  https://<n8n-domain>/webhook/xuni-chatbot

Content-Type: application/json

Request Body

{
  "platform": "xuni_app_dev",        // Bắt buộc. "xuni_app_dev" | "xuni_app_prod" | "telegram"
  "user_id": "user_abc_123",          // Bắt buộc. ID user từ ứng dụng của bạn
  "city": "Ho Chi Minh",              // Tùy chọn. Thành phố hiện tại của user
  "message": "Xin chào bot!"          // Bắt buộc. Nội dung tin nhắn
}

Response - Success (200)

{
  "success": true,
  "platform": "xuni_app_dev",
  "user_id": "user_abc_123",
  "city": "Ho Chi Minh",
  "message": "Chào bạn! Tui là Xuni chatbot nè 😊"
}

Response - Error (400)

{
  "success": false,
  "error": "Missing required fields: platform, user_id, message"
}

Platforms

PlatformMô tảMục đích
🔧 xuni_app_devXuni App - DevelopmentMôi trường test/phát triển
🚀 xuni_app_prodXuni App - ProductionMôi trường chính thức
✈️ telegramTelegram BotTest trực tiếp qua Telegram

Ví dụ cURL

curl -X POST https://<n8n-domain>/webhook/xuni-chatbot \
  -H "Content-Type: application/json" \
  -d '{
    "platform": "xuni_app_dev",
    "user_id": "user_001",
    "city": "Ha Noi",
    "message": "Hello bot!"
  }'

Outgoing Webhook (Callback)

Ngoài việc trả response trực tiếp, bot còn bắn kết quả tới URL callback mà bạn đăng ký trên admin (Cấu hình Bot → Outgoing Webhook URLs). Mỗi platform có 1 URL riêng.

Bot sẽ POST tới URL callback:

{
  "platform": "xuni_app_dev",
  "user_id": "user_abc_123",
  "city": "Ho Chi Minh",
  "message": "Chào bạn! Tui là Xuni chatbot nè 😊",
  "timestamp": "2026-02-23T14:30:00.000Z"
}

Timeout: 10s. Nếu URL callback lỗi, bot vẫn trả response bình thường — outgoing webhook chạy song song, không block. Log kết quả ghi vào tab Webhook Logs.

Lưu ý quan trọng

  • User mới sẽ được tạo tự động khi gửi tin nhắn đầu tiên
  • Style mặc định cho user mới: Hài hước (có thể đổi trên admin)
  • Giới tính mặc định: Chưa rõ (cần set trên admin để xưng hô chính xác)
  • City được cập nhật mỗi lần gọi API (nếu có gửi)
  • Webhook logs lưu tối đa 100 records gần nhất
  • Timeout khuyến nghị: 30 giây (AI cần thời gian xử lý)