Скачане към съдържанието
Обзор Обзор Новини Новини
Споделяне

Publishable Keys

Браузърно безопасни API извиквания. Без собствено бекенд приложение.

Publishable Key (po_pk_) може да стои във фронтенда: обхват-ограничен, произход-свързан и бюджет-ограничен.

За Claude артефакти, ChatGPT Canvas, Grok и всяко собствено уеб приложение.

Собствен префикс po_pk_ По подразбиране свързан с Origin Може да бъде отменен по всяко време

Директно от браузъра

От AI-Canvas директно до извикване на API

Изграждате PDF към текст приложение в Claude, ChatGPT Canvas или Grok. Без бекенд извикването на API досега липсваше: CORS блокира, видим ключ за тайна би бил открит в изходния код, а отворен ключ би натоварил вашия акаунт. Точно този празнини запълват Publishable Keys.

Работи в Claude ArtifactsChatGPT CanvasGrokВсяка браузърна апликация

Вмъкнете в Claude, ChatGPT или Grok

Промпт, който превръща всяка AI-Canvas в истинска демо версия, подпомогната от API — без бекенд.

AI Canvas Промпт
Прочетете този документ API:
https://api.paperoffice.ai/latest/docs/llms-full.txt Създайте еднофайлово React приложение (Claude Artifact / ChatGPT Canvas / Grok):
Потребителят качва PDF, приложението извиква
/job/add/paperoffice_aiocr___generate директно от браузъра
и показва извлечения текст. Автентикация: Bearer po_pk_MY_PUBLISHABLE_KEY (поискайте ключа от потребителя).
Използвайте processing_lane=instant за синхронни резултати. Заглавката Origin се задава от браузъра.

Избор на пресет, създаване на ключ, поставяне.

Табло с пресетове за обхвати и бюджети. Произходите остават празни — въведете заглавката Origin от DevTools на браузъра, след което копирайте ключа във вашия промпт.

Създаване на ключ
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());

Първо извикване

fetch от браузъра, Origin се задава от браузъра

Заявката се изпраща към POST /latest/job/add/{pipeline} — същият крайна точка като с тайен ключ. Новото е само типът на ключа и заглавката Origin, която браузърът изпраща автоматично.

  • Origin идва от браузъра

    fetch самият задава заглавката Origin. Скрипт извън браузъра (cURL, Node) трябва да я изпрати изрично — в противен случай API ще отговори с 403 ORIGIN_HEADER_REQUIRED.

  • Резултат вграден

    С processing_lane=instant и client_wait=true, API поддържа връзката и връща резултата директно в отговора.

  • Ясни кодове за грешки

    402 BUDGET_EXHAUSTED, 403 DOMAIN_NOT_ALLOWED, 403 SCOPE_NOT_GRANTED, 429 RATE_LIMIT_EXCEEDED — всяка граница се съобщава със собствен код.

Матрица на сигурността

Шест контроли, всички принудително изпълнени на сървъра

Обхват-ограничен, произход-свързан, бюджет-ограничен, винаги отменяем. Всяка контрола се прилага сървърно — затова ключът може да стои във фронтенд кода.

  • Ограничен по обхват

    Ключовете достигат само до групите крайни точки, които изрично освобождавате: ocr:read, llm:generate, translate:text и други. Извиквания извън обхвата връщат HTTP 403.

  • Свързан с произхода

    Всяка заявка трябва да съдържа Origin заглавка, която съвпада с разрешителния списък на ключа (точно име на хост или поддомейн с wildcards). Ако не съвпада, API връща HTTP 403.

  • Няма допълнителен лимит за минути

    Няма отделен лимит за минути само за po_pk_. Прилагат се нормалните лимити на токени на акаунта; потреблението се ограничава от бюджета в реално време.

  • Ограничен бюджет

    Всеки ключ има lifetime бюджет. Когато той се изчерпи, API връща HTTP 402 BUDGET_EXHAUSTED — потреблението спира там, а не при фактурирането.

  • Оттегляне по всяко време

    Ключовете могат да бъдат оттеглени по всяко време от профила. Оттеглен ключ вече не се приема от API.

  • Твърдо блокиран

    HTTP DELETE, както и вход в акаунт, управление на ключове, OAuth, администриране на партньори, плащания и cracking на пароли остават постоянно блокирани за всеки po_pk_. Документирани продуктови API — включително POST изтриване, уебхукове, четене на фактури и CRM — са разрешени.

Йерархия на ключовете

Три типа ключове, ясни отговорности

Secret Key за сървъра, Publishable Key за браузъра — плюс User Token за потребителски достъп с лимитиране на заявки.

Префикс Тип Сценарий на употреба Браузър-сигурен Стандартен обхват
po_sk_ Тайна ключ Сервър-към-сервър, пълен API достъп Не Всички крайни точки
po_ut_ User Token Потребителско обхват, ограничено до ниво Не Ниво-базиран
po_pk_ Publishable Key Браузър / AI-Canvas (Claude, ChatGPT, Grok) Да Списък с обхвати

Удостоверяване и ключове

Три предварителни настройки

Едно кликване. Един ключ. Една цел.

Всеки пресет е настроен за конкретен сценарий на употреба — сигурни настройки по подразбиране, курирани обхвати, реалистични бюджети. Всичко може да се променя по всяко време в таблото за управление.

  • DEFAULT Сигурно четене

    Сигурни права по подразбиране за лесни демо версии и вътрешни инструменти: OCR, LLM, Translate, Documents, Search.

    Области на правомощия (обхвати)

    ocr:readllm:generatetranslate:textdocuments:uploaddocuments:readsearch:query
    Стартиране с този пресет
  • WIDGET Публичен уебсайт

    За контактни формуляри, чат виджети и бутони за резервации на собствения корпоративен уебсайт.

    Области на правомощия (обхвати)

    knowledge:readwidget:chatwidget:bookingwidget:formswidget:contactwidget:leadwidget:fingerprint
    Стартиране с този пресет

Първи API извикване

Готови ли сте за първото извикване от браузъра?

Създайте ключ, отворете llms-full.txt, поставете промпта — вашето приложение извиква API директно от Claude, ChatGPT или Grok.

Собствен префикс Без бекенд Възможно е да бъде отменен по всяко време
Видео

Публикуваеми ключове в действие

Вижте как PaperOffice Publishable Keys работи в практиката — във видеото.

Публикуваеми ключове в действие

Често задавани въпроси

Всичко важно на едно място

Каква е разликата между po_pk_ и po_sk_?

po_sk_ (Secret Key) е предназначен за интеграция сървър-към-сървър — пълен достъп до API, никога не го включвайте в браузър. po_pk_ (Publishable Key) е създаден за код в браузъра: ограничен обхват, свързан с произхода, с ограничени бюджетни лимити. Същата API, различен профил на сигурността.

Защо просто да не използваме обратен прокси сървър от собственото ни бекенд?

Това е класическият начин — но той все още изисква бекенд. AI артефактите (Claude, ChatGPT, Grok) са проектирани за работа без собствен бекенд. Publishable Keys правят това възможно, без да разкривате вашия Secret Key: границите се прилагат на сървъра.

Работи ли това в Claude артефакти, въпреки тяхната CORS песъчница?

Да. Извикването става директно от браузъра, а заглавката Origin се задава автоматично от браузъра. PaperOffice не предоставя списък с разрешени доставчици; произхода въвеждате при създаването на ключа от DevTools.

Какво се случва, ако моя po_pk_ стане публично видим?

Щетите остават ограничени: Origin Lock блокира използването на чужди домейни, Budget Limit прекратява потреблението, Rate Limit забавя автоматизираните достъпи. Откажете ключа в профила си — след това API вече няма да го приеме.

Мога ли да добавя моя собствен домейн като разрешен Origin?

Да. При създаването на ключа добавете всеки Origin към Allow-List — като точен хост или като wildcard за поддомейн. WIDGET preset е точно за това: регистрирайте своя домейн и вградете чат, резервация или контактни виджети без бекенд.

Как да задам бюджета на ключ?

При създаване изберете лимит за жизнения цикъл; шаблоните включват съответни стойности по подразбиране. Когато лимитът бъде достигнат, API връща HTTP 402 BUDGET_EXHAUSTED. Стойността може да се променя по всяко време от профила.

Трябва ли po_pk_ да има собствен тарифен план?

Не. Publishable Key е допълнителен защитен слой около вашия съществуващ акаунт: ограничава обхвата, произхода и бюджета. Кой план е подходящ за вашата конфигурация, показва прегледът на цените.

Кои крайни точки са блокирани за po_pk_?

HTTP DELETE, както и вход в акаунт, администриране на потребители, управление на ключове, OAuth, администриране на партньори, Stripe Checkout и cracking на пароли са постоянно блокирани. Документирани продуктови API са разрешени, включително POST изтриване, уебхукове, четене на фактури, импорт и CRM. Изтриването на Workspace, изпразването на кошчето и освобождаването на Legal-Hold остават само чрез потребителския интерфейс (403 UI_ONLY_ENDPOINT).

Къде искате да изпробвате PaperOffice?

Компютърът и смартфонът са свързани: работен плот на компютъра, заснемане на телефона.

Вашата пробна версия е готова

Къде искате да започнете?

Пълният работен плот е оптимизиран за компютър. Мобилната версия е подходяща за заснемане, проверка и одобрение на документи.

app.paperoffice.ai

Започнете на компютър

Ще изпратим вашия личен линк за достъп до имейл адреса ви.

Безплатна регистрация Отваряне на приложението Приложение PaperOffice Пълният продукт: уеб, настолно приложение и мобилно. Заснемане, организация, търсене и работа по документи с екипа. Необходим е безплатен акаунт Отваряне на Playground Playground Изпробвайте избрани функции веднага — без регистрация, с ограничен демо API ключ. Без регистрация, но с ограничен демо API ключ