AGTCloud API Docs
Hướng dẫnAPI ReferenceTích hợp và tài nguyênCập nhật và hỗ trợ

Quy ước chung

Tìm hiểu các quy tắc về địa chỉ dịch vụ, xác thực, kiểu nội dung, xử lý phản hồi và khôi phục lỗi của AGTCloud API.

Trang này mô tả các quy tắc gọi chung cho các endpoint của AGTCloud API. Các trường, trạng thái và cấu trúc phản hồi cụ thể vẫn theo trang API Reference tương ứng.

Địa chỉ API và Base URL

Địa chỉ API dùng trên trang này là https://api.agtcloud.cn; SDK tương thích OpenAI sử dụng Base URL https://api.agtcloud.cn/v1.

Tình huống sử dụngCấu trúc địa chỉVí dụ
Yêu cầu HTTP trực tiếpĐịa chỉ API + Endpoint Path đầy đủhttps://api.agtcloud.cn + /v1/chat/completions
SDK tương thích OpenAIBase URL + đường dẫn của phương thức SDKhttps://api.agtcloud.cn/v1
Realtime WebSocketĐịa chỉ WebSocket + đường dẫn kết nốiwss://api.agtcloud.cn/v1/realtime?model=MODEL_ID

Tránh nối /v1 hai lần

https://api.agtcloud.cn/v1 đã chứa /v1. Khi dùng SDK tương thích, không thêm /v1 thủ công vào đường dẫn do phương thức SDK tạo, nếu không yêu cầu có thể thành /v1/v1/....

Xác thực

Phần lớn API được bảo vệ sử dụng Bearer API Key:

Authorization: Bearer your-api-key

Anthropic Messages sử dụng Header xác thực riêng và yêu cầu cung cấp phiên bản API:

x-api-key: your-api-key
anthropic-version: 2023-06-01

Header tùy chọn như anthropic-beta và yêu cầu xác thực của các giao thức khác được mô tả trên trang Endpoint tương ứng.

Đến API Keys để tạo và quản lý token. Chỉ gửi API Key khi gọi; không dùng mật khẩu bảng điều khiển, Cookie, token quản trị hoặc Key của nhà cung cấp phía trên.

Dưới đây là một yêu cầu Chat Completions tối thiểu:

curl 'https://api.agtcloud.cn/v1/chat/completions' \
  --request POST \
  --header 'Authorization: Bearer your-api-key' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "MODEL_ID",
    "messages": [
      {
        "role": "user",
        "content": "Xin chào"
      }
    ]
  }'

Xem cách tạo, luân chuyển và lưu API Key trong môi trường sản xuất tại API Key, Base URL và xác thực.

Đặt tham số yêu cầu ở đâu

Trang endpoint hiển thị riêng các trường theo vị trí tham số:

Vị trí tham sốMục đíchVí dụ
Path ParametersĐịnh danh tài nguyên hoặc tác vụ cụ thể/v1/videos/{video_id}
Query ParametersĐiều khiển bộ lọc, biến thể hoặc hình thức đầu ra?variant=video
HeadersTruyền thông tin xác thực và thương lượng nội dungAuthorization, x-api-key, Content-Type
Request BodyTruyền mô hình, đầu vào và tham số tạo nội dungJSON hoặc biểu mẫu Multipart

Tham số Path cần được mã hóa URL trước. Bỏ qua tham số tùy chọn không sử dụng; không dùng chuỗi rỗng để thay thế mọi giá trị tùy chọn.

Content-Type và định dạng dữ liệu

Hình thức dữ liệuContent-Type phổ biếnCách xử lý
Yêu cầu và phản hồi JSONapplication/jsonTuần tự hóa đối tượng yêu cầu và phân tích JSON
Tải lên tệp và biểu mẫumultipart/form-dataĐể HTTP client tạo ranh giới Multipart
Luồng SSEtext/event-streamĐọc dữ liệu liên tục theo ranh giới sự kiện
SDPapplication/sdpDùng cho một số hình thức thương lượng kết nối thời gian thực
Tệp nhị phânvideo/mp4, kiểu phương tiện âm thanh và các loại khácĐọc luồng byte rồi lưu hoặc chuyển tiếp

Khi dùng Multipart, không đặt cứng boundary; để trình duyệt, SDK hoặc HTTP client tạo Content-Type đầy đủ dựa trên nội dung biểu mẫu.

ID mô hình

MODEL_ID trong ví dụ Reference là giá trị giữ chỗ, cần thay bằng ID mô hình khả dụng với API Key hiện tại. Có thể tìm mô hình tại Danh mục mô hình, hoặc nhập Key trong Try It để lấy danh sách mô hình mà Key đó trả về.

Mô hình, giao thức và nhà cung cấp phía trên là các khái niệm khác nhau:

  • ID mô hình xác định mô hình mục tiêu của yêu cầu.
  • Endpoint xác định giao thức và cấu trúc tin nhắn phía máy khách sử dụng.
  • Một mô hình có thể cung cấp nhiều giao thức hoặc chỉ hỗ trợ một phần trường.

Phân tích phản hồi

Nên xử lý phản hồi theo thứ tự sau:

Đọc trạng thái HTTP

Xác định yêu cầu có thành công hay không trước, rồi chọn phân tích đối tượng thành công hoặc thông tin lỗi. Không chỉ dựa vào một trường trong nội dung phản hồi để kết luận.

Kiểm tra Content-Type

Chọn bộ phân tích JSON, SSE, văn bản hoặc nhị phân theo kiểu phương tiện thực tế. Không ép phản hồi API tải xuống thành JSON.

Đọc trường theo giao thức cụ thể

Chat thường trả về choices; Responses, Gemini, tác vụ bất đồng bộ và WebSocket sử dụng cấu trúc khác nhau. Phía máy khách không nên giả định mọi API cùng dùng một đối tượng phản hồi.

Lưu thông tin truy vết

Lưu thời gian yêu cầu, Method, Path, mô hình và trạng thái HTTP. Lưu cả Request ID nếu có trong phản hồi, nhưng không ghi API Key đầy đủ hoặc đầu vào nhạy cảm.

Phản hồi dạng luồng

API SSE liên tục gửi nhiều sự kiện hoặc khối dữ liệu trong một phản hồi HTTP. Phía máy khách phải đọc nội dung tăng dần, thay vì chờ kết nối đóng rồi phân tích toàn bộ phản hồi thành một đối tượng JSON.

  • Nhận diện sự kiện hoặc dấu kết thúc theo mô tả của endpoint.
  • Xử lý riêng nội dung tăng dần, gọi công cụ, Usage và sự kiện lỗi.
  • Khi mạng gián đoạn, không mặc định xem nội dung đã nhận là kết quả hoàn chỉnh.
  • Mỗi giao thức có cấu trúc sự kiện dạng luồng riêng; dùng định nghĩa sự kiện của endpoint hiện tại.

Tác vụ bất đồng bộ

Các API như video và Midjourney thường trả về định danh tác vụ trước, rồi dùng API truy vấn để lấy tiến độ và kết quả cuối cùng:

Gửi tác vụ → Lưu ID tác vụ → Truy vấn trạng thái → Kiểm tra trạng thái kết thúc → Đọc kết quả

Tên trường ID tác vụ, giá trị trạng thái và đường dẫn truy vấn phụ thuộc vào giao thức cụ thể. Không dùng lẫn id, task_id, video_id hoặc giá trị trạng thái giữa các API.

Đặt khoảng thời gian truy vấn và tổng thời gian chờ khi thăm dò, rồi dừng khi tác vụ thành công, thất bại hoặc bị hủy. Nếu yêu cầu gửi tác vụ hết thời gian chờ nhưng tác vụ có thể đã được tạo, hãy xác nhận trạng thái trước để tránh tạo tác vụ tính phí trùng lặp.

Trạng thái HTTP và thử lại

Dưới đây là hướng xử lý chung; cấu trúc lỗi cụ thể theo phản hồi thực tế của endpoint:

Trạng thái HTTPÝ nghĩa phổ biếnCách xử lý đề xuất
400Định dạng yêu cầu, trường hoặc tổ hợp trường không hợp lệSửa yêu cầu trước khi gửi lại
401API Key bị thiếu, không hợp lệ hoặc Header xác thực sai định dạngKiểm tra thông tin xác thực và trạng thái Key
403Tài khoản, Key hoặc tài nguyên hiện tại không có đủ quyềnKiểm tra địa chỉ dịch vụ, quyền và trạng thái tài khoản
404Đường dẫn, mô hình, tác vụ hoặc tài nguyên không tồn tạiKiểm tra URL, ID mô hình và ID tài nguyên
429Yêu cầu bị giới hạn bởi tần suất, số yêu cầu đồng thời hoặc hạn mứcChờ theo thông tin phản hồi rồi thử lại có giới hạn
5xxNền tảng hoặc dịch vụ phía nhà cung cấp gặp lỗi tạm thờiThử lại có giới hạn với thời gian chờ tăng dần

Không thử lại vô hạn với mọi lỗi. Lỗi tham số, xác thực hoặc quyền chỉ nên gửi lại sau khi đã sửa; với yêu cầu có thể tạo tác dụng phụ như tạo tác vụ, cần xác định xem đã gửi thành công hay chưa.

Xem các bước chẩn đoán đầy đủ hơn tại Lỗi và khắc phục sự cố.

Usage, thời gian và trường mở rộng

  • Việc trường Usage có tồn tại hay không và tên trường phụ thuộc vào giao thức cùng mô hình; phía máy khách phải chấp nhận giá trị rỗng hoặc trường bị thiếu.
  • Trường thời gian có thể dùng giây Unix, mili giây Unix hoặc chuỗi thời gian; phải phân tích theo Schema của endpoint.
  • Trường mở rộng của nhà cung cấp thường chỉ áp dụng cho một số mô hình, không phải khả năng chung của tất cả mô hình.
  • Khi phân tích phản hồi, phía máy khách nên chấp nhận trường mới không quan trọng để tránh việc thêm trường tương thích khiến toàn bộ quá trình phân tích thất bại.

An toàn và log

  • API Key dài hạn nên lưu trên máy chủ đáng tin cậy hoặc hệ thống quản lý khóa; không tích hợp sẵn Key trong frontend trong môi trường production, ứng dụng máy tính hoặc di động.
  • Try It trong tài liệu chỉ dùng cho việc thử tạm thời trong trình duyệt do khách hàng chủ động thực hiện; không dùng Key dài hạn của môi trường production trên thiết bị dùng chung.
  • Không ghi Key vào kho mã công khai, ảnh chụp màn hình, log hoặc phiếu hỗ trợ.
  • Che dữ liệu nhạy cảm trong Prompt, địa chỉ tệp, thông tin tài khoản và dữ liệu yêu cầu, phản hồi trước khi gửi tài liệu chẩn đoán.
  • Vô hiệu hóa hoặc xóa ngay Key không còn dùng hay nghi bị lộ và cập nhật các dịch vụ sử dụng Key đó.

Đọc tiếp: API Reference · Bắt đầu nhanh · Lỗi và khắc phục sự cố

Trên trang này