Apidog Docs
🇻🇳 Tiếng Việt
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
🇻🇳 Tiếng Việt
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
🇻🇳 Tiếng Việt
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
HomeLearning Center
Support CenterAPI ReferencesDownloadChangelog
HomeLearning Center
Support CenterAPI ReferencesDownloadChangelog
  1. Nhánh
  • Trung tâm Học tập Apidog
  • Bắt đầu
    • Giới thiệu về Apidog
    • Các khái niệm cơ bản trong Apidog
    • Điều hướng Apidog
    • Bắt đầu nhanh
      • Tổng quan
      • Tạo một Endpoint
      • Tạo yêu cầu
      • Thêm một khẳng định
      • Tạo kịch bản kiểm thử
      • Chia sẻ tài liệu API
      • Khám phá thêm
    • Di chuyển sang Apidog
      • Tổng quan
      • Nhập thủ công
      • Nhập theo lịch (Liên kết nguồn dữ liệu)
      • Tùy chọn nhập
      • Xuất dữ liệu
      • Nhập từ
        • Nhập từ Postman
        • Nhập OpenAPI Spec
        • Nhập cURL
        • Nhập Markdown
        • Nhập từ Insomnia
        • Nhập từ apiDoc
        • Nhập tệp .har
        • Nhập WSDL
  • Dữ liệu API mock
    • Tổng quan
    • Smart Mock
    • Mock tùy chỉnh
    • Trình tự ưu tiên Mock
    • Mock Scripts
    • Cloud Mock
    • Self-Hosted Runner Mock
    • Ngôn ngữ Mock (Locales)
  • Tài khoản và tùy chọn
    • Cài đặt tài khoản
    • Tạo Token truy cập OpenAPI
    • Thông báo
    • Cài đặt ngôn ngữ
    • Phím tắt
    • Cấu hình Proxy Mạng
    • Sao lưu dữ liệu
    • Cập nhật Apidog
    • Xóa tài khoản
    • Tính năng thử nghiệm
  • Gửi yêu cầu
    • Tổng quan
    • Gỡ lỗi SSE
    • MCP Client
    • Socket.IO
    • WebSocket
    • Webhook
    • SOAP hoặc WebService
    • GraphQL
    • gRPC
    • Sử dụng Tác nhân Proxy Yêu cầu để Gỡ lỗi
    • Tạo yêu cầu
      • Lịch sử yêu cầu
      • Cơ bản về yêu cầu
      • Tham số và Body
      • Header của yêu cầu
      • Cài đặt yêu cầu
      • Gỡ lỗi yêu cầu
      • Lưu yêu cầu dưới dạng Endpoint
      • HTTP/2
    • Xác thực và phân quyền
      • Tổng quan
      • Chứng chỉ CA và Chứng chỉ Client
      • Các loại ủy quyền
      • Digest Auth
      • OAuth 1.0
      • OAuth 2.0
      • Xác thực Hawk
      • Kerberos
      • NTLM
      • Akamai EdgeGrid
    • Phản hồi và cookie
      • Xem phản hồi API
      • Quản lý Cookie
      • Tổng quan
  • Phát triển và gỡ lỗi API
    • Tổng quan
    • Tạo yêu cầu
    • Gửi yêu cầu
    • Trường hợp gỡ lỗi
    • Trường hợp kiểm thử
    • Giá trị động
    • Xác thực phản hồi
    • Design-First vs Request-First
    • Tạo mã
    • Môi trường và biến
      • Tổng quan
      • Sử dụng biến
      • Quản lý môi trường
    • Bí mật trong vault
      • Tổng quan
      • HashiCorp Vault
      • Azure Key Vault
      • AWS Secrets Manager
    • Mô-đun giá trị động
      • Hãng hàng không
      • Animal
      • Màu sắc
      • Commerce
      • Company
      • Cơ sở dữ liệu
      • Kiểu dữ liệu
      • Ngày
      • Finance
      • Food
      • Git
      • Hacker
      • Helpers
      • Hình ảnh
      • Internet
      • Vị trí
      • Lorem
      • Music
      • Number
      • Person
      • Phone
      • Science
      • String
      • Hệ thống
      • Vehicle
      • Từ
    • Bộ xử lý trước và sau
      • Tổng quan
      • Khẳng định
      • Trích xuất biến
      • Chờ
      • Bảo mật
      • Thao tác cơ sở dữ liệu
        • Tổng quan
        • MySQL
        • MongoDB
        • Redis
        • Oracle Client
      • Sử dụng script
        • Tổng quan
        • Script tiền xử lý
        • Tập lệnh hậu xử lý
        • Public Scripts
        • Tài liệu tham khảo về Postman Scripts
        • Gọi các ngôn ngữ lập trình khác
        • Sử dụng thư viện JS
        • Trực quan hóa phản hồi
        • Ví dụ script
          • Tập lệnh khẳng định
          • Sử dụng biến
          • Sửa đổi yêu cầu
          • Các ví dụ khác
    • Gỡ lỗi API
      • AI Agent Debugger
      • A2A Debugger
  • Thiết kế API
    • Tổng quan
    • Tạo một dự án API mới
    • Kiến thức cơ bản về Endpoint
    • Hướng dẫn thiết kế API
    • Mô-đun
    • Cấu hình nhiều ví dụ về body của yêu cầu
    • Thành phần
    • Trường Chung
    • Tham số toàn cục
    • Lịch sử thay đổi endpoint
    • Bình luận
    • Quản lý Endpoint Hàng loạt
    • Custom Protocol API
    • Chế độ Spec-first (Beta)
    • Lược đồ bảo mật
      • Tổng quan
      • Tạo Security Scheme
      • Sử dụng Lược đồ bảo mật
      • Lược đồ bảo mật trong tài liệu trực tuyến
    • Tính năng nâng cao
      • Trường Endpoint Tùy chỉnh
      • Các kịch bản kiểm thử được liên kết
      • Trạng thái Endpoint
      • Giao diện của Danh sách Tham số
      • Nhận dạng duy nhất endpoint
    • Schemas
      • Tổng quan
      • Tạo Schema Mới
      • Xây dựng Schema
      • Tạo Schema từ JSON, v.v.
      • oneOf, allOf, anyOf
      • Sử dụng Discriminator
  • Kiểm thử API
    • Tổng quan
    • Kịch bản kiểm thử
      • Tạo một kịch bản kiểm thử
      • Truyền dữ liệu giữa các yêu cầu
      • Điều kiện điều khiển luồng
      • Đồng bộ dữ liệu từ endpoint và trường hợp endpoint
      • Nhập Endpoint và Endpoint Case từ các dự án khác
      • Xuất Kịch bản Kiểm thử
    • Báo cáo kiểm thử
      • Báo cáo kiểm thử
    • Chạy kịch bản kiểm thử
      • Chạy một kịch bản kiểm thử
      • Chạy hàng loạt các kịch bản kiểm thử
      • Kiểm thử dựa trên dữ liệu
      • Dữ liệu kiểm thử dùng chung
      • Tác vụ đã lên lịch
      • Quản lý môi trường runtime của API từ các dự án khác
    • Bộ kiểm thử
      • Tổng quan
      • Tạo một bộ kiểm thử
      • Điều phối Bộ kiểm thử
      • Chạy bộ kiểm thử cục bộ
      • Chạy Bộ Kiểm Thử Qua CLI
      • Tác vụ đã lên lịch
    • Kiểm thử API
      • Kiểm thử tích hợp
      • Kiểm thử hiệu năng
      • Kiểm thử End-to-End
      • Kiểm thử hồi quy
      • Kiểm thử hợp đồng
    • Apidog CLI
      • Tổng quan
      • Cài đặt và chạy Apidog CLI
      • Tùy chọn Apidog CLI
    • CI/CD
      • Tổng quan
      • Tích hợp với Github Actions
      • Tích hợp với Gitlab
      • Tích hợp với Jenkins
      • Kích hoạt kiểm thử bằng Git Commit
  • Xuất bản tài liệu API
    • Tổng quan
    • Các công nghệ API được hỗ trợ
    • Chia sẻ nhanh
    • Xem tài liệu API
    • Tài liệu Markdown
    • Xuất bản site tài liệu
    • Trang đăng nhập tùy chỉnh
    • Bố cục tùy chỉnh
    • CSS, JavaScript, HTML tùy chỉnh
    • Tên miền tùy chỉnh
    • Tính năng AI
    • Cài đặt SEO
    • Cài đặt nâng cao
      • Tìm kiếm tài liệu
      • Proxy CORS
      • Tích hợp Google Analytics
      • Cài đặt cây thư mục
      • Cài đặt khả năng hiển thị
      • Nhúng giá trị vào URL tài liệu
    • Phiên bản API
      • Tổng quan
      • Tạo phiên bản API
      • Xuất bản các phiên bản API
      • Chia sẻ endpoint theo phiên bản API
  • Nhánh
    • Tổng quan
    • Tạo một Sprint Branch
    • Kiểm thử API trong một nhánh
    • Thiết kế API trong một nhánh
    • Hợp nhất các nhánh Sprint
    • Quản lý Nhánh Sprint
    • AI Branch (Beta)
  • Tính năng AI
    • Tổng quan
    • Bật các tính năng AI
    • Tạo Trường hợp Kiểm thử
    • Sửa đổi Schema bằng AI
    • Kiểm tra tuân thủ endpoint
    • Kiểm tra mức độ hoàn chỉnh của tài liệu API
    • Đặt tên trường bằng AI
    • Câu hỏi thường gặp
  • Máy chủ MCP Apidog
    • Tổng quan
    • Kết nối dự án Apidog với AI
    • Kết nối tài liệu đã xuất bản với AI
    • Kết nối tệp OpenAPI với AI
  • Thực hành tốt nhất
    • Xử lý chữ ký API
    • Truy cập các API được bảo vệ bằng OAuth 2.0
    • Quy trình cộng tác
    • Quản lý trạng thái xác thực
  • Không gian ngoại tuyến
    • Tổng quan
  • Apidog Europe
    • Apidog Europe
  • Quản trị
    • Quản lý dự án
      • Quản lý dự án
      • Cài đặt thông báo
      • Quản lý thành viên dự án
      • Tài nguyên dự án
        • Kết nối cơ sở dữ liệu
        • Kết nối Git
    • Quản lý nhóm
      • Quản lý nhóm
      • Quản lý thành viên nhóm
      • Hoạt động của nhóm
      • Vai trò & Quyền của Nhóm
      • Tài nguyên nhóm
        • General Runner
        • Biến nhóm
        • Request Proxy Agent
      • Cộng tác thời gian thực
        • Cộng tác nhóm
    • Danh sách kiểm tra onboarding
      • Khái niệm cơ bản
      • Hướng dẫn nhập môn
    • Quản lý tổ chức
      • Quản lý Tổ chức
      • Vai trò & Quyền trong Tổ chức
      • Quản lý gói
        • Người quản lý thanh toán trong tổ chức
      • Đăng nhập một lần (SSO)
        • Tổng quan về SSO
        • Cấu hình Microsoft Entra ID
        • Cấu hình Okta
        • Cấu hình SSO cho một tổ chức
        • Quản lý tài khoản người dùng
        • Ánh xạ Nhóm tới Đội
      • Cấp phát SCIM
        • Giới thiệu về cấp phát SCIM
        • Microsoft Entra ID
        • Okta
      • Tài nguyên tổ chức
        • Self-Hosted Runner
  • Thanh toán
    • Tổng quan
    • Credits
    • Nâng cấp gói của bạn
    • Phương thức thanh toán thay thế
    • Quản lý đăng ký
    • Chuyển các nhóm trả phí vào tổ chức
  • Tiện ích bổ sung
    • API Hub
    • Apidog Intellij IDEA Plugin
    • Tiện ích mở rộng trình duyệt
      • Chrome
      • Microsoft Edge
    • Proxy yêu cầu
      • Proxy yêu cầu trên Web
      • Proxy yêu cầu trong tài liệu được chia sẻ
      • Proxy yêu cầu trong Client
  • Dữ liệu và bảo mật
    • Lưu trữ và bảo mật dữ liệu
    • Quyền riêng tư và bảo mật dữ liệu người dùng
    • Định tuyến yêu cầu và bảo mật dữ liệu
  • Tham chiếu
    • Phương pháp tiếp cận API Design-First
    • Phần mở rộng Đặc tả OpenAPI của Apidog
    • JSONPath
    • XPath
    • Biểu thức chính quy
    • JSON Schema
    • Định dạng tệp CSV
    • Cài đặt môi trường Java
    • Môi trường triển khai Runner
    • Cú pháp Markdown của Apidog
    • Tiện ích mở rộng Swagger của Apidog
      • Tổng quan
      • x-apidog-folder
      • x-apidog-status
      • x-apidog-name
      • x-apidog-maintainer
    • Tiện ích mở rộng JSON Schema của Apidog
      • Tổng quan
      • x-apidog-mock
      • x-apidog-orders
      • x-apidog-enum
  • Trung tâm hỗ trợ
    • Apidog Support Center
    • Nhập/Xuất
      • Làm thế nào để nhập dữ liệu API vào Apidog?
      • Làm thế nào để import cURL trong Apidog?
      • Làm thế nào để di chuyển môi trường Postman sang Apidog?
      • Cách tự động nhóm các endpoint khi nhập Swagger/OpenAPI?
    • Gửi yêu cầu
      • Apidog có hỗ trợ Socket.IO không?
      • Vì sao dấu "+" trong giá trị tham số được giải mã thành khoảng trắng?
      • Cách gửi yêu cầu trong Apidog?
      • Cách gửi yêu cầu GraphQL trong Apidog?
      • Cách gửi yêu cầu gRPC trong Apidog?
      • Làm thế nào để gửi một yêu cầu SOAP/WebService trong Apidog?
      • Cách gửi yêu cầu WebSocket trong Apidog?
      • Apidog có hỗ trợ script trước yêu cầu/script kiểm thử và khẳng định trong API WebSocket không?
      • Cách gửi yêu cầu SSE trong Apidog?
      • Làm thế nào để thêm header mặc định ở cấp thư mục?
      • Apidog có hỗ trợ script trước yêu cầu/script kiểm thử và khẳng định trong API gRPC không?
      • Lỗi ELANREFUSED.DNS Resolver
      • Tại sao tôi gặp lỗi "socket hang up" khi gửi yêu cầu?
      • Sửa lỗi yêu cầu
        • Khắc phục lỗi read ECONNRESET
        • Khắc phục lỗi ECONNREFUSED
        • Khắc phục lỗi ETIMEDOUT
        • Khắc phục lỗi ENOTFOUND: Couldn't resolve host
        • Khắc phục lỗi ENOTFOUND: getaddrinfo ENOTFOUND www
        • Khắc phục lỗi connect EHOSTUNREACH
    • Thiết kế API
      • Làm thế nào để sử dụng biến trong đường dẫn?
      • Tôi có thể sử dụng một response component làm phản hồi mặc định không?
      • Làm thế nào để kiểm tra ai đã sửa đổi một endpoint?
      • Làm thế nào để tôi xóa hàng loạt các thư mục endpoint trong Apidog?
      • Làm thế nào để tôi thêm/xóa hàng loạt tiền tố vào đường dẫn của endpoint?
      • Cách di chuyển cấp của một thuộc tính trong Schema Editor?
      • Nếu một thuộc tính chuỗi có nhiều giá trị liệt kê và được sử dụng ở nhiều vị trí khác nhau, làm thế nào để enum này có thể được tham chiếu nhất quán trong toàn bộ tài liệu?
      • Làm thế nào để lấy ID thư mục tài nguyên Apidog?
      • Làm thế nào để lấy ID thư mục tài nguyên của Apidog?
      • Làm thế nào để sử dụng biến trong đường dẫn URL?
      • Tôi nên làm gì nếu một endpoint, tài liệu hoặc kịch bản kiểm thử bị xóa nhầm?
      • Apidog có hỗ trợ mã yêu cầu cho endpoint tùy chỉnh không?
      • Làm thế nào để tự động nhóm các endpoint khi nhập Swagger/OpenAPI vào Apidog?
      • Làm thế nào để tạo dữ liệu mảng không trùng lặp trong phản hồi mock?
      • Vì sao không hỗ trợ nhập "#" trong path?
    • Gỡ lỗi API
      • Apidog tích hợp với các hệ thống quản lý khóa của bên thứ ba như thế nào?
      • Tại sao cùng một yêu cầu hoạt động chính xác trong các công cụ khác (chẳng hạn như Postman) nhưng lại không hoạt động trong Apidog?
      • Làm thế nào để lấy giá trị biến từ cơ sở dữ liệu trong Apidog?
      • Làm thế nào để di chuyển môi trường từ các công cụ khác sang Apidog?
      • Làm thế nào để khẳng định bằng script trong Apidog?
      • JSONPath chỉ có thể trích xuất mảng. Làm thế nào để trích xuất một phần tử đơn lẻ từ bên trong mảng trong Apidog?
      • Cách cấu hình thao tác cơ sở dữ liệu trong Apidog khi các môi trường khác nhau có thông tin xác thực tài khoản cơ sở dữ liệu khác nhau?
      • Làm thế nào để lấy URL cơ sở của dịch vụ trong script tùy chỉnh?
      • Tại sao Apidog báo lỗi vượt quá độ dài chuỗi Node.js tối đa khi phản hồi API quá lớn?
      • Giới hạn kích thước khi in ra console là bao nhiêu? Tại sao tôi gặp lỗi khi in các tệp lớn?
      • Cách khắc phục lỗi kết nối cơ sở dữ liệu DB2 trên Windows?
      • Tại sao tôi gặp lỗi NJS-045 khi kết nối với cơ sở dữ liệu Oracle trong Apidog?
      • Cách tạo giá trị động trong script tùy chỉnh của Apidog?
      • Tại sao yêu cầu từ client đến cùng một endpoint thành công, nhưng khi debug trên phía web lại xảy ra lỗi: "Unable to request address"?
      • Tại sao Apidog báo lỗi khi phản hồi quá lớn?
      • Làm thế nào để sử dụng endpoint ghi của Apidog?
      • Khi định nghĩa phản hồi của endpoint, endpoint có được phép không có nội dung phản hồi không?
      • Làm thế nào để lấy service baseURL trong custom script?
      • Làm thế nào để xem gói tin gốc trong Apidog?
      • Tại sao tôi thấy lỗi "Invalid URI xxx" khi thực hiện yêu cầu?
      • Làm thế nào để tạo một yêu cầu bất đồng bộ trong script Apidog?
      • Tại sao tôi thấy thông báo "Couldn't resolve host" khi gửi yêu cầu?
      • Giới hạn kích thước in của console là gì? Tại sao tôi gặp lỗi khi in một tệp lớn?
      • Làm thế nào để tải tệp lên trong một yêu cầu endpoint?
      • Cần làm gì nếu Apidog bị treo hoặc dữ liệu phản hồi không hiển thị?
      • URI chuyển hướng chính thức được Apidog sử dụng cho OAuth2.0
    • Dữ liệu API mock
      • Làm thế nào để mock API tự động?
      • Mocking của Apidog có thể làm gì?
      • Làm thế nào để mock dữ liệu API cố định trong Apidog?
      • Cách mock dữ liệu có điều kiện trong Apidog?
      • Cách bật cloud mock trong Apidog?
      • Làm thế nào để bật mock tự lưu trữ trong Apidog?
      • Apidog có hỗ trợ mock API WebSocket không?
      • Vì sao trình duyệt không trả về nội dung khi yêu cầu mock endpoint?
    • Kiểm thử tự động
      • Vì sao các kịch bản kiểm thử chạy bình thường trên client cục bộ của tôi, nhưng lại xảy ra lỗi khi chạy trong Apidog CLI hoặc runner?
      • Cách tạo một kịch bản kiểm thử trong Apidog?
      • Làm thế nào để truyền dữ liệu giữa các bước kiểm thử?
      • Tại sao tôi không thể tham chiếu thành công dữ liệu bước trước?
      • Cách sử dụng vòng lặp foreach trong Apidog?
      • Sự khác biệt giữa đồng bộ dữ liệu từ endpoint/trường hợp endpoint là gì?
      • Cách sử dụng dữ liệu kiểm thử trong Apidog?
      • Cách truy xuất dữ liệu kiểm thử trong script trong Apidog?
      • Cách chạy hàng loạt các kịch bản kiểm thử trong Apidog?
      • Cách lên lịch tác vụ kiểm thử trong Apidog?
      • Cách chạy kiểm thử hiệu năng trong Apidog?
      • Làm thế nào để tôi xem các yêu cầu và phản hồi thực tế trong các kiểm thử hiệu năng?
      • Làm thế nào để xuất báo cáo kiểm thử hiệu năng trong Apidog?
      • Cách sử dụng kết quả truy vấn cơ sở dữ liệu làm tham số để lặp các yêu cầu API?
      • Capture and Validate Stripe Webhooks in ApiDog During CI/CD
      • Cách khắc phục lỗi "Error: unable to verify the first certificate on runner"?
      • Lỗi "Not Found" của General Runner Docker Container.
      • Cách thiết lập máy chủ lưu trữ server cho General Runner trong phiên bản Web của Apidog?
      • Vì sao kịch bản kiểm thử theo lịch kết thúc với 0 yêu cầu?
      • Tôi nên làm gì nếu không tìm thấy tham số tải tệp lên trong Runner hoặc CLI?
      • Cách sử dụng Runner để chạy một kịch bản kiểm thử có bước tải tệp lên?
      • Làm thế nào để khắc phục lỗi "Error: unable to verify the first certificate on runner"?
      • Làm thế nào để truy cập và tìm kiếm nhật ký runner nhằm xác định vấn đề khi xảy ra sự cố với runner?
      • Tôi nên làm gì nếu tham số endpoint là tệp tải lên và không thể tìm thấy trong Runner hoặc CLI?
      • Tại sao các bước kiểm thử không được tự động đồng bộ hóa khi trường hợp sử dụng API thay đổi?
      • Tại sao việc sử dụng nhiều dấu đô la trong tài liệu Markdown khiến một số nội dung không hiển thị chính xác?
      • Runner tự lưu trữ có tạo báo cáo kiểm thử trên máy chủ sau khi thực thi một tác vụ không?
      • Tôi có thể thêm bộ xử lý trước/sau thống nhất vào các yêu cầu trong một kịch bản kiểm thử không?
      • Làm thế nào để giữ các giá trị động nhất quán trong một lần chạy kiểm thử tự động?
    • Xuất bản tài liệu API
      • Làm thế nào để ẩn tất cả logo Apidog trong tài liệu đã xuất bản?
      • Khi đặc tả API được cập nhật, tài liệu API có thay đổi không?
      • Làm thế nào để chia sẻ API với cộng tác viên trong Apidog?
      • Làm thế nào để tùy chỉnh domain của tài liệu Apidog?
      • Cách tạo tài liệu đa phiên bản trong Apidog?
      • Phạm vi chia sẻ cho Publish Docs Sites trong Apidog
      • Phạm vi chia sẻ cho danh sách Share Doc trong Apidog
      • Tại sao Share Docs đã xuất bản không hiển thị hostname?
      • Người dùng tài liệu có thể sửa đổi Base URL trong tài liệu được chia sẻ như thế nào?
      • Tôi có thể sao chép một tài liệu Apidog đã được xuất bản để sử dụng trong dự án của mình không?
      • Cách chia sẻ header (ví dụ: Token) trong tài liệu trực tuyến của Apidog?
      • Tại sao thành viên trong nhóm của tôi không thể tìm thấy tài liệu đã xuất bản?
      • Làm thế nào để khắc phục lỗi chứng chỉ SSL hết hạn hoặc lỗi Cloudflare 526 trên miền tùy chỉnh của tôi?
      • Cấu hình SMTP tùy chỉnh thành công, nhưng người dùng trong danh sách cho phép không nhận được email OTP
    • Markdown
      • Làm thế nào để sử dụng thẻ để liên kết đến các trang hoặc endpoint khác nhau trong Apidog?
      • Tại sao một số nội dung không hiển thị đúng khi sử dụng nhiều ký hiệu $ trong tài liệu Markdown?
      • Cách sử dụng hình ảnh nền trong suốt trong Apidog Markdown?
      • Làm thế nào để đặt chiều rộng cột của bảng Markdown?
      • Làm thế nào để chèn API nội bộ, tài liệu, schema dữ liệu hoặc thư mục vào tài liệu Markdown?
      • Làm thế nào để thêm liên kết đến tài liệu hoặc endpoint trong một dự án trong thành phần card của Apidog?
    • Nhánh
      • Làm thế nào để truy cập nhánh sprint?
    • Quản trị
      • Cách cài đặt Apidog client ở chế độ im lặng?
      • Tại sao tôi thấy lỗi 'No Permission' dù có quyền admin?
      • Làm thế nào để kiểm tra số phiên bản của runner?
      • Apidog có hỗ trợ win7 không?
      • Tại sao Apidog hiển thị lỗi "Cannot locate program entry point DiscardVirtualMemory in dynamic link library KERNEL32.dll" sau khi cài đặt?
      • Thay đổi gói đăng ký và hoàn tiền
      • Yêu cầu web hoạt động, nhưng ứng dụng gặp lỗi "read ECONNRESET"—Vì sao?
      • Tại sao tôi không thể mở Apidog sau khi cập nhật hệ thống Windows?
      • Tại sao Apidog không mở được sau khi cập nhật hệ thống Windows
    • Thanh toán
      • Tôi có thể thiết lập một tài khoản thanh toán riêng cho nhóm của mình trong Apidog không?
      • Vấn đề về quyền truy cập nhóm và thanh toán trên Apidog
      • Thành viên nhóm được mời không thể truy cập Apidog.
      • Chuyển một Nhóm trả phí cá nhân sang Tổ chức
    • Tại chỗ
      • Quản lý người dùng và quyền truy cập trong phiên bản Apidog Self-Hosted (Enterprise)
    • Web và client
      • Tải xuống và cài đặt phiên bản Linux Desktop
  1. Nhánh

AI Branch (Beta)

AI Branch là một loại Sprint Branch đặc biệt.
Tất cả các thao tác chỉnh sửa được khởi tạo từ Apidog CLI đều được mặc định xem là do AI / AI Agents khởi tạo.
AI Branch được thiết kế để cung cấp cho AI Agents một nhánh chỉnh sửa tách biệt trong các dự án Apidog. Với AI Branch, AI có thể tạo và cập nhật tài nguyên dự án mà không trực tiếp thay đổi nhánh chính hoặc một sprint branch tiêu chuẩn. Sau khi các thay đổi hoàn tất, người dùng có thể xem xét các khác biệt trong client hoặc CLI, sau đó hợp nhất kết quả vào nhánh đích trực tiếp hoặc thông qua một merge request.

Vì sao cần AI Branch#

Các chỉnh sửa do AI khởi tạo có thể khó dự đoán, trong khi Apidog CLI cung cấp nhiều khả năng chỉnh sửa. AI Branch được thiết kế cho các thao tác chỉnh sửa do AI khởi tạo có rủi ro cao hơn này, cho phép AI Agents chỉnh sửa tài nguyên dự án trong một phạm vi được kiểm soát.
Bạn cũng có thể nâng cấp lên Apidog 2.8.31 hoặc phiên bản mới hơn và bật quyền chỉnh sửa trực tiếp cho nhánh chính, sprint branch tiêu chuẩn và nhánh thông thường khi cần trong Project Settings -> Feature Settings -> External AI Edit Permissions. Sau khi được bật, các quyền này sẽ bỏ qua những hạn chế chỉnh sửa trực tiếp vốn thường yêu cầu AI Branch.

AI Branch là gì?#

AI Branch là một sprint branch đặc biệt. Giống như sprint branch tiêu chuẩn, nó lưu trữ các thay đổi đối với tài nguyên dự án. Tuy nhiên, theo mặc định, nó được dùng cho các thao tác AI bên ngoài, chẳng hạn như chỉnh sửa dựa trên CLI, và duy trì một bước xác nhận của con người trước khi các thay đổi được hợp nhất.
Các đặc điểm chính của AI Branch bao gồm:
1.
Chỉnh sửa tách biệt: Các thay đổi được thực hiện từ CLI đối với các tài nguyên như API, tài liệu, mô hình dữ liệu và kịch bản kiểm thử được lưu trữ trong AI Branch và không ảnh hưởng trực tiếp đến nhánh chính hoặc nhánh nguồn.
2.
Nguồn rõ ràng: AI Branches không thể được tạo trực tiếp trong Apidog client. Chúng phải được tạo từ nguồn CLI hoặc MCP. Một AI Branch ghi nhận nhánh nguồn của nó và thường được hợp nhất trở lại nhánh nguồn đó, giúp dễ hiểu hơn về ngữ cảnh của các thay đổi do AI tạo ra.
3.
Xác nhận của con người: Các thay đổi trong AI Branch phải được người dùng xác nhận trước khi được hợp nhất. Người dùng có thể xem xét khác biệt, chọn phạm vi tài nguyên và quyết định hợp nhất trực tiếp hoặc tạo một merge request.
4.
Không giới hạn số lượng: Hiện tại không có giới hạn đang áp dụng đối với số lượng AI Branches có thể được tạo. AI Agents có thể sử dụng chúng để xử lý dữ liệu theo miền nghiệp vụ, vòng lặp phát triển hoặc tính năng.
5.
Tự động lưu trữ: Để ngăn AI Branches tăng trưởng không kiểm soát trong quá trình cộng tác dự án, mỗi AI Branch được so sánh với nhánh nguồn của nó mỗi 24 giờ. Nếu không tìm thấy khác biệt, nó sẽ tự động được lưu trữ. Bạn có thể khôi phục AI Branches đã lưu trữ trong Apidog bất cứ lúc nào, hoặc tạo lại AI Branches mới từ Apidog CLI, không có bất kỳ giới hạn nào.
TIP
AI Branch được dùng để lưu trữ kết quả ghi từ các thao tác AI bên ngoài hoặc CLI. Việc chỉnh sửa, hợp nhất và xem xét thông thường trong client bởi người dùng vẫn tuân theo quyền của thành viên dự án và quy tắc bảo vệ nhánh.

Trường hợp sử dụng#

AI Branch phù hợp khi AI cần tham gia vào việc bảo trì tài nguyên dự án trong khi vẫn phải duy trì tách biệt nhánh và xác nhận của con người.
Kịch bảnMô tả
Tạo bản nháp API từ mã nguồnSau khi đọc mã nguồn, AI tạo hoặc cập nhật các HTTP API endpoints trong một AI Branch. Người dùng xác nhận các thay đổi trước khi hợp nhất.
Tổ chức tài nguyên API hàng loạtAI có thể điều chỉnh thư mục API, thêm mô tả và cập nhật mô hình dữ liệu hoặc thành phần phản hồi mà không ảnh hưởng trực tiếp đến nhánh cộng tác hiện tại.
Tạo bản nháp kiểm thử tự độngAI có thể tạo kịch bản kiểm thử, ca kiểm thử hoặc dữ liệu kiểm thử trong AI Branch để kiểm thử viên xác nhận sau.
Bổ sung thiếu sót trong tài liệu APIAI có thể bổ sung các trường còn thiếu dựa trên báo cáo lỗi, triển khai API hoặc tệp OpenAPI.
Ghi hàng loạt trong CI/CDQuy trình tự động có thể ghi kết quả được tạo vào AI Branch và chờ người dùng xem xét trước khi hợp nhất.

Quy trình cơ bản#

Một quy trình AI Branch điển hình như sau:
1
Tạo một AI Branch và chỉ định nhánh nguồn mà nó dựa trên.
2
Nhập các tài nguyên cần chỉnh sửa vào AI Branch, hoặc tạo tài nguyên mới trong AI Branch.
3
Một AI Agent, CLI hoặc script tự động hóa sửa đổi tài nguyên trong AI Branch.
4
Người dùng xem xét khác biệt giữa AI Branch và nhánh nguồn, sau đó xác nhận phạm vi tài nguyên sẽ được hợp nhất.
5
Tùy theo quy tắc bảo vệ nhánh đích, hợp nhất trực tiếp hoặc tạo merge request.

Tạo AI Branch#

Sử dụng branch create --type ai để tạo AI Branch. Các điểm vào cũ sprint-branch và sb vẫn tương thích, nhưng khuyến nghị sử dụng điểm vào thống nhất branch.
LệnhMô tảVí dụ
branch create --type aiTạo một AI Branch.apidog branch create --project <projectId> --type ai --name "ai/20260312-from-main-userRegister" --from main
branch list --type aiXem AI Branches trong một dự án.apidog branch list --project <projectId> --type ai
branch list --type allXem tất cả các loại nhánh trong một dự án.apidog branch list --project <projectId> --type all
branch get --type aiXem chi tiết của một AI Branch được chỉ định, bao gồm loại nhánh và thông tin nguồn.apidog branch get <branchName> --project <projectId> --type ai
Ví dụ: Tạo AI Branch cho API đăng ký người dùng
TIP
Chúng tôi khuyến nghị đặt tên AI Branches theo định dạng ai/YYYYMMDD-from-sourceBranch-featureOrModule, ví dụ: ai/20260312-from-main-userRegister. Một tên rõ ràng giúp nhóm hiểu nguồn nhánh, mục đích và thời điểm tạo.

Chỉnh sửa tài nguyên trong AI Branch#

Khi CLI ghi tài nguyên dự án, bạn có thể sử dụng các tham số nhánh để ghi những tài nguyên đó vào AI Branch. Các tham số có thể khác nhau đôi chút giữa các lệnh tài nguyên. Trước khi sử dụng, hãy kiểm tra phần trợ giúp lệnh tương ứng và JSON Schema.
Loại tài nguyênLệnh thường dùngVí dụ
HTTP API endpointendpoint create, endpoint updateapidog endpoint create --project <projectId> --branch <aiBranchName> --file ./endpoint.json
Mô hình dữ liệuschema create, schema updateapidog schema update <schemaId> --project <projectId> --branch <aiBranchName> --file ./schema.json
Tài liệu Markdowndoc create, doc updateapidog doc create --project <projectId> --branch <aiBranchName> --file ./doc.json
Kịch bản kiểm thửtest-scenario create, test-scenario updateapidog test-scenario update <scenarioId> --project <projectId> --branch <aiBranchName> --file ./scenario.json
Bộ kiểm thửtest-suite create, test-suite updateapidog test-suite create --project <projectId> --branch <aiBranchName> --file ./suite.json
Dữ liệu kiểm thửtest-data create, test-data updateapidog test-data create --project <projectId> --branch <aiBranchName> --file ./test-data.json
Khi tạo hoặc cập nhật tài nguyên phức tạp, chúng tôi khuyến nghị sử dụng cli-schema trước để xem và xác thực cấu trúc dữ liệu.

Nhập tài nguyên từ nhánh nguồn#

Nếu một AI Branch cần sửa đổi các tài nguyên hiện có, trước tiên hãy sử dụng branch pick-to để nhập tài nguyên từ nhánh nguồn vào AI Branch. Sau khi nhập, AI có thể tiếp tục chỉnh sửa các tài nguyên đó trong AI Branch.
LệnhMô tảVí dụ
branch pick-toNhập tài nguyên từ nhánh nguồn vào AI Branch đích.apidog branch pick-to --project <projectId> --from <sourceBranchName> --to <aiBranchName> --endpoint-ids <ids>
Ví dụ: Nhập endpoints và để AI sửa đổi chúng
TIP
pick-to chỉ nhập các tài nguyên được chỉ định rõ trong lệnh. Nếu cần thư mục, mô hình dữ liệu, thành phần phản hồi hoặc các tài nguyên liên quan khác, hãy xác nhận phạm vi tài nguyên trước khi nhập.

Xem các thay đổi của AI Branch#

Trước khi hợp nhất, chúng tôi khuyến nghị xem trước các thay đổi ứng viên giữa AI Branch và nhánh đích. CLI có thể sử dụng merge-request preview để quét các loại tài nguyên hiện được hỗ trợ. Bạn cũng có thể xem khác biệt nhánh đầy đủ hơn trong client.
LệnhMô tảVí dụ
merge-request previewQuét các thay đổi ứng viên để xác nhận phạm vi tài nguyên trước khi hợp nhất.apidog merge-request preview --project <projectId> --from <aiBranchName> --to <targetBranchName>
branch get --type aiXem thông tin cơ bản của AI Branch.apidog branch get <aiBranchName> --project <projectId> --type ai
Ví dụ: Xem trước các thay đổi ứng viên trước khi hợp nhất
TIP
merge-request preview quét các khác biệt ứng viên cho các loại tài nguyên hiện được CLI hỗ trợ. Đây không phải là diff tài nguyên hoàn chỉnh. Trước lần hợp nhất cuối cùng, chúng tôi vẫn khuyến nghị xác nhận nội dung tài nguyên quan trọng trong client.

Hợp nhất AI Branch#

Sau khi các thay đổi trong AI Branch hoàn tất, bạn có thể hợp nhất chúng trở lại nhánh nguồn hoặc một nhánh đích khác. Đối với các nhánh đích không được bảo vệ, sử dụng branch merge để hợp nhất trực tiếp. Đối với các nhánh chính được bảo vệ, sử dụng merge-request create để tạo merge request và đi qua quy trình xem xét.
LệnhMô tảVí dụ
branch mergeHợp nhất trực tiếp các tài nguyên được chỉ định từ AI Branch.apidog branch merge --project <projectId> --from <aiBranchName> --to <targetBranchName> --endpoint-ids <ids>
merge-request createTạo một merge request.apidog merge-request create --project <projectId> --from <aiBranchName> --to <targetBranchName> --reviewer-ids <userIds> --endpoint-ids <ids>
merge-request approvePhê duyệt một merge request.apidog merge-request approve <mergeRequestId> --project <projectId> --to <targetBranchName> --file ./approve.json
merge-request rejectTừ chối một merge request.apidog merge-request reject <mergeRequestId> --project <projectId> --to <targetBranchName>
Ví dụ: Hợp nhất trực tiếp các thay đổi endpoint
Ví dụ: Tạo một merge request
TIP
Cả hợp nhất trực tiếp và merge request đều chỉ hợp nhất danh sách tài nguyên được cung cấp rõ ràng. Chúng không tự động bao gồm tài nguyên được tham chiếu hoặc tài nguyên thư mục. Khi xác định phạm vi hợp nhất, hãy xác nhận các phụ thuộc giữa endpoints, thư mục, mô hình dữ liệu, thành phần phản hồi và tài nguyên kiểm thử.

Lưu trữ và xóa AI Branch#

Sau khi một AI Branch được hợp nhất hoặc không còn cần thiết, bạn có thể lưu trữ nó trước rồi xóa nó. Trước khi xóa, hãy xác nhận rằng các thay đổi trong nhánh đã được hợp nhất hoặc không còn cần thiết.
LệnhMô tảVí dụ
branch archive --type aiLưu trữ một AI Branch.apidog branch archive <aiBranchName> --project <projectId> --type ai
branch delete --type aiXóa một AI Branch đã lưu trữ.apidog branch delete <aiBranchName> --project <projectId> --type ai

Quyền chỉnh sửa của AI bên ngoài#

Theo mặc định, CLI khuyến nghị ghi tài nguyên dự án thông qua AI Branch. Điều này cho phép các thay đổi do AI tạo ra đi vào một nhánh tách biệt trước và chỉ được hợp nhất sau khi người dùng xác nhận.
Nếu bạn muốn các thao tác AI bên ngoài hoặc CLI chỉnh sửa trực tiếp nhánh chính, sprint branch tiêu chuẩn hoặc nhánh thông thường, hãy bật các quyền tương ứng trong client:
Project Settings - Feature Settings - AI Feature Settings - External AI Edit Permissions
Các công tắc này kiểm soát phạm vi ghi trực tiếp của AI bên ngoài, CLI hoặc các lệnh gọi tự động hóa trên các nhánh dự án. Trước khi bật chúng, hãy xác nhận quy tắc cộng tác của nhóm và yêu cầu bảo mật dữ liệu dự án.
QuyềnMô tả
Quyền chỉnh sửa trực tiếp nhánh chínhCho phép các thao tác AI bên ngoài hoặc CLI ghi trực tiếp vào nhánh chính.
Quyền chỉnh sửa trực tiếp sprint branch tiêu chuẩnCho phép các thao tác AI bên ngoài hoặc CLI ghi trực tiếp vào sprint branch tiêu chuẩn.
Quyền chỉnh sửa trực tiếp nhánh thông thườngCho phép các thao tác AI bên ngoài hoặc CLI ghi trực tiếp vào nhánh thông thường.
Quyền chỉnh sửa trực tiếp AI BranchCho phép các thao tác AI bên ngoài hoặc CLI ghi vào AI Branches do AI tạo và duy trì. Quyền này thường được giữ ở trạng thái bật.
TIP
Để bảo vệ tài nguyên dự án, chúng tôi khuyến nghị để các thao tác AI bên ngoài hoặc CLI ghi vào AI Branch trước và chỉ hợp nhất sau khi người dùng xác nhận. Chỉ bật quyền chỉnh sửa trực tiếp khi một quy trình tự động hóa rõ ràng cần sửa đổi trực tiếp nhánh đích.

Thực hành tốt nhất#

1.
Tạo một AI Branch cho mỗi tác vụ: Mỗi AI Branch nên tương ứng với một tác vụ rõ ràng, chẳng hạn như hoàn thiện API đăng ký người dùng, tổ chức tài liệu mô-đun đơn hàng hoặc tạo kịch bản kiểm thử thanh toán.
2.
Nhập trước khi chỉnh sửa: Khi sửa đổi tài nguyên hiện có, sử dụng pick-to để nhập chúng trước, sau đó cập nhật chúng trong AI Branch nhằm tránh nhầm lẫn về nguồn.
3.
Xem trước khác biệt trước khi hợp nhất: Sử dụng merge-request preview hoặc chế độ xem diff trong client để xác nhận nội dung tài nguyên và các phụ thuộc.
4.
Chọn rõ phạm vi hợp nhất: Các lệnh hợp nhất chỉ xử lý danh sách tài nguyên được cung cấp. Đối với các tài nguyên liên quan như thư mục API, mô hình dữ liệu, thành phần phản hồi và ca kiểm thử, hãy xác nhận chúng cùng nhau.
5.
Duy trì xem xét của con người: Định nghĩa API, script kiểm thử và mô hình dữ liệu do AI tạo nên được thành viên dự án xem xét trước khi hợp nhất.
6.
Lưu trữ nhánh kịp thời: AI Branches đã được hợp nhất hoặc bị bỏ nên được lưu trữ kịp thời để giữ danh sách nhánh rõ ràng.

FAQ#

Sự khác biệt giữa AI Branch và sprint branch tiêu chuẩn là gì?
AI Branch là một sprint branch đặc biệt, chủ yếu được dùng để lưu trữ kết quả ghi từ AI bên ngoài, thao tác CLI hoặc script tự động hóa. Nó ghi nhận nhánh nguồn và khuyến khích người dùng xác nhận khác biệt trước khi hợp nhất. Sprint branch tiêu chuẩn thường được dùng cho cộng tác hằng ngày giữa các thành viên trong nhóm.
AI Branch có ảnh hưởng trực tiếp đến nhánh chính không?
Không. Các thay đổi trong AI Branch trước tiên được lưu trong chính AI Branch đó. Các tài nguyên liên quan chỉ đi vào nhánh đích sau khi người dùng thực hiện hợp nhất trực tiếp hoặc tạo và phê duyệt merge request.
CLI có thể bỏ qua AI Branch và chỉnh sửa trực tiếp dữ liệu dự án bằng cách nào?
Trong một dự án Apidog, hãy đi tới Project Settings - Feature Settings - AI Feature Settings - External AI Edit Permissions, sau đó bật quyền chỉnh sửa trực tiếp cho nhánh chính, sprint branch tiêu chuẩn hoặc nhánh thông thường khi cần. Sau khi các quyền này được bật, các thao tác AI bên ngoài hoặc CLI có thể ghi trực tiếp trong phạm vi nhánh tương ứng.
Các tài nguyên được tham chiếu có tự động được bao gồm khi hợp nhất AI Branch không?
Không. Cả branch merge và merge-request create đều được thực thi theo danh sách tài nguyên được cung cấp rõ ràng. Nếu endpoints tham chiếu đến mô hình dữ liệu, thành phần phản hồi, thư mục hoặc tài nguyên kiểm thử, hãy xác nhận và thêm phạm vi tài nguyên tương ứng trước khi hợp nhất.
Có bắt buộc phải xóa AI Branch sau khi các thay đổi hoàn tất không?
Không. Việc xóa không bắt buộc. Chúng tôi khuyến nghị lưu trữ nhánh sau khi xác nhận rằng các thay đổi của nó đã được hợp nhất hoặc không còn cần thiết, rồi quyết định có xóa nó hay không theo quy ước của nhóm bạn để tránh tích lũy lâu dài các nhánh lịch sử.
Modified at 2026-06-11 10:23:06
Previous
Quản lý Nhánh Sprint
Next
Tổng quan
Built with