Back to Main Site

Hướng dẫn sử dụng GraphQL Mutation để thao tác CRUD trong Perfex CRM

Last updated on Jul 10, 2026 5:07 AM

Các thao tác ghi dữ liệu (Write Operations) trong GraphQL

GraphQL mutations cho phép bạn tạo mới, cập nhật và xóa các bản ghi trong Perfex CRM thông qua cùng một endpoint POST /graphql như đối với các câu lệnh truy vấn dữ liệu (query). Mô-đun Data Builder tự động sinh ra các cấu trúc mutation cho mỗi bảng dữ liệu được phép cấu hình.

Tạo mới bản ghi (Create Records)

mutation {
  createClient(input: {
    company: "New Company Ltd"
    phonenumber: "+84 123 456 789"
    city: "Ho Chi Minh City"
    country: "243"
    default_language: "vietnamese"
  }) {
    userid company city
  }
}

Dữ liệu phản hồi sẽ chỉ trả về các trường thông tin cụ thể mà bạn yêu cầu. Các kiểu định nghĩa đầu vào (input types) được tự động tạo dựa trên cấu trúc của bảng.

Cập nhật bản ghi (Update Records)

mutation {
  updateProject(id: 42, input: {
    name: "Updated Project Name"
    deadline_date: "2026-06-30"
    status: 2
  }) {
    id name deadline_date status
  }
}

Xóa bản ghi (Delete Records)

mutation {
  deleteExpense(id: 15) {
    success
    message
  }
}

Cơ chế kiểm soát an toàn

  • Yêu cầu quyền write scope – Token API bắt buộc phải được cấp quyền ghi dữ liệu (write).

  • Cấu hình CRUD theo bảng – Dễ dàng thiết lập những bảng nào cho phép hoặc không cho phép thao tác tạo mới/cập nhật/xóa.

  • Loại bỏ các cột bảo mật – Các cột nhạy cảm (như mật khẩu, mã băm, token, API keys) được tự động loại trừ khỏi các kiểu định nghĩa đầu vào.

  • Tự động phát hiện khóa chính – Hệ thống tự động nhận dạng khóa chính của bảng để thực hiện các thao tác cập nhật và xóa.

So sánh Mutation với REST API Ghi dữ liệu

Thao tácREST APIGraphQL Mutation
Tạo mới (Create)POST /clientsmutation { createClient(input: {...}) }
Cập nhật (Update)PUT /clients/42mutation { updateClient(id: 42, input: {...}) }
Xóa (Delete)DELETE /clients/42mutation { deleteClient(id: 42) }
Phản hồi (Response)Trả về toàn bộ bản ghiChỉ trả về các trường yêu cầu

Để tìm hiểu về các thao tác đọc dữ liệu, vui lòng xem hướng dẫn chi tiết về truy vấn GraphQL. Để có cái nhìn tổng quan về cả hai giải pháp, xem so sánh REST và GraphQL.

Kiểm thử các Mutation

Hãy sử dụng hộp thử nghiệm của API Explorer để kiểm tra các mutation trực tiếp. Bạn cũng có thể tải về tệp cấu hình mẫu Postman Collection để có các ví dụ mutation được dựng sẵn.