Chat API

Tổng quan

Chat API cho phép bạn gửi tin nhắn đến chatbot và nhận phản hồi. API này yêu cầu xác thực bằng JWT token và hỗ trợ nhiều tính năng như gửi tin nhắn, nhận phản hồi, và quản lý cuộc trò chuyện.

Gửi tin nhắn

Để gửi tin nhắn đến chatbot, sử dụng endpoint sau:

POST: https://copecute.minhgiang.pro/api/chat/chat.php
Headers:
Authorization: Bearer {your_jwt_token}
Content-Type: application/json
Tham số (JSON - Raw data):
{
    "message": "Xin chào, bạn có thể giúp tôi không?"
}
Response:
{
    "success": true,
    "data": {
        "bot_response": "Xin chào! Tôi có thể giúp gì cho bạn?",
        "quota": 99,
        "is_default_response": false,
        "is_used_quota": true
    }
}
Lấy lịch sử chat

Để lấy lịch sử chat:

GET: https://copecute.minhgiang.pro/api/chat/history.php?page=1&limit=20
Headers:
Authorization: Bearer {your_jwt_token}
Tham số truy vấn:
  • page (tùy chọn): Số trang, mặc định là 1
  • limit (tùy chọn): Số lượng tin nhắn mỗi trang, mặc định là 20, tối đa 100
Response:
{
    "success": true,
    "data": {
        "total": 25,
        "page": 1,
        "limit": 20,
        "total_pages": 2,
        "history": [
            {
                "id": "123",
                "user_input": "Xin chào, bạn có thể giúp tôi không?",
                "bot_response": "Xin chào! Tôi có thể giúp gì cho bạn?",
                "created_at": "2024-03-10T15:30:00Z"
            },
            // ... các tin nhắn khác
        ]
    }
}
Xóa lịch sử chat

Để xóa toàn bộ lịch sử chat:

POST: https://copecute.minhgiang.pro/api/chat/clear_messages.php
Headers:
Authorization: Bearer {your_jwt_token}
Response:
{
    "success": true,
    "message": "Đã xóa toàn bộ lịch sử chat"
}
Dạy chatbot

Để dạy chatbot câu trả lời mới (chỉ dành cho admin):

POST: https://copecute.minhgiang.pro/api/chat/teach.php
Headers:
Authorization: Bearer {your_jwt_token}
Content-Type: application/json
Tham số (JSON - Raw data):
{
    "keyword": "xin chào",
    "reply": "Chào bạn! Mình có thể giúp gì cho bạn?",
    "impolite": 0
}
Response:
{
    "success": true,
    "message": "Dạy chatbot thành công"
}
Mã lỗi phổ biến
  • 401 Unauthorized

    Token không hợp lệ hoặc đã hết hạn

  • 400 Bad Request

    Dữ liệu gửi lên không hợp lệ

  • 403 Forbidden

    Không có quyền thực hiện hành động

  • 404 Not Found

    Không tìm thấy tài nguyên

  • 429 Too Many Requests

    Vượt quá giới hạn request

Lưu ý quan trọng
  • Mỗi tin nhắn tiêu thụ 1 quota (trừ trường hợp là câu trả lời mặc định)
  • Khi hết quota, chatbot sẽ ngừng trả lời
  • Lịch sử chat được lưu trữ và gắn với tài khoản của bạn
  • Chức năng dạy chatbot chỉ dành cho người quản trị