Pango AI MascotPango Chatbot AI
Chatbot ServiceTích hợp GraphQL (Mẫu)
API Gateway

Gửi Đánh Giá Phản Hồi (ExampleSubmitFeedback)

MUTATION MẪU Yêu cầu Bearer Token

🛡️ Lưu Ý Schema Mẫu: Tài liệu này mô tả định dạng mutation mẫu (Example Mutation). Cấu trúc schema và tên trường chính thức sẽ được cấp riêng trong tài liệu hợp tác.

Cho phép người dùng đánh giá mức độ hài lòng (1 đến 5 sao) hoặc gửi kèm bình luận đóng góp ý kiến về câu trả lời mà AI đã phản hồi.

💻 Chi Tiết Truy Vấn & Mã Nguồn Mẫu

GraphQL Mutation & Payload (Mẫu):

GraphQL Mutation

ExampleSubmitFeedback.gql
mutation ExampleSubmitFeedback($input: ExampleFeedbackInput!) {
  exampleSubmitFeedback(input: $input) {
    feedback_receipt_id
    session_id
    target_message_id
    submission_status
  }
}

Variables (JSON Mẫu)

Variables
{
  "input": {
    "session_id": "sess_89f1a23b4c5d6e7f",
    "target_message_id": "msg_ast_01j89a8bc43e",
    "score_rating": 5,
    "feedback_comment": "Câu trả lời rất chính xác và đầy đủ chi tiết!",
    "feedback_category": "RATING",
    "bot_code": "ai_assistant"
  }
}

Phản Hồi Thành Công (JSON Response Mẫu)

Response 200 OK
{
  "data": {
    "exampleSubmitFeedback": {
      "feedback_receipt_id": "fb_9923812831",
      "session_id": "sess_89f1a23b4c5d6e7f",
      "target_message_id": "msg_ast_01j89a8bc43e",
      "submission_status": "SUCCESS"
    }
  }
}

TypeScript / Axios:

exampleSubmitFeedback.ts
import axios from 'axios';

export interface ExampleFeedbackInput {
  session_id: string;
  target_message_id: string;
  score_rating: number; // 1 đến 5 sao
  feedback_comment?: string | null;
  feedback_category?: string;
  bot_code?: string;
}

export interface ExampleFeedbackPayload {
  feedback_receipt_id: string;
  session_id: string;
  target_message_id: string;
  submission_status: string;
}

/**
 * Gửi đánh giá sao hoặc bình luận góp ý cho tin nhắn AI (Mã mẫu)
 */
export async function exampleSubmitFeedback(
  apiUrl: string = process.env.VITE_API_URL!,
  token: string,
  params: ExampleFeedbackInput
): Promise<ExampleFeedbackPayload> {
  const query = `
    mutation ExampleSubmitFeedback($input: ExampleFeedbackInput!) {
      exampleSubmitFeedback(input: $input) {
        feedback_receipt_id
        session_id
        target_message_id
        submission_status
      }
    }
  `;

  const response = await axios.post(
    apiUrl,
    {
      query,
      variables: {
        input: {
          session_id: params.session_id,
          target_message_id: params.target_message_id,
          score_rating: params.score_rating,
          feedback_comment: params.feedback_comment?.trim() || null,
          feedback_category: params.feedback_category || 'RATING',
          bot_code: params.bot_code || 'ai_assistant',
        },
      },
      operationName: 'ExampleSubmitFeedback',
    },
    {
      headers: {
        'Content-Type': 'application/json',
        'Authorization': `Bearer ${token}`,
        'x-org-id': process.env.VITE_ORG_ID || 'org_sample_demo',
        'x-client-type': 'app',
        'x-external-private-key': process.env.VITE_EXTERNAL_PRIVATE_KEY || 'your_secret_key',
      },
    }
  );

  return response.data?.data?.exampleSubmitFeedback;
}

📑 Bảng Tham Số Mẫu (Example Schema Definition)

ExampleFeedbackInput

Thuộc Tính MẫuKiểu Dữ LiệuBắt BuộcMô Tả
session_idString!CóID phiên chat chứa tin nhắn được đánh giá
target_message_idString!CóID tin nhắn phản hồi của trợ lý AI
score_ratingInt!CóĐiểm số đánh giá từ 1 đến 5 sao
feedback_commentStringKhôngNội dung phản hồi, nhận xét chi tiết
feedback_categoryStringKhôngLoại đánh giá (mặc định "RATING")
bot_codeStringKhôngMã định danh trợ lý AI (mặc định "ai_assistant")

Dữ Liệu Trả Về (ExampleFeedbackPayload)

Thuộc Tính MẫuKiểu Dữ LiệuMô Tả
feedback_receipt_idString!Mã định danh bản ghi feedback
session_idString!ID phiên chat
target_message_idString!ID tin nhắn được đánh giá
submission_statusString!Kết quả xử lý ("SUCCESS")
Pango AI Mascot© 2026 Pango Chatbot AI • Phát triển bởi Pango AI Team
v1.0 Enterprise