Publishable Keys
Naršyklei saugūs API užklausos. Be savo serverio dalies (backend).
Frontende gali būti naudojamas Publishable Key (po_pk_): ribojama apimtimi, susieta su kilmės tašku ir biudžetu.
Skirta Claude artefaktams, ChatGPT Canvas, Grok ir bet kokiai kitai tinklo programai.
- Savo ES infrastruktūra Jūsų duomenys lieka Europoje.
- ISO 27001 aktyvus Sertifikuota saugumas.
- SOC 2 II tipo Tarptautiniai audito standartai.
- Daugiau nei 24 metų patirtis Įrodyta. Stabilu. Ateities saugumas.
Tiesiogiai iš naršyklės
Nuo AI-Canvas tiesiai į API užklausą
Jūs kuriate PDF į tekstą programą naudojant Claude artefaktus, ChatGPT Canvas arba Grok. Be serverio dalies (backend) API užklausa iki šiol nebuvo įgyvendinta: CORS blokuoja, o slapto rakto atskleidimas kodo šaltinyje būtų saugumo rizika, taip pat atviras raktas apkrautų jūsų paskyrą. Būtent šią spragą užpildo Publishable Keys.
Įterpti į Claude, ChatGPT arba Grok
Promptas, kuris pavers bet kurią AI-Canvas į tikrą, API palaikomą demonstraciją — be serverio dalies.
Skaitykite šį API dokumentą:
https://api.paperoffice.ai/latest/docs/llms-full.txt Sukurkite vieno failo React programą (Claude Artifact / ChatGPT Canvas / Grok):
Vartotojas įkelia PDF, programa tiesiogiai iš naršyklės kviečia
/job/add/paperoffice_aiocr___generate
ir rodo ištrauktą tekstą. Autentifikacija: Bearer po_pk_MY_PUBLISHABLE_KEY (paprašykite vartotojo raktą).
Naudokite processing_lane=instant sinchroniniams rezultatams. Origin antraštę nustato naršyklė. Pasirinkite šabloną, sukurkite raktą, įklijuokite.
Valdymo skydelis pateikia paruoštas apimčių ir biudžeto konfigūracijas. Kilmės taškai lieka tušti – įveskite kilmės antraštę iš naršyklės įrankių kūrėjui, tada nukopijuokite raktą į savo užklausą.
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()); curl -X POST "https://api.paperoffice.ai/latest/job/add/paperoffice_aiocr___generate" \ -H "Authorization: Bearer po_pk_YOUR_PUBLISHABLE_KEY" \ -H "Origin: https://app.example.com" \ -F "[email protected]" \ -F "processing_lane=instant" \ -F "client_wait=true" Pirmasis kvietimas
fetch iš naršyklės, Origin nustato naršyklė
Užklausas siunčiama į POST /latest/job/add/{pipeline} — tas pats galas kaip ir su slapta raktu. Nauja yra tik rakto tipas ir „Origin“ antraštė, kurią naršyklė automatiškai siunčia.
- „Origin“ gaunamas iš naršyklės
„fetch“ automatiškai nustato „Origin“ antraštę. Skriptai, veikiantys ne naršyklėje (pvz., cURL, Node), turi aiškiai siųsti šią antraštę — priešingu atveju API grąžins 403 ORIGIN_HEADER_REQUIRED.
- Rezultatas integruotas
Naudojant processing_lane=instant ir client_wait=true, API palaiko ryšį ir tiesiogiai grąžina rezultatą atsakyme.
- Aiškūs klaidos kodai
402 BUDGET_EXHAUSTED, 403 DOMAIN_NOT_ALLOWED, 403 SCOPE_NOT_GRANTED, 429 RATE_LIMIT_EXCEEDED — kiekviena riba praneša savo unikaliu kodu.
Saugumo matrica
Šeši kontroliniai elementai, visi priverstinai taikomi serverio pusėje
Ribojama apimtimi, susieta su kilmės tašku, biudžetu, bet kada galima atšaukti. Kiekviena kontrolė vykdoma serverio pusėje – todėl raktas gali būti naudojamas frontendo kode.
-
Ribotas apimtis
Raktai pasiekia tik tuos endpoint grupes, kurias aiškiai leidžiate:
ocr:read,llm:generate,translate:textir kt. Užklausos, viršijančios apimtį, grąžins HTTP 403. -
Susietas su kilmės adresu
Kiekviena užklausa turi turėti Origin headerį, kuris atitinka rakto leidžiamų sąrašą (tikslus hostas arba subdomeno laukinis žvaigždutės simbolis). Jei jis neatitinka, bus grąžintas API HTTP 403.
-
Jokių papildomų minučių limito
Nėra atskiro minučių limito tik po_pk_. Galioja įprasti paskyros žetonų greičio limitai; suvartojimą riboja bendras biudžetas.
-
Biudžeto apribojimas
Kiekvienas raktas turi gyvenimo trukmės biudžetą. Kai jis sunaudojamas, API grąžina HTTP 402 BUDGET_EXHAUSTED — vartojimas nutrūksta iškart, o ne tik sąskaitos faktūros išrašymo metu.
-
Bet kada galima atšaukti
Raktus bet kada galima atšaukti paskyroje. Atšauktas raktas nebebus priimtas API.
-
Visam laikui užblokuota
HTTP DELETE, paskos prisijungimas, rakto valdymas, OAuth, partnerių administravimas, mokėjimo operacijos ir slaptažodžių laužymas visiems po_pk_ lieka visada užblokuoti. Dokumentuotos produkto API funkcijos – įskaitant POST ištrynimą, webhooks, sąskaitų faktūrų skaitymą ir CRM – yra leidžiamos.
Rakto hierarchija
Trys rakto tipai, aiškios atsakomybės
Secret Key serveriui, Publishable Key naršyklei — bei vartotojo tokenas vartotojui susijamam, ratų limituotam prieigai.
| Prefiksas | Tipas | Naudojimo atvejis | Naršyklės saugumas | Numatytasis apimtis |
|---|---|---|---|---|
po_sk_ | Slapta raktas | Serveris-serveriui, pilnas API prieiga | Ne | Visi galiniai taškai |
po_ut_ | User Token | Vartotojo lygmuo, ribojamas pagal lygį | Ne | Pagal lygį |
po_pk_ | Publishable Key | Naršyklė / AI-Canvas (Claude, ChatGPT, Grok) | Taip | Sąrašas |
Trys išankstiniai nustatymai
Vienas paspaudimas. Vienas raktas. Viena paskirtis.
Kiekvienas išankstinis nustatymas pritaikytas konkrečiam naudojimo atvejui — saugūs numatytieji nustatymai, atrinktos apimtys, realistiški biudžetai. Viskas bet kada pakeičiama valdymo skydelyje.
-
DEFAULTSaugus skaitymasSaugūs numatytieji teises paprastoms demonstracijoms ir vidinėms priemonėms: OCR, LLM, vertimas, dokumentai, paieška.
Teisių sritys (apimtys)
Pradėti su šiuo išankstiniu nustatymu -
AIDEMOAI žaidimų aikštelė RekomenduojamaSkirta Claude Artifactams, ChatGPT Canvas ir Grok demonstracijoms. Viskas, ko reikia norint paleisti AI demonstracijas realiu laiku.
Teisių sritys (apimtys)
Pradėti su šiuo išankstiniu nustatymu -
WIDGETVieša svetainėKontaktinėms formoms, pokalbių valdikliams ir rezervavimo mygtukams jūsų įmonės svetainėje.
Teisių sritys (apimtys)
Pradėti su šiuo išankstiniu nustatymu
Pirmasis API skambutis
Ar esate pasiruošę pirmajam skambučiui iš naršyklės?
Sukurkite raktą, atidarykite llms-full.txt, įklijuokite užklausą — jūsų programa tiesiogiai kreipiasi į API iš Claude, ChatGPT arba Grok.
Publishable Keys veiksmų metu
Peržiūrėkite, kaip PaperOffice Publishable Keys veikia praktiškai — vaizdo įraše.
Dažnai užduodami klausimai
Viskas svarbiausia vienoje vietoje
Kuo skiriasi po_pk_ nuo po_sk_?
po_sk_ (Slapta raktas) skirtas serverio ir serverio integracijai – pilna API prieiga, niekada neintegruoti naršyklėje. po_pk_ (Paskelbiamas raktas) sukurtas naršyklės kodui: ribotas pagal apimtį, susietas su kilmės adresu, ribotas pagal biudžetą. Ta pati API, kitoks saugumo profilis.
Kodėl tiesiog nenaudoti atvirkštinio proxy iš savo galinio serverio?
Tai yra klasikinis būdas, tačiau jis vis tiek reikalauja backend sistemos. AI-Artifacts (Claude, ChatGPT, Grok) yra sukurti veikti be savos backend sistemos. Publishable Keys tai leidžia padaryti nesuteikiant prieigos prie savo Secret Key: apribojimai yra įgyvendinami serverio pusėje.
Ar tai veikia Claude artefaktuose, nepaisant jų CORS sandbox?
Taip. Užklausa vykdoma tiesiogiai iš naršyklės, kilmės antraštę nustato pati naršyklė. PaperOffice nepateikia tiekėjo leidžiamų sąrašų; kilmę reikia įvesti kuriant raktą iš įrankių kūrėjui.
Kas nutiks, jei mano po_pk_ taps viešai matomas?
Žala išlieka ribota: kilmės užraktas blokuoja naudojimą svetimos domeno srityse, biudžeto riba sustabdo sąnaudų kaupimąsi, greičio riba sulėtina automatizuotus prieigos bandymus. Atšaukite raktą paskyroje – po to API jo nebepriims.
Ar galiu pridėti savo domeną kaip leistiną kilmės adresą?
Taip. Kuriant raktą prie leidžiamo sąrašo (Allow-List) galite pridėti bet kurį kilmės adresą – kaip tikslų hostą arba subdomeno laukinį žvaigždutę (*). WIDGET išdėstymas sukurtas būtent tam: užregistruokite savo domeną ir integruokite pokalbių, rezervavimo ar kontaktinius valdiklius be galinio serverio.
Kaip nustatyti biudžetą vienam raktui?
Sukuriant pasirinkite „Lifetime“ limitą; iš anksto nustatyti parametrai turi savo numatytąją vertę. Pasiekus limitą, API grąžina HTTP 402 BUDGET_EXHAUSTED. Reikšmę paskyroje galite bet kada pakeisti.
Ar po_pk_ reikia savos tarifo?
Ne. Publishable Key yra papildoma apsaugos sluoksnis aplink jūsų esamą paskyrą: jis riboja apimtis, kilmės taškus ir biudžetą. Kuris planas tinka jūsų konfigūracijai, rodo kainų apžvalga.
Kokie endpoint'ai yra užblokuoti po_pk_?
HTTP DELETE, paskos prisijungimas, vartotojų administravimas, rakto valdymas, OAuth, partnerių administravimas, Stripe mokėjimo langas ir slaptažodžių laužymas yra visada užblokuoti. Dokumentuotos produkto API funkcijos yra leidžiamos, įskaitant POST ištrynimą, webhooks, sąskaitų faktūrų skaitymą, importavimą ir CRM. Workspace trynimas, šiukšlinės valymas ir teisinio sulaikymo atlaisvinimas lieka tik vartotojo sąsajos lygmenyje (403 UI_ONLY_ENDPOINT).
Eksploatacija ir pasitikėjimas
Ką įmonių komandos tikrina prieš pirmąjį skambutį
Sutartys, saugumas, palaikymas ir apribojimai – visos nuorodos vienoje vietoje.
- Saugumas ir atitiktis ISO 27001, SOC 2 Type II, nuosava ES infrastruktūra.
- SLA 99,9 % Prieinamumas kiekvieną kalendorinį mėnesį, sutartimi užtikrinta.
- Duomenų tvarkymo sutartis (DPA) BDAR atitinkanti duomenų tvarkymo sutartis.
- Subprocesorių sąrašas Visi subprocesoriai, skaidriai išvardinti.
- Techninė pagalba Tiesioginis kelias į palaikymo komandą, su bilietu.
- Greitio apribojimai ir antraštės Dokumentuotos minimalios vertės vienam žetonui, RateLimit antraštės kiekviename atsakyme.
- Kainos ir Credits Skaidžios Credits kainos už vieną užklausą.
Kita stotelė
Kaip judėti toliau
Rekomenduojamas kitas žingsnis kūrėjo kelyje ir du tinkami šakojimai.