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. Xuất bản tài liệu API
  • 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. Xuất bản tài liệu API

CSS, JavaScript, HTML tùy chỉnh

Khi xuất bản tài liệu API, bạn có thể thêm HTML, CSS và JavaScript toàn cục tùy chỉnh để cá nhân hóa kiểu trang và mở rộng chức năng.
Tính năng này hữu ích cho:
Nhúng các dịch vụ bên thứ ba (ví dụ: chatbot, trợ lý AI)
Sửa đổi kiểu mặc định (ví dụ: phông chữ, màu sắc, nền)
Thêm các phần tử tương tác (ví dụ: nút, popup, phản hồi nhanh)
Bằng cách sử dụng tính năng này một cách hợp lý, tài liệu của bạn có thể phản ánh tốt hơn bản sắc thương hiệu và cải thiện trải nghiệm người dùng.

CSS#

Với CSS tùy chỉnh, bạn có thể thay đổi phông chữ, ẩn phần tử, điều chỉnh lề, thay đổi màu sắc, v.v.
Vì cấu trúc tài liệu có thể thay đổi trong các bản cập nhật tương lai, chúng tôi khuyến nghị tuân theo hai nguyên tắc sau để bảo đảm các kiểu của bạn vẫn hiệu quả:
1.
Sử dụng các biến CSS được dành riêng
2.
Sử dụng các tên lớp CSS được dành riêng

Sử dụng các biến CSS được dành riêng#

Apidog cung cấp một tập hợp các biến CSS có tiền tố --g- để kiểm soát các kiểu trang cơ bản như phông chữ, màu sắc và nền. Các biến này thích ứng tốt với cả chế độ sáng và tối, giúp kiểu của bạn ổn định và dễ bảo trì hơn.
Tham chiếu các biến thông dụng
Ví dụ: Thay đổi màu văn bản chính

Sử dụng các tên lớp CSS được dành riêng#

Để nhắm mục tiêu các khu vực cụ thể nhằm định kiểu, hãy sử dụng các tên lớp được Apidog dành riêng với tiền tố .g-. Các tên lớp này tương đối ổn định và ít có khả năng bị hỏng do thay đổi DOM.
Tham chiếu các lớp CSS thông dụng
Ví dụ: Ẩn thanh bên trái

Kiểm tra cấu trúc trang và tên lớp#

Ngoài các biến CSS và tên lớp được dành riêng đã nêu ở trên, bạn cũng có thể sử dụng công cụ dành cho nhà phát triển của trình duyệt để tìm tên lớp tương ứng với phần tử trang mà bạn muốn sửa đổi, sau đó viết CSS để điều chỉnh kiểu.
Khuyến nghị ưu tiên sử dụng các tên lớp bắt đầu bằng .g-. Các tên này được nền tảng dành riêng, có cấu trúc tương đối ổn định và không dễ bị lỗi. Đối với các tên lớp cấu trúc khác, vui lòng sử dụng thận trọng để tránh lỗi kiểu sau khi nâng cấp sản phẩm.
Bạn có thể mở site tài liệu đã xuất bản trong trình duyệt và sử dụng công cụ dành cho nhà phát triển (chế độ nhà phát triển/console) để xem cấu trúc trang và tên lớp kiểu:
Mac: Command + Option + Ihoặcfn + F12
Windows: Ctrl + Shift + Ihoặcfn + F12hoặcF12
Sau khi mở, hãy nhấp vào "Element Selector" (biểu tượng con trỏ chuột), sau đó nhấp vào bất kỳ khu vực nào trên trang để xem các thẻ HTML và tên lớp tương ứng với khu vực đó.
Bạn cũng có thể sử dụng chức năng tìm kiếm (Cmd/Ctrl + F) để định vị một tên lớp.
image.png

JavaScript#

JavaScript tùy chỉnh được dùng để nhúng các dịch vụ bên thứ ba như trợ lý AI hoặc tiện ích hỗ trợ. Lưu ý: Trường JavaScript tùy chỉnh của Apidog không hỗ trợ thẻ <script> hoặc <style>. Bạn phải chuyển đổi chúng thành JavaScript thuần. Ví dụ:
❌ Bản gốc (không được hỗ trợ)
✅ Đã chuyển đổi sang JavaScript thuần
Nếu bạn muốn nhúng một script hoặc style của bên thứ ba nhưng không chắc cách viết lại thành định dạng JS thuần, bạn có thể sao chép prompt bên dưới và dán vào một công cụ AI (chẳng hạn như Claude) để AI giúp bạn tự động chuyển đổi:
I'm using Apidog's "Custom JavaScript" feature, which only allows pure JavaScript (no <script> or <style> tags).

Please convert the following code to pure JavaScript. Here are the requirements:
1. Rewrite the <script> tag to document.createElement('script') dynamic creation method;
2. Inject the <style> content into the newly created style tag and insert the head;
3. Please use standard methods (such as createElement, appendChild) for all DOM operations, and do not use document.write;
4. If the original code uses `window.addEventListener('DOMContentLoaded', ...)` or `window.addEventListener('load', ...)` only to wait for the page before running code, remove the event listener and run the code directly. Apidog executes custom JavaScript after the documentation page has been rendered, so the browser's `load` event may already have passed by that time; code registered inside a `load` listener may not be executed;
5. The final generated JavaScript should be able to run directly in the browser without any explanation.

Original code:
---
(paste your code here)
---
Vì lý do bảo mật, JavaScript tùy chỉnh chỉ hoạt động khi truy cập tài liệu qua tên miền tùy chỉnh.
Nếu bạn truy cập thông qua địa chỉ tài liệu mặc định do Apidog cung cấp (chẳng hạn như bắt đầu bằng https://xxx.apidog.io/), JS tùy chỉnh sẽ không được tải và thực thi.
Vui lòng bảo đảm rằng bản thân mã là đáng tin cậy để tránh ảnh hưởng đến việc tải bình thường hoặc phá hủy cấu trúc trang.
JavaScript tùy chỉnh được thực thi sau khi trang tài liệu đã được render. Vì sự kiện load của trình duyệt có thể đã xảy ra vào thời điểm đó, mã đặt bên trong window.addEventListener('load', ...) có thể không chạy. Trong hầu hết trường hợp, hãy chạy mã của bạn trực tiếp thay vào đó:

Ví dụ: Hộp có thể mở rộng/thu gọn#

Nhấp vào nút bên dưới để mở rộng/thu gọn hộp thoại iframe
Script cho "Nhấp vào nút để mở rộng/thu gọn hộp thoại iframe"
Cách sử dụng:
1
Dán mã vào khu vực "Custom JavaScript" của Apidog.
2
Truy cập các site tài liệu qua tên miền tùy chỉnh của bạn
3
Một nút xuất hiện ở góc dưới bên phải; nhấp để mở iframe trò chuyện.
4
Thay iframe.src bằng dịch vụ AI của bạn, ví dụ:
CSS và JavaScript tùy chỉnh

Ví dụ: Nhúng tiện ích Chatbase#

Script cho "Nhúng tiện ích trò chuyện Chatbase"
Cách sử dụng:
1
Tạo một ứng dụng Chatbase, lấy mã nhúng, chuyển đổi mã đó sang JS thuần bằng prompt ở trên.
image.png
Dán mã đã chuyển đổi vào phần Custom JS của Apidog.
2
Truy cập các site tài liệu qua tên miền tùy chỉnh của bạn.
3
Một nút sẽ xuất hiện ở góc dưới bên phải. Nhấp vào nút đó để mở một cửa sổ hộp thoại.
CSS và JavaScript tùy chỉnh

HTML#

Tính năng HTML hiện đang được phát triển. Vui lòng chờ bản phát hành.

Câu hỏi thường gặp#

Custom JS không hoạt động?
Hãy bảo đảm rằng bạn đang truy cập tài liệu qua tên miền tùy chỉnh. JavaScript tùy chỉnh chỉ được thực thi khi sử dụng tên miền tùy chỉnh đã được liên kết.
Tôi có nên sử dụng 'load' hoặc 'DOMContentLoaded' trong JavaScript tùy chỉnh không?
Modified at 2026-06-11 10:23:06
Previous
Bố cục tùy chỉnh
Next
Tên miền tùy chỉnh
Built with