Nhảy đến nội dung
Tổng quan Tổng quan Tin tức Tin tức
Chia sẻ

Publishable Keys

Gọi API an toàn trên trình duyệt. Không cần backend riêng.

Một Publishable Key (po_pk_) có thể xuất hiện ở frontend: giới hạn theo scope, ràng buộc theo origin và giới hạn ngân sách.

Dành cho Claude Artifacts, ChatGPT Canvas, Grok và mọi ứng dụng web tùy chỉnh.

Tiền tố riêng po_pk_ Mặc định liên kết với Origin Có thể thu hồi bất cứ lúc nào

Trực tiếp từ trình duyệt

Từ AI-Canvas trực tiếp đến lệnh gọi API

Bạn đang xây dựng ứng dụng chuyển đổi PDF sang văn bản trong Claude Artifacts, ChatGPT Canvas hoặc Grok. Cho đến nay, lệnh gọi API chưa được thực hiện do: CORS chặn yêu cầu, khóa bí mật (Secret Key) sẽ hiển thị rõ ràng trong mã nguồn, và việc sử dụng khóa mở (open key) sẽ gây tải lên tài khoản của bạn. Chính các Khóa công khai (Publishable Keys) khắc phục khoảng trống này.

Hoạt động trên Claude ArtifactsChatGPT CanvasGrokMọi ứng dụng trình duyệt

Dán vào Claude, ChatGPT hoặc Grok

Một lời nhắc biến mọi AI-Canvas thành bản demo thực sự, hỗ trợ API — mà không cần backend.

Khung AI Prompt
Đọc tài liệu API này:
https://api.paperoffice.ai/latest/docs/llms-full.txt Xây dựng một ứng dụng React tệp đơn (Claude Artifact / ChatGPT Canvas / Grok):
Người dùng tải lên một PDF, ứng dụng gọi
/job/add/paperoffice_aiocr___generate trực tiếp từ trình duyệt
và hiển thị văn bản đã trích xuất. Xác thực: Bearer po_pk_MY_PUBLISHABLE_KEY (yêu cầu người dùng nhập khóa).
Sử dụng processing_lane=instant để lấy kết quả đồng bộ. Header Origin được trình duyệt đặt.

Chọn một preset, tạo một khóa, dán vào.

Bảng điều khiển cung cấp các preset cho scopes và ngân sách. Origins để trống — hãy nhập Header Origin từ DevTools của trình duyệt, sau đó sao chép Key vào prompt của bạn.

Tạo khóa
JavaScript
const form = new FormData();form.append("file_1", fileInput.files[0]);form.append("processing_lane", "instant");form.append("client_wait", "true");const response = await fetch("https://api.paperoffice.ai/latest/job/add/paperoffice_aiocr___generate", {  method: "POST",  headers: { Authorization: "Bearer po_pk_YOUR_PUBLISHABLE_KEY" },  body: form,});console.log(await response.json());

Gọi lần đầu

fetch từ trình duyệt, trình duyệt đặt Origin

Yêu cầu gọi đến POST /latest/job/add/{pipeline} — cùng điểm cuối với Khóa bí mật (Secret Key). Chỉ có loại Khóa và tiêu đề Origin, do trình duyệt tự động gửi, là mới.

  • Origin đến từ trình duyệt

    fetch tự đặt tiêu đề Origin. Các tập lệnh bên ngoài trình duyệt (cURL, Node) phải gửi nó một cách rõ ràng — nếu không, API sẽ trả về 403 ORIGIN_HEADER_REQUIRED.

  • Kết quả trực tiếp

    Với processing_lane=instant và client_wait=true, API giữ kết nối và cung cấp kết quả ngay trong phản hồi.

  • Mã lỗi rõ ràng

    402 BUDGET_EXHAUSTED, 403 DOMAIN_NOT_ALLOWED, 403 SCOPE_NOT_GRANTED, 429 RATE_LIMIT_EXCEEDED — mỗi giới hạn đều báo bằng một mã riêng.

Ma trận Bảo mật

Sáu kiểm soát, tất cả được thực thi phía máy chủ

Giới hạn theo scope, ràng buộc theo origin, giới hạn ngân sách, có thể thu hồi bất cứ lúc nào. Mọi kiểm soát đều được thực thi phía máy chủ — do đó Key có thể nằm trong mã frontend.

  • Giới hạn phạm vi

    Khóa chỉ truy cập vào các nhóm Endpoint mà bạn explicitly cấp quyền: ocr:read, llm:generate, translate:text và các nhóm khác. Các yêu cầu ngoài phạm vi sẽ trả về HTTP 403.

  • Gắn liền với nguồn gốc

    Mỗi yêu cầu phải gửi kèm tiêu đề Origin khớp với danh sách cho phép của khóa (chính xác host hoặc wildcard subdomain). Nếu không khớp, API sẽ trả về HTTP 403.

  • Không giới hạn phút bổ sung

    Không có giới hạn phút riêng chỉ dành cho po_pk_. Các giới hạn tốc độ token thông thường của tài khoản vẫn áp dụng; việc tiêu thụ được kiểm soát bởi ngân sách lifetime.

  • Ngân sách giới hạn

    Mỗi khóa có một ngân sách lifetime. Khi ngân sách cạn kiệt, API sẽ trả về HTTP 402 BUDGET_EXHAUSTED — việc tiêu thụ kết thúc ngay tại đó, không chờ đến khi thanh toán.

  • Thu hồi bất cứ lúc nào

    Các khóa có thể được thu hồi bất cứ lúc nào trong tài khoản. Một khóa đã thu hồi sẽ không còn được API chấp nhận.

  • Khóa cứng

    HTTP DELETE cũng như đăng nhập tài khoản, quản lý Key, OAuth, quản lý đối tác, thao tác thanh toán và bẻ khóa mật khẩu luôn bị khóa chặt cho mọi po_pk_. Các sản phẩm API được tài liệu hóa — bao gồm xóa bằng POST, webhooks, đọc hóa đơn và CRM — được phép.

Phân cấp khóa

Ba loại khóa, trách nhiệm rõ ràng

Secret Key cho máy chủ, Publishable Key cho trình duyệt — cùng một User Token để truy cập liên quan đến người dùng và có giới hạn tỷ lệ.

Tiền tố Loại Trường hợp sử dụng An toàn trình duyệt Phạm vi mặc định
po_sk_ Khóa bí mật Máy chủ đến máy chủ, truy cập đầy đủ API Không Tất cả điểm cuối
po_ut_ User Token Người dùng, giới hạn theo cấp độ Không Dựa trên cấp độ
po_pk_ Publishable Key Trình duyệt / AI-Canvas (Claude, ChatGPT, Grok) Danh sách phạm vi

Xác thực và khóa

Ba mẫu cài đặt

Một cú nhấp chuột. Một khóa. Một mục đích.

Mỗi preset được cấu hình cho một trường hợp sử dụng cụ thể — các mặc định bảo mật, phạm vi được tuyển chọn, ngân sách thực tế. Mọi thứ đều có thể điều chỉnh mọi lúc trên bảng điều khiển.

  • DEFAULT Đọc an toàn

    Quyền mặc định an toàn cho các bản demo đơn giản và công cụ nội bộ: OCR, LLM, Dịch, Tài liệu, Tìm kiếm.

    Phạm vi quyền (Scopes)

    ocr:readllm:generatetranslate:textdocuments:uploaddocuments:readsearch:query
    Bắt đầu với preset này
  • WIDGET Trang web công cộng

    Dành cho biểu mẫu liên hệ, widget trò chuyện và nút đặt lịch trên trang web công ty của bạn.

    Phạm vi quyền (Scopes)

    knowledge:readwidget:chatwidget:bookingwidget:formswidget:contactwidget:leadwidget:fingerprint
    Bắt đầu với preset này

Cuộc gọi API đầu tiên

Sẵn sàng cho cuộc gọi đầu tiên từ trình duyệt?

Tạo Key, mở llms-full.txt, dán Prompt — Ứng dụng của bạn gọi API trực tiếp từ Claude, ChatGPT hoặc Grok.

Tiền tố riêng Không cần backend Có thể thu hồi bất cứ lúc nào
Video

Publishable Keys trong thực tế

Xem cách PaperOffice Publishable Keys hoạt động trong thực tế — qua video.

Publishable Keys trong thực tế

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

Tất cả thông tin quan trọng trong tầm tay

po_pk_ và po_sk_ khác nhau như thế nào?

po_sk_ (Khóa bí mật) dành cho tích hợp máy chủ-máy chủ — truy cập đầy vào API, không bao giờ nhúng vào trình duyệt. po_pk_ (Khóa công khai) được xây dựng cho mã trình duyệt: giới hạn phạm vi, gắn liền với nguồn gốc, giới hạn ngân sách. Cùng API, hồ sơ bảo mật khác nhau.

Tại sao không chỉ sử dụng proxy ngược từ backend của riêng mình?

Đây là cách tiếp cận truyền thống — nhưng vẫn yêu cầu một backend. AI-Artifacts (Claude, ChatGPT, Grok) được thiết kế để hoạt động mà không cần backend riêng. Các khóa công khai (Publishable Keys) cho phép điều này mà không làm lộ Khóa bí mật của bạn: các giới hạn được thực thi phía máy chủ.

Điều này có hoạt động trong các AI Artifacts của Claude, bất chấp sandbox CORS của chúng không?

Có. Cuộc gọi diễn ra trực tiếp từ trình duyệt, header Origin do chính trình duyệt đặt. PaperOffice không cung cấp danh sách cho phép của nhà cung cấp; bạn nhập Origin khi tạo Key từ DevTools.

Điều gì xảy ra nếu po_pk_ của tôi bị công khai?

Thiệt hại được giới hạn: Khóa nguồn gốc chặn việc sử dụng trên các tên miền lạ, giới hạn ngân sách chấm dứt việc tiêu thụ, giới hạn tốc độ làm chậm các truy cập tự động. Thu hồi khóa trong tài khoản — sau đó API sẽ không chấp nhận nó nữa.

Tôi có thể thêm tên miền của riêng mình vào danh sách nguồn gốc được cho phép không?

Có. Khi tạo khóa, bạn thêm mỗi nguồn gốc vào danh sách cho phép — dưới dạng máy chủ chính xác hoặc ký tự đại diện con miền. Preset WIDGET được xây dựng chính xác cho mục đích này: Đăng ký tên miền của riêng bạn và nhúng các tiện ích Chat, Đặt lịch hoặc Liên hệ mà không cần backend.

Tôi đặt ngân sách cho mỗi khóa như thế nào?

Khi tạo, hãy chọn một giới hạn Lifetime; các preset sẽ đi kèm với một giá trị mặc định. Khi đạt đến giới hạn này, API sẽ trả về HTTP 402 BUDGET_EXHAUSTED. Bạn có thể điều chỉnh giá trị này trong tài khoản bất cứ lúc nào.

po_pk_ có cần một gói dịch vụ riêng không?

Không. Publishable Key là một lớp bảo vệ bổ sung xung quanh tài khoản hiện có của bạn: nó giới hạn scopes, origins và ngân sách. Bảng giá sẽ cho biết gói nào phù hợp với cấu hình của bạn.

Những Endpoints nào bị khóa đối với po_pk_?

HTTP DELETE cũng như đăng nhập tài khoản, quản lý người dùng, quản lý khóa, OAuth, quản lý đối tác, thanh toán Stripe và bẻ khóa mật khẩu đều bị khóa cố định. Các sản phẩm được tài liệu hóa theo APIs được phép, bao gồm xóa POST, webhook, đọc hóa đơn, nhập liệu và CRM. Xóa Workspace, làm rỗng thùng rác và giải phóng Legal-Hold vẫn chỉ khả dụng qua giao diện người dùng (403 UI_ONLY_ENDPOINT).

Quý vị muốn dùng thử PaperOffice ở đâu?

Máy tính và điện thoại thông minh đã được kết nối: Không gian làm việc trên máy, thu thập trên điện thoại.

Phiên bản dùng thử của bạn đã sẵn sàng

Bạn muốn bắt đầu ở đâu?

Không gian làm việc đầy đủ được tối ưu hóa cho máy tính. Phiên bản di động phù hợp để thu thập, kiểm tra và phê duyệt tài liệu.

app.paperoffice.ai

Bắt đầu trên máy tính

Chúng tôi sẽ gửi liên kết truy cập cá nhân của bạn đến địa chỉ email của bạn.

Đăng ký miễn phí Mở ứng dụng Ứng dụng PaperOffice Sản phẩm đầy đủ: web, máy tính và di động. Thu thập, tổ chức, tìm kiếm và làm việc trên tài liệu cùng nhóm. Cần tài khoản miễn phí Mở Playground Playground Thử các chức năng được chọn ngay — không đăng ký, với khóa API demo bị hạn chế. Không cần đăng ký, nhưng có khóa API demo bị hạn chế