Lompat ke konten utama
Ikhtisar Ikhtisar Berita Berita
Bagikan

Publishable Keys

Panggilan API yang aman di browser. Tanpa backend sendiri.

Sebuah Publishable Key (po_pk_) boleh ditempatkan di frontend: dibatasi scope, terikat origin, dan tertutup anggaran.

Untuk Artifact Claude, Canvas ChatGPT, Grok, dan setiap aplikasi web kustom.

Prefiks khusus po_pk_ Secara default terikat ke Origin Dapat ditarik kembali kapan saja

Langsung dari browser

Dari AI-Canvas langsung ke panggilan API

Anda membangun aplikasi PDF-ke-teks di Claude, ChatGPT Canvas, atau Grok. Tanpa backend, panggilan API belum pernah terjadi: CORS memblokir, kunci rahasia akan terlihat dalam kode sumber, dan kunci terbuka membebani akun Anda. Di sinilah Publishable Keys mengisi kekosongan tersebut.

Berfungsi di Claude ArtifactsChatGPT CanvasGrokSemua aplikasi browser

Tempelkan di Claude, ChatGPT atau Grok

Sebuah prompt yang mengubah setiap AI-Canvas menjadi demo nyata yang didukung oleh API — tanpa backend.

AI canvas Prompt
Baca dokumen API ini:
https://api.paperoffice.ai/latest/docs/llms-full.txt Bangun aplikasi React satu file (Claude Artifact / ChatGPT Canvas / Grok):
Pengguna mengunggah PDF, aplikasi memanggil
/job/add/paperoffice_aiocr___generate langsung dari browser
dan menampilkan teks yang diekstrak. Autentikasi: Bearer po_pk_MY_PUBLISHABLE_KEY (minta pengguna untuk memasukkan kunci).
Gunakan processing_lane=instant untuk hasil sinkron. Header Origin ditetapkan oleh browser.

Pilih preset, buat kunci, tempelkan.

Dashboard menyediakan preset untuk Scope dan Budget. Origin tetap kosong — masukkan Header Origin dari DevTools browser, lalu salin Key ke dalam Prompt Anda.

Buat Kunci
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());

Panggilan pertama

fetch dari browser, Origin ditetapkan oleh browser

Panggilan ditujukan ke POST /latest/job/add/{pipeline} — endpoint yang sama seperti dengan Secret Key. Yang baru hanyalah jenis kunci dan header Origin, yang dikirimkan secara otomatis oleh browser.

  • Origin berasal dari browser

    fetch mengatur header Origin secara otomatis. Skrip di luar browser (cURL, Node) harus mengirimkannya secara eksplisit — jika tidak, API akan merespons dengan 403 ORIGIN_HEADER_REQUIRED.

  • Hasil secara inline

    Dengan processing_lane=instant dan client_wait=true, API menjaga koneksi tetap terbuka dan memberikan hasil langsung dalam respons.

  • Kode kesalahan yang jelas

    402 BUDGET_EXHAUSTED, 403 DOMAIN_NOT_ALLOWED, 403 SCOPE_NOT_GRANTED, 429 RATE_LIMIT_EXCEEDED — setiap batas melaporkan dengan kode tersendiri.

Matriks Keamanan

Enam kontrol, semua dipaksakan di sisi server

Dibatasi scope, terikat origin, tertutup anggaran, dapat ditarik kembali kapan saja. Setiap kontrol ditegakkan di sisi server — oleh karena itu Key boleh berada dalam kode frontend.

  • Dibatasi ruang lingkup

    Kunci hanya mencapai grup endpoint yang Anda izinkan secara eksplisit: ocr:read, llm:generate, translate:text dan lainnya. Pemanggilan di luar ruang lingkup akan mengembalikan HTTP 403.

  • Terikat asal

    Setiap permintaan harus menyertakan header Origin yang cocok dengan daftar izin kunci (host eksak atau wildcard subdomain). Jika tidak cocok, API akan mengembalikan HTTP 403.

  • Tidak ada batas menit tambahan

    Tidak ada batas menit khusus hanya untuk po_pk_. Batas laju token normal akun berlaku; konsumsi ditutupi oleh Lifetime Budget.

  • Dibatasi anggaran

    Setiap kunci memiliki anggaran seumur hidup. Jika anggaran telah habis, API akan mengembalikan HTTP 402 BUDGET_EXHAUSTED — konsumsi berhenti di sana, bukan pada saat penagihan.

  • Dapat dicabut kapan saja

    Kunci dapat dicabut kapan saja melalui akun. Kunci yang telah dicabut tidak lagi diterima oleh API.

  • Diblokir secara permanen

    HTTP DELETE serta login akun, manajemen kunci, OAuth, admin mitra, mutasi pembayaran dan cracking password tetap terkunci untuk setiap po_pk_. Produk yang didokumentasikan — APIs — termasuk penghapusan POST, webhook, penagihan bacaan dan CRM diizinkan.

Hierarki Kunci

Tiga jenis kunci, tanggung jawab yang jelas

Secret Key untuk server, Publishable Key untuk browser — ditambah Token Pengguna untuk akses berbasis pengguna dengan batasan laju.

Awalan Jenis Kasus Penggunaan Aman untuk Browser Lingkup Default
po_sk_ Kunci Rahasia Server-ke-Server, akses penuh API Tidak Semua Endpoint
po_ut_ User Token Digunakan oleh pengguna, Terbatas pada tier Tidak Berdasarkan Tier
po_pk_ Publishable Key Browser / AI canvas (Claude, ChatGPT, Grok) Ya Daftar Scope

Autentikasi & kunci

Tiga Preset

Satu klik. Satu kunci. Satu tujuan.

Setiap preset dikonfigurasi untuk use-case yang spesifik — default aman, scope terkurasi, anggaran realistis. Semua dapat disesuaikan kapan saja di dasbor.

  • DEFAULT Pembacaan aman

    Hak akses default yang aman untuk demo sederhana dan alat internal: OCR, LLM, Terjemahan, Dokumen, Pencarian.

    Area izin (scopes)

    ocr:readllm:generatetranslate:textdocuments:uploaddocuments:readsearch:query
    Mulai dengan preset ini
  • WIDGET Situs Web Publik

    Untuk formulir kontak, widget obrolan, dan tombol pemesanan di situs web perusahaan Anda.

    Area izin (scopes)

    knowledge:readwidget:chatwidget:bookingwidget:formswidget:contactwidget:leadwidget:fingerprint
    Mulai dengan preset ini

Panggilan API Pertama

Siap untuk panggilan pertama dari browser?

Buat kunci, buka llms-full.txt, tempelkan prompt — aplikasi Anda memanggil API langsung dari Claude, ChatGPT atau Grok.

Prefiks sendiri Tanpa backend Dapat ditarik kembali kapan saja
Video

Kunci yang Dapat Dipublikasikan dalam Aksi

Lihat bagaimana PaperOffice Publishable Keys bekerja dalam praktik — dalam video.

Kunci yang Dapat Dipublikasikan dalam Aksi

Pertanyaan Umum

Semua Informasi Penting dalam Tinjauan

Apa perbedaan antara po_pk_ dan po_sk_?

po_sk_ (Secret Key) dirancang untuk integrasi server-to-server — akses penuh ke API, jangan pernah disertakan dalam kode browser. po_pk_ (Publishable Key) dibangun untuk kode browser: dibatasi scope-nya, terikat pada origin, dan dibatasi anggaran. Menggunakan API yang sama, tetapi dengan profil keamanan yang berbeda.

Mengapa tidak cukup menggunakan reverse proxy dari backend sendiri?

Ini adalah cara klasik — namun tetap memerlukan backend. AI Artifacts (Claude, ChatGPT, Grok) dirancang untuk beroperasi tanpa backend sendiri. Publishable Keys memungkinkan hal ini tanpa membocorkan Secret Key Anda: batasan diterapkan di sisi server.

Apakah ini berfungsi di dalam Artifacts Claude, mengingat sandbox CORS-nya?

Ya. Pemanggilan berjalan langsung dari browser, Header Origin ditetapkan oleh browser itu sendiri. PaperOffice tidak menyediakan Vendor-Allow-List; masukkan Origin saat membuat Key dari DevTools.

Apa yang terjadi jika po_pk_ saya terlihat secara publik?

Kerugian tetap terbatas: Kunci penguncian origin memblokir penggunaan pada domain pihak ketiga, batas anggaran menghentikan konsumsi, dan batas laju memperlambat akses otomatis. Cabut kunci tersebut di akun Anda — setelah itu, API tidak akan menerimanya lagi.

Bisakah saya menambahkan domain saya sendiri ke daftar origin yang diizinkan?

Ya. Saat membuat kunci, tambahkan setiap origin ke Allow-List — sebagai host eksak atau wildcard subdomain. Preset WIDGET dirancang khusus untuk ini: Daftarkan domain Anda sendiri dan sematkan widget Chat, Pemesanan, atau Kontak tanpa backend.

Bagaimana cara mengatur anggaran per kunci?

Saat membuat, pilih batas seumur hidup; preset masing-masing memiliki ketentuan bawaan. Jika batas tercapai, API akan mengembalikan HTTP 402 BUDGET_EXHAUSTED. Nilai ini dapat disesuaikan kapan saja di akun.

Apakah po_pk_ memerlukan tarif sendiri?

Tidak. Publishable Key adalah lapisan perlindungan tambahan di sekitar akun Anda yang ada: ia membatasi Scope, Origin, dan Budget. Paket mana yang sesuai dengan setup Anda dapat dilihat pada ringkasan harga.

Endpoint mana yang diblokir untuk po_pk_?

HTTP DELETE serta login akun, admin pengguna, manajemen kunci, OAuth, admin mitra, Stripe Checkout dan cracking password telah dikunci secara permanen. API produk yang terdokumentasi diizinkan, termasuk penghapusan POST, webhook, baca billing, impor dan CRM. Workspace hapus, kosongkan tempat sampah dan pelepasan hold hukum tetap hanya melalui UI (403 UI_ONLY_ENDPOINT).

Di mana Anda ingin menguji PaperOffice?

Komputer dan smartphone terhubung: Workspace di komputer, penangkapan di telepon.

Versi uji coba Anda siap

Di mana Anda ingin memulai?

Workspace lengkap dioptimalkan untuk komputer. Versi mobile cocok untuk menangkap, memeriksa, dan menyetujui dokumen.

app.paperoffice.ai

Mulai di komputer

Kami akan mengirimkan tautan akses pribadi Anda ke alamat email Anda.

Buka PaperOffice Mobile

Tangkap dan edit dokumen langsung dengan smartphone.

Buka versi mobile
Pendaftaran gratis Buka aplikasi Aplikasi PaperOffice Produk lengkap: web, desktop, dan seluler. Tangkap, atur, cari, dan kerjakan dokumen bersama tim. Akun gratis diperlukan Buka Playground Playground Uji fungsi terpilih segera — tanpa pendaftaran, dengan kunci API demo terbatas. Tanpa registrasi, tetapi dengan kunci API demo terbatas