mô hình

Anthropic: Claude Sonnet 4.5 (batch)

Markdown · JSON

Anthropic: Claude Sonnet 4.5 (batch)

Claude Sonnet 4.5 là mô hình văn bản và hình ảnh của Anthropic dành cho phát triển phần mềm, tác nhân phức tạp, sử dụng máy tính và công việc phân tích. Mô hình hỗ trợ trả lời trực tiếp hoặc suy nghĩ mở rộng được điều khiển thủ công, với suy luận giữa các lần gọi công cụ trong quy trình beta được công bố.

Về mô hình

Mô tả này trình bày khả năng của mô hình. Đầu vào, đầu ra và tùy chọn có trên Ailoot được liệt kê bên dưới cho phương thức đã chọn.

Claude Sonnet 4.5 là phiên bản Sonnet của Anthropic tập trung vào phát triển phần mềm, nhiệm vụ tác nhân phức tạp và sử dụng máy tính, với cải thiện về suy luận và toán học. Mô hình nhận văn bản, hình ảnh và tạo văn bản. Thông tin phát hành mô tả công việc kéo dài qua nhiều bước, khả năng hiểu mã và những thay đổi liên quan đến phạm vi dự án rộng hơn thay vì một hàm riêng lẻ. Bản giao việc hữu ích xác định hành vi cần có, tài liệu nguồn liên quan và sản phẩm cần tạo: bản vá được đề xuất, lời giải thích phần triển khai, bản phân tích tài liệu hoặc câu trả lời có cấu trúc.

Với công việc phần mềm, cung cấp các ràng buộc của dự án, tệp hoặc đoạn trích liên quan, lỗi đã quan sát được và ví dụ cụ thể về kết quả mong muốn. Yêu cầu phần mã bị tác động và lời giải thích cách thay đổi được đề xuất xử lý ví dụ đó. Nhà sản xuất giới thiệu mô hình phù hợp để xây dựng tác nhân và thực hiện nhiệm vụ phát triển bằng công cụ. Ứng dụng bao quanh mô hình đọc, sửa tệp, chạy lệnh hoặc phép kiểm tra và trả về đầu ra thực tế; mô hình suy luận dựa trên bằng chứng đó. Trong báo cáo cuối, phân biệt thay đổi được đề xuất với phép kiểm tra đã hoàn tất.

Sử dụng máy tính là một ứng dụng riêng của khả năng thị giác và tác nhân. Thông tin phát hành của Anthropic minh họa tương tác trình duyệt, điều hướng trang và làm việc với bảng tính qua môi trường được kết nối. Bản giao việc về hình ảnh có thể cung cấp ảnh chụp màn hình, xác định mục tiêu và quy định hành động nào ứng dụng cho phép. Ứng dụng sau đó thực hiện tương tác được chọn và trả về màn hình đã thay đổi hoặc kết quả khác. Tương tự, mô hình có thể chuẩn bị nội dung và mã cho tài liệu, bảng tính, trang trình chiếu, còn môi trường tạo tệp hoàn chỉnh. Khả năng hiểu văn bản và hình ảnh không biến mô hình thành bộ tạo hình ảnh hoặc âm thanh vốn có.

Thông số chính xác của nhà sản xuất liệt kê cửa sổ ngữ cảnh 200K token và đầu ra tối đa 64K token. Mốc giới hạn kiến thức đáng tin cậy là tháng Một năm 2025, khác với mốc dữ liệu huấn luyện muộn hơn được liệt kê trên trang. Trong đầu vào dài, giữ rõ ranh giới tài liệu, nhãn trang, đơn vị và định danh mã, đồng thời chừa chỗ cho câu trả lời được yêu cầu và phần suy luận. Nhà sản xuất còn công bố khả năng nhận biết ngữ cảnh cho phiên bản này, nên quy trình được hỗ trợ theo dõi dung lượng còn lại trong hội thoại. Điều đó giúp quản lý nhiệm vụ kéo dài trong cửa sổ của mô hình; không thay cửa sổ này bằng dung lượng lớn hơn của một phiên bản Sonnet về sau.

Sonnet 4.5 hỗ trợ câu trả lời thông thường và suy nghĩ mở rộng được điều khiển thủ công. Ở chế độ sau, budget_tokens đặt mục tiêu cho phần suy luận nội bộ trước câu trả lời hiển thị. Mức tối thiểu được công bố là 1,024 token và hạn mức thường phải nhỏ hơn max_tokens vì phần suy nghĩ cùng câu trả lời cuối dùng chung hạn mức sinh. Hạn mức này là mục tiêu, không phải cam kết sử dụng đúng từng ấy token. Phiên bản này không có chế độ suy nghĩ thích ứng hoặc điều khiển mức nỗ lực được mô tả cho các mô hình Sonnet về sau. Chọn độ sâu phân tích mong muốn và chừa đủ hạn mức cho câu trả lời cuối có thể sử dụng.

Tính năng beta suy nghĩ xen kẽ của nhà sản xuất cho phép Sonnet 4.5 suy luận giữa các lần gọi công cụ trong cùng một lượt, sử dụng quan sát được trả về để quyết định bước tiếp theo. Tính năng này yêu cầu khả năng beta được công bố trong quy trình Messages được hỗ trợ. Trong trường hợp này, hạn mức suy nghĩ có thể vượt max_tokens vì bao quát nhiều khối suy nghĩ trong cùng một lượt của trợ lý. Trả kết quả công cụ cùng nội dung suy nghĩ liên quan mà không chỉnh sửa, kể cả chữ ký; chỉnh sửa nội dung đó sẽ làm nó mất hiệu lực. Vì vậy, nhiệm vụ nghiên cứu hoặc gỡ lỗi có thể xen kẽ phép kiểm tra được đề xuất, kết quả thực tế trả về và phân tích cập nhật mà không xem đề xuất bằng văn bản là hành động đã hoàn tất.

Với tài liệu hình ảnh, nhà sản xuất hỗ trợ JPEG, PNG, GIF và WebP, đồng thời chỉ sử dụng khung hình đầu của ảnh động. Cấp hình ảnh tiêu chuẩn vốn có được phiên bản này sử dụng có giới hạn cạnh dài 1,568 pixel và giới hạn 1,568 token thị giác; hình ảnh lớn hơn được thu nhỏ. Hướng dẫn hình ảnh của nhà sản xuất liệt kê tối đa 100 hình ảnh mỗi yêu cầu API cho mô hình có ngữ cảnh 200K, nhưng các điều kiện về hình ảnh và tổng kích thước yêu cầu có thể chạm giới hạn trước. Khi thuận tiện, đặt hình ảnh trước câu hỏi, ghi nhãn nhiều hình ảnh và giữ rõ chữ nhỏ hoặc nhãn biểu đồ. Hướng dẫn khuyến nghị hình ảnh rõ ràng và giữ đủ ngữ cảnh xung quanh để diễn giải chi tiết nhìn thấy.

Chỉnh sửa ngữ cảnh và công cụ bộ nhớ được giới thiệu cùng mô hình này để hỗ trợ quy trình tác nhân dài hơn. Đây là các cách do ứng dụng hỗ trợ để giữ trạng thái hữu ích hoặc loại bỏ nội dung công cụ cũ; chúng không phải bộ nhớ mô hình vô hạn hay tính năng nén ngữ cảnh phía máy chủ về sau. Với nhiệm vụ nhiều giai đoạn, giữ quyết định đã chốt, câu hỏi còn mở và bằng chứng cần cho bước tiếp theo. Anthropic còn mô tả khả năng chống chỉ dẫn ẩn trong nội dung bên ngoài tốt hơn, đồng thời lưu ý rằng bộ phân loại riêng của mô hình đôi khi có thể gắn cờ tài liệu vô hại. Kết quả hữu ích vẫn là sản phẩm có thể xem xét, gắn với bằng chứng được cung cấp, trong đó chế độ và giới hạn chính xác của Sonnet 4.5 được tách biệt với các phiên bản phát hành về sau.

Ailoot Ultra · Xử lý hàng loạt POST /v1/batches anthropic/claude-sonnet-4.5:batch

anthropic/claude-sonnet-4.5:batch

Anthropic /anthropic/claude-sonnet-4.5:batch

Bắt đầu

Claude Sonnet 4.5 là mô hình văn bản và hình ảnh của Anthropic dành cho phát triển phần mềm, tác nhân phức tạp, sử dụng máy tính và công việc phân tích. Mô hình hỗ trợ trả lời trực tiếp hoặc suy nghĩ mở rộng được điều khiển thủ công, với suy luận giữa các lần gọi công cụ trong quy trình beta được công bố.

Đầu vào được chấp nhận
Văn bản
Kết quả
Văn bản

Có trên Ailoot · đầu vào & phương thức

Ailoot Ultra · Xử lý hàng loạt POST /v1/batches
Đầu vào
text
Đầu ra
text
Định dạng đầu ra
JSON nội tuyến tại results[].response.body
TrườngLoạiYêu cầuGiá trị & giới hạnMặc định
TrườngendpointLoạistringYêu cầuBắt buộcGiá trị & giới hạn
/v1/chat/completions
Mặc định—
TrườngmodelLoạistringYêu cầuBắt buộcGiá trị & giới hạn
anthropic/claude-sonnet-4.5:batch
Mặc định—
TrườngrequestsLoạibatch_item[]Yêu cầuBắt buộcGiá trị & giới hạn
Số mục tối thiểu: 1
Mặc định—
Trườngrequests[].custom_idLoạistringYêu cầuBắt buộcGiá trị & giới hạnMặc định—
Trườngrequests[].body.messagesLoạimessage[]Yêu cầuBắt buộcGiá trị & giới hạnMặc định—
Trườngcompletion_windowLoạistringYêu cầuKhông bắt buộcGiá trị & giới hạn
24h
Mặc định—
TrườngproviderLoạiobject|nullYêu cầuKhông bắt buộcGiá trị & giới hạnMặc định—
Trườngrequests[].body.modelLoạistringYêu cầuKhông bắt buộcGiá trị & giới hạn
anthropic/claude-sonnet-4.5:batch, anthropic/claude-sonnet-4.5
Mặc định—
Trườngprovider.onlyLoạistring[]Yêu cầuKhông bắt buộcGiá trị & giới hạn
anthropic
Mặc định—
Trườngprovider.allow_fallbacksLoạiboolean|nullYêu cầuKhông bắt buộcGiá trị & giới hạn
false, null
Mặc định—
Tham số phương thức và vòng đời
Tham sốHợp đồng
Tham sốcontent_typeHợp đồngapplication/json
Tham sốrequiredHợp đồngendpoint, model, requests
Tham sốmaterial_typesHợp đồngtext
Tham sốrepresentationHợp đồngrequests[] nội tuyến; mỗi phần tử có custom_id và body
Tham sốrequest_endpoint_profileHợp đồng/v1/chat/completions
Tham sốfile_materialHợp đồngBên gọi có thể đọc dữ liệu JSONL UTF-8 thực tế trên máy cục bộ vào requests[]. Không sử dụng mục đích tải lên, input_file_id hay tham chiếu tệp. Nếu thiếu tài liệu của khách hàng hoặc tài liệu rỗng, dừng khâu chuẩn bị trước POST.
Tham sốserialization_orderHợp đồngendpoint, model, provider (nếu được cung cấp), completion_window (nếu được cung cấp), requests ở cuối
Tham sốoptional_controlsHợp đồngprovider.only, provider.allow_fallbacks, completion_window
Tham sốschema_scopeHợp đồngPhần thân yêu cầu Chat Completions dạng văn bản trong cấu trúc Batch nội tuyến được mô tả trong tài liệu.

Vòng đời: asynchronous

GET /v1/batches/{operation_id} · response.id thực tế từ phản hồi tạo gốc; cùng người dùng/khóa/nhóm

Bảng giá

Thông tin biểu giá không bổ sung tùy chọn yêu cầu. Các tham số được hỗ trợ nằm trong phương thức đã chọn.

Chế độ nhanh
Chưa chỉ định Khi chọn chế độ nhanh
Chế độ Flex
Chưa chỉ định Khi chọn chế độ flex
Mức độ suy luận tối đa
Chưa chỉ định Khi áp dụng mức điều chỉnh mặc định (default) cho mức độ suy luận tối đa
Giá lưu đệm tường minh
Đã bật Khi yêu cầu lưu đệm tường minh

Mức phí Ailoot

Giá theo cấu hình

Đối chiếu từng khoản phí với điều kiện hiển thị. Dùng một mức phí cho mỗi nhóm cấu hình thay thế.

Cấu hìnhBiểu mức phíToken ngữ cảnh, lớn hơnToken ngữ cảnh, tối đa và bao gồmPhí
Cấu hìnhGiá cơ sở cho tokenBiểu mức phíMức phí cơ bảnToken ngữ cảnh, lớn hơn—Token ngữ cảnh, tối đa và bao gồmKhông có giới hạn trênPhí
Đầu vào · Token đầu vào $0.003 / 1K token
Đầu ra · Token đầu ra $0.015 / 1K token
Đầu vào · Đọc bộ nhớ đệm $0.0003 / 1K token
Đầu vào · Ghi bộ nhớ đệm $0.00375 / 1K token
Đầu vào · Ghi bộ nhớ đệm, 1 giờ $0.006 / 1K token
Cấu hìnhBậc 1 theo độ dài yêu cầuBiểu mức phí—Token ngữ cảnh, lớn hơn0Token ngữ cảnh, tối đa và bao gồm200.000Phí
Đầu vào · Token đầu vào $0.003 / 1K token
Đầu ra · Token đầu ra $0.015 / 1K token
Đầu vào · Đọc bộ nhớ đệm $0.0003 / 1K token
Đầu vào · Ghi bộ nhớ đệm $0.00375 / 1K token
Đầu vào · Ghi bộ nhớ đệm, 1 giờ $0.006 / 1K token
Cấu hìnhBậc 2 theo độ dài yêu cầuBiểu mức phí—Token ngữ cảnh, lớn hơn200.000Token ngữ cảnh, tối đa và bao gồmKhông có giới hạn trênPhí
Đầu vào · Token đầu vào $0.006 / 1K token
Đầu ra · Token đầu ra $0.0225 / 1K token
Đầu vào · Đọc bộ nhớ đệm $0.0006 / 1K token
Đầu vào · Ghi bộ nhớ đệm $0.0075 / 1K token
Đầu vào · Ghi bộ nhớ đệm, 1 giờ $0.012 / 1K token

Ailoot tạm giữ một khoản ước tính trước yêu cầu. Sau khi có kết quả, phí cuối cùng được quyết toán theo mức sử dụng đo được. Việc quyết toán khi truyền luồng dùng bản ghi mức sử dụng cuối cùng. Cách hoạt động của cơ chế tạm giữ và quyết toán →

Ví dụ yêu cầu

Ailoot Ultra · Xử lý hàng loạt

curl · mẫu kiểm thử đã lưuPython HTTP · JSONL thực tế của khách hàngPython · lưu từng kết quả đã hoàn tất
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json
from pathlib import Path
body=json.loads('{"endpoint":"/v1/chat/completions","model":"anthropic/claude-sonnet-4.5:batch","requests":[{"custom_id":"req-0001","body":{"messages":[{"role":"user","content":"Hello!"}],"max_tokens":16}}]}')
Path("batch-request.json").write_text(json.dumps(body,ensure_ascii=False),encoding="utf-8")
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json
import json, os
from pathlib import Path
from urllib.request import Request, urlopen

def prepare_requests(customer_path):
    path = Path(customer_path)
    if not path.is_file(): raise ValueError("Customer JSONL file is missing")
    items = [json.loads(line) for line in path.read_text(encoding="utf-8").splitlines() if line.strip()]
    if not items: raise ValueError("Customer JSONL contains no requests")
    ids = set()
    for item in items:
        if set(item) != {"custom_id", "body"}: raise ValueError("Each item needs custom_id and body")
        cid = item["custom_id"]
        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError("custom_id must be nonempty and unique")
        ids.add(cid)
        if not isinstance(item["body"], dict) or not item["body"].get("messages"): raise ValueError("Supply actual text messages")
        supplied_model = item["body"].get("model")
        if supplied_model is not None and supplied_model not in ['anthropic/claude-sonnet-4.5:batch', 'anthropic/claude-sonnet-4.5']: raise ValueError("body.model must be an exact documented caller or wire ID")
    return {"endpoint":"/v1/chat/completions", "model":"anthropic/claude-sonnet-4.5:batch", "requests":items}

if __name__ == "__main__":
    material = os.environ.get("AILOOT_BATCH_REQUESTS_JSONL", "")
    if not material: raise SystemExit("Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file")
    body = prepare_requests(material)
    key = os.environ.get("AILOOT_API_KEY", "")
    if not key: raise SystemExit("Set AILOOT_API_KEY")
    request = Request("https://api.ailoot.ai/v1/batches", data=json.dumps(body, ensure_ascii=False).encode("utf-8"), headers={"Authorization":"Bearer " + key, "Content-Type":"application/json"}, method="POST")
    with urlopen(request) as response:
        raw = response.read()
        Path("batch-create-response.json").write_bytes(raw)
        print(raw.decode("utf-8"))
import json
from pathlib import Path
raw = Path("batch-status-response.json").read_bytes()
response = json.loads(raw)
if response.get("status") != "completed":
    raise SystemExit("Keep the original operation; read its status without resubmitting")
results = response.get("results")
if not isinstance(results, list) or not results:
    raise SystemExit("Preserve the original response; completed results are missing")
Path("batch-results.jsonl").write_text("".join(json.dumps(item, ensure_ascii=False) + "\n" for item in results), encoding="utf-8")
# Preserve batch-status-response.json with aggregate usage and every result/error.

Nhận và lưu kết quả

Ailoot Ultra · Xử lý hàng loạt

JSON nội tuyến tại results[].response.body

  • GET /v1/batches/{operation_id}
Kiểm tra trạng thái tác vụ
curl · trạng thái thao tác gốc
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
BATCH_OPERATION_ID="$(python3 - <<'PY_ID'
import json
from pathlib import Path
from urllib.parse import quote
response = json.loads(Path("batch-create-response.json").read_text(encoding="utf-8"))
operation = response.get("id")
if not isinstance(operation, str) or not operation: raise SystemExit("No actual original operation ID; preserve the response and do not resubmit")
print(quote(operation, safe=""))
PY_ID
)"
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o batch-status-response.json
Lưu tất cả kết quả đã hoàn tất

Lưu mọi phản hồi hoàn chỉnh, tệp và phần nội dung được trả về.

Giữ lại toàn bộ JSON trạng thái gốc, mọi kết quả/custom_id và toàn bộ phần thân phản hồi hoặc lỗi. Lưu results[] đã hoàn tất dưới dạng JSONL mà không lọc.

Nếu cần kiểm tra phản hồi gốc

Giữ nguyên ID thao tác gốc. Phản hồi 503 result_pending_check có X-Should-Retry:false; tuyệt đối không gửi lại lô gốc có trạng thái chưa xác định.

Trường phản hồi
TrườngLoại
Trườngresults[].custom_idLoạistring
Trườngresults[].response.body.choices[].message.contentLoạistring|null
Trườngresults[].errorLoạiobject|null
TrườngusageLoạiobject|null
TrườngidLoạistring
TrườngmodelLoạistring
TrườngendpointLoạistring
TrườngstatusLoạistring
Trườngrequest_countsLoạiobject
Trườngresults[].idLoạistring
Trườngresults[].response.status_codeLoạiinteger
Trườngresults[].response.request_idLoạistring
Lỗi và bước tiếp theo
Phản hồiĐiều kiệnBước tiếp theo
Phản hồi400 · invalid_request_errorĐiều kiệnCấu trúc nội tuyến không đúng tài liệu, có khóa trùng, định danh phần tử không hợp lệ hoặc xung đột với khả năng đã cấu hình của mô hình.Bước tiếp theoSửa các trường được chỉ ra trước khi gửi bất kỳ yêu cầu mới nào.
Phản hồi401 · authentication_errorĐiều kiệnKhóa API không hợp lệ.Bước tiếp theoSử dụng khóa Ailoot đã được cấp quyền.
Phản hồi403 · permission_errorĐiều kiệnNhóm xử lý hàng loạt không khả dụng.Bước tiếp theoKiểm tra quyền sử dụng của khóa/nhóm.
Phản hồi422 · invalid_request_errorĐiều kiệnXử lý hàng loạt tính phí từ số dư; yêu cầu tạo qua gói thuê bao bị từ chối.Bước tiếp theoSử dụng nhóm đã được cấp quyền và tính phí từ số dư.
Phản hồi422 · price_unavailableĐiều kiệnKhông thể báo giá cho dữ liệu đầu vào của lô.Bước tiếp theoGiữ lại phản hồi; sử dụng dữ liệu đầu vào của họ API được mô tả trong tài liệu.
Phản hồi402 · billing_errorĐiều kiệnKhoản dự trữ cho xử lý hàng loạt không khả dụng.Bước tiếp theoKhắc phục vấn đề về điều kiện tiếp nhận trước khi gửi yêu cầu mới.
Phản hồi503 · price_unavailableĐiều kiệnGiá phương thức xử lý hàng loạt/đơn giá gốc không khả dụng.Bước tiếp theoGiữ lại phản hồi; không thay thế đơn giá.
Phản hồi503 · api_errorĐiều kiệnTuyến cụ thể tới nhà cung cấp không khả dụng.Bước tiếp theoGiữ lại phản hồi để sửa tuyến.
Phản hồi503 · result_pending_checkĐiều kiệnKết quả gốc cần được kiểm tra; X-Should-Retry:false.Bước tiếp theoGiữ lại operation_id/id gốc và truy xuất trạng thái của thao tác đó; tuyệt đối không lặp lại POST gốc.
Phản hồi404 · not_foundĐiều kiệnKhông tìm thấy thao tác kiểm tra trạng thái lô hoặc thao tác thuộc một danh tính khác.Bước tiếp theoSử dụng đúng id gốc và cùng người dùng/khóa/nhóm.

Bí danh

Bí danh mô hình

Ailoot Ultra anthropic/claude-sonnet-4.5:batch

Bí danh đường dẫn phương thức

Dùng các đường dẫn phương thức hiển thị ở trên.

ID gọi liên quan

anthropic/claude-sonnet-4.5:batch

FAQ · Anthropic: Claude Sonnet 4.5 (batch)
Có những đầu vào và kết quả nào?

POST /v1/batches · anthropic/claude-sonnet-4.5:batch: text → text

Yêu cầu sử dụng những trường nào?

POST /v1/batches · anthropic/claude-sonnet-4.5:batch: endpoint, model, requests, completion_window, provider

Áp dụng những giới hạn nào?

POST /v1/batches · anthropic/claude-sonnet-4.5:batch: requests.min_items: 1

Xem thêm chi tiết

Kết nối Ailoot với Claude Code, OpenCode, Hermes hoặc ứng dụng của bạn.

Công ty và danh mục dự án của công ty

Công ty và danh mục dự án của công ty: hàng triệu khách hàng; doanh số hàng tỷ mỗi tháng.

Mua token với giá ưu đãi.

Ưu đãi thuê bao cho nhu cầu thường xuyên. Mã khuyến mãi giảm đến 50% khi mua token.

Thuê bao
Chọn gói ưu đãi cho các yêu cầu thường xuyên của bạn.
Mã giảm đến 50%
Nhập mã khi mua. Giá được tính lại theo chương trình đang áp dụng.
Chi phí trong lịch sử
Mô hình, token và số tiền được lưu cho mỗi yêu cầu.

Chọn gói thuê bao · Xem giá mô hình

Kết nối API vào sản phẩm bạn đang bán.

SaaS, ứng dụng và bot — theo đề nghị giao kết chính thức và thỏa thuận cấp phép Ailoot. Muốn bán lại, hãy yêu cầu giấy phép bán lại.

Ứng dụng thương mại
Tích hợp tạo văn bản, ảnh, video và âm thanh vào các tính năng trả phí của dịch vụ.
Giấy phép bán lại
Gửi mô tả dự án và cách cung cấp quyền truy cập. Yêu cầu điều khoản sử dụng và bán lại bằng văn bản.
Tài liệu trên website
Đề nghị giao kết, thỏa thuận cấp phép và chính sách xử lý dữ liệu có sẵn trước khi kết nối.

Yêu cầu giấy phép bán lại · Đề nghị giao kết và thỏa thuận cấp phép