Zautomatyzuj OrbitPage bez udostępniania sesji panelu kontrolnego.
Twórz tokeny o ograniczonym zakresie i zarządzaj pulpitem nawigacyjnym OrbitPage od początku do końca za pomocą skryptów, n8n, backendów lub CI.
Ostatnia wersja: 4 sierpnia 2026Zarządzaj OrbitPage za pomocą tokenów osobistych: edytuj i publikuj strony oraz używaj mediów, domen, analityki, AI, Shop, newsletterów i rozliczeń.
Trzy granice uprawnień obejmują trzy różne zadania.
Ta strona dokumentuje wersjonowaną granicę REST. Token OrbitPage nie jest kluczem dostawcy OpenAI i nigdy nie uwierzytelnia punktów końcowych prywatnego pulpitu nawigacyjnego.
| Powierzchnia | Poświadczenie | Cel i wsparcie |
|---|---|---|
| API REST automatyzacji | op_pat_... | Obsługiwane zewnętrzne API dla skryptów, n8n, backendów serwerów i CI. Zarządza obszarem roboczym powiązanym z tokenem poprzez /api/v1. |
| OrbitPage AI | op_pat_... + ai:read/ai:write | Przepływ planu/zatwierdzenia publicznego przygotowuje i stosuje zatwierdzone propozycje sztucznej inteligencji. Wszelkie dane uwierzytelniające dostawcy OpenAI pozostają odrębną kwestią po stronie serwera i nigdy nie są tokenem nośnika OrbitPage. |
| Interfejsy API panelu kontrolnego | Sesja Firebase w SaaS; sesja administratora w OSS | Prywatne trasy z przeglądarki do aplikacji. Nie stanowią one stabilnej umowy na integrację zewnętrzną i nie mogą otrzymywać osobistych tokenów API. |
Wersjonowane zasoby obejmują pulpit nawigacyjny; punkty końcowe łącza pokazują pętlę bezpiecznej aktualizacji.
Każde żądanie jest powiązane z obszarem roboczym wybranym podczas tworzenia tokena. Token nie może wybrać innego dzierżawcy w adresie URL lub treści żądania, a bieżące uprawnienia obszaru roboczego są sprawdzane ponownie przy każdym wywołaniu.
Kontrakt wykorzystuje standardowe operacje HTTPS JSON — GET, POST, PUT, PATCH i DELETE — i obsługuje funkcję curl, węzeł żądań HTTP n8n oraz wygenerowanych klientów OpenAPI.
GET/api/v1/linksPrzeczytaj każdy blok strony
Zwraca uporządkowaną kolekcję, tożsamość obszaru roboczego i bieżącą wersję.
Zakres:links:readPATCH/api/v1/links/{linkId}Zmień jeden istniejący blok
Łączy edytowalne pola, sprawdza poprawność całej strony i publikuje nową wersję.
Zakres:links:writePUT/api/v1/linksZastąp pełną kolekcję
Użyj tego, aby dodać, usunąć lub zmienić kolejność bloków po przeczytaniu i zachowaniu bieżącej kolekcji.
Zakres:links:write| Powierzchnia deski rozdzielczej | Ścieżki API | Zakresy |
|---|---|---|
| Przestrzeń robocza i pełna wersja robocza | /workspace · /draft | workspace:read |
| Profil, motyw i podstrony | /profile · /theme · /pages | profile:* · theme:* · pages:* |
| Ustawienia ogólne, prywatności i menu | /settings/* | settings:* |
| Publikacja, wersje i kopia zapasowa | /publication · /versions · /backup | publication:* · backup:* |
| Domeny multimedialne i niestandardowe | /media/* · /domains/* | media:* · domains:* |
| Analizy i przegląd zmian AI | /analytics · /ai/* | analytics:read · ai:* |
| Sklep i newsletter | /shop/* · /newsletter/* | shop:* · newsletter:* |
| Zespół i rozliczenia | /team/* · /billing/* | team:* · billing:* |
Każda obsługiwana operacja na pulpicie nawigacyjnym, pogrupowana według kontrolowanej przez nią powierzchni.
Poniższe ścieżki odnoszą się do https://orbitpage.com/api/v1. Metoda, ścieżka i zakres to stabilny kontrakt integracyjny; schematy żądań, formaty, wartości wyliczeniowe i modele odpowiedzi znajdują się w połączonym dokumencie OpenAPI 3.1. Nieznane trasy zwracają 404, a nieobsługiwane metody nigdy nie są konwertowane w trybie dyskretnym.
01Przestrzeń robocza, zawartość i wyglądSprawdź obszar roboczy powiązany z tokenem i zarządzaj jego pełną wersją roboczą, profilem, blokami, motywem i podstronami.11 operacje
| Metoda i ścieżka | Operacja | Wymagany zakres | Wejście i sterowanie |
|---|---|---|---|
GET/workspace | Przeczytaj obszar roboczy, plan, dostęp, wykorzystanie i wersję | workspace:read | — |
GET/draft | Przeczytaj całą wersję roboczą edytowalnej strony | workspace:read | — |
GET/links | Lista bloków strony i bieżącej wersji | links:read | — |
PUT/links | Zastąp całą uporządkowaną kolekcję bloków | links:write | LinksReplaceRequest · If-Match |
PATCH/links/{linkId} | Aktualizuj pola edytowalne w jednym bloku | links:write | LinkPatch · If-Match |
GET/profile | Odczytaj tożsamość profilu i metadane | profile:read | — |
PATCH/profile | Zaktualizuj pola profilu | profile:write | JSON · If-Match · ?publish=1 |
GET/theme | Przeczytaj aktywny motyw roboczy | theme:read | — |
PUT/theme | Zastąp motyw roboczy | theme:write | JSON · If-Match · ?publish=1 |
GET/pages | Lista skonfigurowanych podstron | pages:read | — |
PUT/pages | Zastąp skonfigurowane podstrony | pages:write | array | { pages } · If-Match · ?publish=1 |
02Ustawienia i publikacjaKontroluj menu, prywatność, zarządzane pliki publiczne, generowanie map witryn i jawny cykl życia wersji roboczej do publicznej.9 operacje
| Metoda i ścieżka | Operacja | Wymagany zakres | Wejście i sterowanie |
|---|---|---|---|
GET/settings | Przeczytaj ustawienia menu, prywatności, pliku tekstowego i mapy witryny | settings:read | — |
PUT/settings/menu | Aktualizuj ustawienia menu | settings:write | JSON · If-Match · ?publish=1 |
PUT/settings/privacy | Zaktualizuj ustawienia zgody i prywatności | settings:write | JSON · If-Match · ?publish=1 |
POST/settings/text-files | Utwórz zarządzany publiczny plik tekstowy | settings:write | TextFileCreateRequest · If-Match |
PUT/settings/text-files/{key} | Zaktualizuj zarządzany publiczny plik tekstowy | settings:write | TextFileUpdateRequest · If-Match |
DELETE/settings/text-files/{key} | Usuń zarządzany publiczny plik tekstowy | settings:write | If-Match |
POST/settings/sitemap | Wygeneruj ponownie zarządzaną mapę witryny | settings:write | If-Match |
GET/publication | Przeczytaj wersję roboczą i status publikacji | publication:read | — |
POST/publication | Opublikuj najnowszą zatwierdzoną wersję roboczą | publication:write | — |
03Wersje, kopie zapasowe i nośnikiPrzywróć poprawioną zawartość, wyeksportuj lub zaimportuj dane obszaru roboczego i uruchom cykl życia multimediów: rezerwuj, przesyłaj, finalizuj.9 operacje
| Metoda i ścieżka | Operacja | Wymagany zakres | Wejście i sterowanie |
|---|---|---|---|
GET/versions | Wyświetl listę opublikowanych wersji stron, które można przywrócić | backup:read | — |
POST/versions/{revision}/restore | Przywróć i natychmiast opublikuj wersję historyczną | backup:write | If-Match |
GET/backup | Eksportuj kopię zapasową zarządzanego obszaru roboczego | backup:read | ?sections=profile,links,… |
POST/backup/restore | Sprawdź, przywróć i natychmiast opublikuj zarządzaną kopię zapasową | backup:write | BackupRestoreRequest · If-Match |
GET/media | Wyświetl metadane multimediów obszaru roboczego i ich wykorzystanie | media:read | — |
POST/media/cleanup | Wyświetl podgląd lub usuń multimedia, do których nie ma odniesienia | media:write | MediaCleanupRequest |
POST/media/uploads/reserve | Zarezerwuj bezpośrednie przesyłanie multimediów | media:write | MediaUploadReserveRequest |
POST/media/uploads/finalize | Sfinalizuj i zarejestruj przesłany obiekt | media:write | UploadTokenRequest |
DELETE/media/uploads | Przerwij przesyłanie zarezerwowanych multimediów | media:write | UploadTokenRequest |
04Domeny, analityka i sztuczna inteligencjaZarządzaj aktywacją DNS, czytaj raporty wydajności powiązane z planem i stosuj zmiany AI dopiero po zweryfikowaniu podglądu.8 operacje
| Metoda i ścieżka | Operacja | Wymagany zakres | Wejście i sterowanie |
|---|---|---|---|
GET/domains | Odczytaj status domeny i wymagania DNS | domains:read | — |
POST/domains | Podłącz domenę niestandardową | domains:write | DomainConnectRequest |
POST/domains/refresh | Odśwież weryfikację i aktywację | domains:write | — |
DELETE/domains | Odłącz domenę niestandardową | domains:write | — |
GET/analytics | Przeczytaj raport analityczny panelu kontrolnego | analytics:read | ?days=7|30|90 |
GET/ai/allowance | Odczytaj limit AI i bieżące wykorzystanie | ai:read | — |
POST/ai/plan | Wygeneruj zatwierdzony podgląd zmian AI | ai:write | AiPlanRequest |
POST/ai/commit | Zatwierdź wcześniej zatwierdzony podgląd AI | ai:write | AiCommitRequest |
05ShopPołącz handel, zarządzaj produktami i wyglądem, przesyłaj chronione pliki, a następnie publikuj lub cofaj publikację zsynchronizowanego bloku sklepu.10 operacje
| Metoda i ścieżka | Operacja | Wymagany zakres | Wejście i sterowanie |
|---|---|---|---|
GET/shop | Odczytaj produkty, zamówienia, klientów i stan Shop; operacja może zainicjować prywatne dane sklepu i odświeżyć stan Stripe | shop:read | ?refresh=0|1 |
POST/shop/connect | Utwórz lub kontynuuj wdrażanie Stripe Connect | shop:write | — |
POST/shop/products | Utwórz lub zaktualizuj produkt w Sklepie | shop:write | ShopProductRequest |
DELETE/shop/products/{productId} | Usuń produkt ze Sklepu | shop:write | — |
PUT/shop/appearance | Zastąp cały wygląd sklepu | shop:write | ShopAppearanceRequest |
POST/shop/publish | Publikuj sklep i jego zsynchronizowany blok strony | shop:write | — |
POST/shop/unpublish | Cofnij publikację sklepu | shop:write | — |
POST/shop/uploads/reserve | Zarezerwuj przesyłanie pliku produktu | shop:write | ShopFileUploadReserveRequest |
POST/shop/uploads/finalize | Zakończ przesyłanie pliku produktu | shop:write | ShopUploadTokenRequest |
DELETE/shop/uploads | Anuluj zarezerwowane przesyłanie pliku produktu | shop:write | ShopUploadTokenRequest |
06BiuletynSkonfiguruj szyfrowane dostarczanie SMTP, zarządzaj subskrybentami, którzy wyrazili zgodę i kontroluj cały cykl życia kampanii.9 operacje
| Metoda i ścieżka | Operacja | Wymagany zakres | Wejście i sterowanie |
|---|---|---|---|
GET/newsletter | Odczyt subskrybentów, kampanii i stanu SMTP | newsletter:read | — |
PUT/newsletter/settings | Zaktualizuj zaszyfrowane ustawienia SMTP | newsletter:write | NewsletterSmtpRequest |
POST/newsletter/settings/test | Wyślij test konfiguracji | newsletter:write | EmailRecipientRequest |
POST/newsletter/subscribers | Dodaj lub zaktualizuj zaakceptowanego subskrybenta | newsletter:write | NewsletterSubscriberRequest |
DELETE/newsletter/subscribers/{subscriberId} | Usuń abonenta | newsletter:write | — |
POST/newsletter/campaigns | Utwórz lub zaktualizuj kampanię | newsletter:write | NewsletterCampaignRequest |
DELETE/newsletter/campaigns/{campaignId} | Usuń kampanię | newsletter:write | — |
POST/newsletter/campaigns/{campaignId}/send | Ustaw w kolejce lub zaplanuj kampanię | newsletter:write | NewsletterSendRequest |
DELETE/newsletter/campaigns/{campaignId}/send | Anuluj kampanię w kolejce | newsletter:write | — |
07Zespół i rozliczeniaZarządzaj współpracownikami i zaproszeniami, sprawdzaj subskrypcje i otwieraj uwierzytelnione sesje kasowe lub portalowe Stripe.9 operacje
| Metoda i ścieżka | Operacja | Wymagany zakres | Wejście i sterowanie |
|---|---|---|---|
GET/team | Lista członków i oczekujących zaproszeń | team:read | — |
POST/team/invitations | Utwórz link z zaproszeniem do obszaru roboczego bez wysyłania wiadomości e-mail | team:write | TeamInvitationRequest |
PATCH/team/members/{memberUid} | Zaktualizuj rolę członka | team:write | TeamRoleRequest |
DELETE/team/members/{memberUid} | Usuń członka obszaru roboczego | team:write | — |
DELETE/team/invitations/{invitationId} | Odwołaj oczekujące zaproszenie | team:write | — |
GET/billing | Przeczytaj stan planu i subskrypcji | billing:read | — |
POST/billing/checkout | Utwórz kasę z planem Stripe | billing:write | BillingCheckoutRequest |
POST/billing/portal | Utwórz sesję portalu rozliczeniowego Stripe | billing:write | BillingPortalRequest |
POST/billing/promotion-code | Wykorzystaj kod promocyjny i zsynchronizuj uprawnienia wynikające z planu | billing:write | PromotionCodeRedeemRequest |
Utwórz jeden token dla jednej automatyzacji i jednego środowiska.
Otwórz Panel > Konto > Tokeny Personal API. Nadaj tokenowi nazwę identyfikującą jego właściciela i cel, wybierz pełny obszar roboczy, obszar roboczy tylko do odczytu, tylko łącza lub zakresy poszczególnych zasobów, a następnie wybierz okres wygaśnięcia 30, 90 lub 365 dni — lub brak wygaśnięcia, jeśli istnieje już udokumentowany proces rotacji.
Potwierdź swoją tożsamość
Utworzenie tokena to poufna czynność na koncie i wymaga niedawnego uwierzytelnienia Google lub hasła.
Wybierz najmniejszy zakres
Zakresy odczytu i zapisu są oddzielne dla każdego zasobu — na przykład theme:read, theme:write, shop:read i shop:write. Zakres zapisu automatycznie uwzględnia pasujący zakres odczytu.
Skopiuj sekret jeden raz
OrbitPage przechowuje skrót SHA-256, a nie możliwy do odzyskania sekret. Jeśli zostanie utracony, unieważnij go i utwórz kolejny token.
Przechowuj go poza kodem
Użyj zmiennej środowiskowej lub tajnego magazynu CI. Nigdy nie umieszczaj tokena w adresie URL, repozytorium, zrzucie ekranu, pakiecie przeglądarki lub dzienniku kompilacji.
export ORBITPAGE_TOKEN='op_pat_...'
curl --silent --show-error --include \
--header "Authorization: Bearer $ORBITPAGE_TOKEN" \
https://orbitpage.com/api/v1/links$env:ORBITPAGE_TOKEN = 'op_pat_...'
$headers = @{ Authorization = "Bearer $env:ORBITPAGE_TOKEN" }
Invoke-RestMethod -Uri 'https://orbitpage.com/api/v1/links' -Headers $headersPrzeczytaj kolekcję i zapisz jej wersję przed każdą zmianą.
Treść odpowiedzi zawiera uporządkowane bloki danych i bieżącą wersję liczbową. Ta sama wersja pojawia się w X-OrbitPage-Revision i jako słaby ETag. Zapisz dowolną wartość dla If-Match; nie zgaduj ani nie buforuj go w niepowiązanych uruchomieniach.
HTTP/2 200
etag: W/"42"
x-orbitpage-revision: 42
content-type: application/json; charset=utf-8
{
"object": "list",
"data": [
{
"id": "portfolio-main",
"type": "link",
"title": "Selected work",
"description": "Recent projects and case studies",
"url": "https://example.com/work",
"isActive": true,
"status": "live",
"availability": "available",
"clickCount": 18,
"position": 0
}
],
"revision": 42,
"workspace": {
"tenantId": "tenant_...",
"pageId": "page_...",
"username": "your-page"
}
}dataKompletna uporządkowana kolekcja bloków. Kolejność tablic to wizualna kolejność stron.revisionWersja optymistycznie-współbieżna używana przy każdym zapisie.workspaceNajemca, strona i nazwa użytkownika na stałe powiązane z tym tokenem.ETagNajbezpieczniejsza wartość do przekazania bezpośrednio jako następny nagłówek If-Match.Użyj PATCH dla najmniejszej zmiany w istniejącym bloku.
URL-koduj identyfikator zwrócony przez GET i wysyłaj tylko te pola, które powinny się zmienić. OrbitPage łączy łatkę z istniejącym blokiem, chroni pola tożsamości i analityki, sprawdza poprawność całej strony pod kątem schematu i planu, a następnie natychmiast publikuje.
curl --request PATCH \
--url https://orbitpage.com/api/v1/links/portfolio-main \
--header "Authorization: Bearer $ORBITPAGE_TOKEN" \
--header 'Content-Type: application/json' \
--header 'If-Match: W/"42"' \
--data '{
"title": "Book a consultation",
"url": "https://example.com/book",
"isActive": true
}'| Grupa pól | Przykłady | Zachowanie |
|---|---|---|
| Zawartość | title, description, url, content, textItems | Możliwość edycji, jeśli dotyczy istniejącego typu bloku. |
| Widoczność i czas | isActive, status, availability, startDate, endDate, timezone | Zatwierdzone razem z harmonogramem i zasadami planu. |
| Wygląd i multimedia | icon, coverImage, backgroundColor, alignment, size | Akceptowane tylko wtedy, gdy wartości odpowiadają schematowi strony. |
| Chronione | id, type, clickCount, ctaClicks, systemKey | Zignorowano lub odrzucono. Bloki zarządzane przez system nie mogą być łatane. |
Używaj PUT tylko wtedy, gdy sama kolekcja musi się zmienić.
PUT zastępuje kompletną uporządkowaną kolekcję. Jest to operacja dodania bloku, usunięcia bloku lub zmiany kolejności stron. Nie jest to skrót do aktualizacji jednego tytułu: pominięcie bloku powoduje jego usunięcie ze strony.
const token = process.env.ORBITPAGE_TOKEN;
if (!token) throw new Error("ORBITPAGE_TOKEN is missing");
const endpoint = "https://orbitpage.com/api/v1/links";
const authorization = { Authorization: `Bearer ${token}` };
const read = await fetch(endpoint, { headers: authorization });
if (!read.ok) throw new Error(`GET failed: ${read.status} ${await read.text()}`);
const current = await read.json();
const revision = read.headers.get("etag") ?? String(current.revision);
// Preserve the full collection and change only the intended block.
const links = current.data.map((block) =>
block.id === "portfolio-main"
? { ...block, title: "Work and case studies" }
: block
);
const write = await fetch(endpoint, {
method: "PUT",
headers: {
...authorization,
"Content-Type": "application/json",
"If-Match": revision
},
body: JSON.stringify({ links })
});
if (!write.ok) throw new Error(`PUT failed: ${write.status} ${await write.text()}`);
console.log(await write.json());Użyj natywnego węzła n8n lub tego samego kontraktu z klienta HTTP, wygenerowanego klienta, backendu lub modułu CI.
OrbitPage nie wymaga SDK: kompatybilny jest każdy klient HTTPS, który może wysyłać JSON, uwierzytelnianie Bearer i standardowe żądania GET, POST, PUT, PATCH i DELETE. Poniższe wzorce obejmują części stanowe, które integracja musi jawnie obsługiwać.
Natywny węzeł n8n
Zainstaluj n8n-nodes-orbitpage i utwórz poświadczenie OrbitPage API z osobistym tokenem oraz Base URL. Test połączenia bezpiecznie odczytuje obszar roboczy; następnie akcje z przewodnikiem obsługują ścieżki, uprawnienia, powiązania elementów i zapisy uwzględniające wersje, bez umieszczania sekretu w JSON-ie workflow.
Projekt i publikacja
Zapisy w profilach, motywach, stronach i obsługiwanych ustawieniach wymagają domyślnie funkcji If-Match i aktualizacji wersji roboczej. Dodaj ?publish=1, aby uzyskać kwalifikującą się publikację natychmiastową, lub przejrzyj kilka odroczonych zmian i jednokrotnie wywołaj funkcję POST /publication. Linki PATCH i PUT zostaną natychmiast opublikowane.
Bezpośrednie przesyłanie multimediów
Najpierw zarezerwuj, prześlij bajty do zwróconego adresu URL magazynu, a następnie sfinalizuj. Wyślij token nośnika OrbitPage tylko do orbitpage.com; używaj tylko metody i tymczasowych nagłówków zwróconych dla żądania przechowywania.
Sprawdzono zatwierdzenie AI
Plan zwraca zweryfikowany podgląd bez zmiany strony. Zapisz i sprawdź previewToken, a następnie zatwierdź dokładnie tę propozycję. Ustaw publish w treści zatwierdzenia tylko wtedy, gdy automatyzacja może opublikować wynik.
Install community node: n8n-nodes-orbitpage
Credential: OrbitPage API
OrbitPage API Token: op_pat_...
OrbitPage Base URL: https://orbitpage.com
Connection test: GET /api/v1/workspace
First safe workflow step:
Node: OrbitPage
Resource: Workspace & Draft
Operation: Get Workspace Overview
First revision-controlled write:
Resource: Theme
Operation: Replace Entire Theme Draft
Revision Check: Use Latest Automatically (Recommended)# 1. Reserve an upload and receive uploadUrl, slot and uploadToken
POST /api/v1/media/uploads/reserve
{ "filename": "cover.jpg", "contentType": "image/jpeg", "sizeBytes": 245760 }
# 2. Upload the bytes directly using the returned URL, method and headers
# Do not forward the OrbitPage Authorization header to the storage URL.
# 3. Register the uploaded object in the workspace
POST /api/v1/media/uploads/finalize
{ "slot": "<slot>", "uploadToken": "<uploadToken>" }# 1. Generate a validated preview without changing the page
POST /api/v1/ai/plan
{ "message": "Make the primary CTA clearer" }
# 2. Review the returned operations and previewToken
# 3. Apply the exact reviewed preview; publishing remains explicit
POST /api/v1/ai/commit
{ "previewToken": "<previewToken>", "publish": false }Użyj Base URL https://orbitpage.com, bez /api/v1. Prawidłowy zapis odczytuje /api/v1/workspace i potwierdza token, powiązanie obszaru roboczego oraz uprawnienie workspace:read bez zmiany danych.
Błąd 401 wymaga prawidłowego tokena zastępczego; błąd 403 — brakującego uprawnienia. Przy powtarzających się przekierowaniach sprawdź Base URL lub odwrotne proxy. Przekaż wsparciu status i kod JSON, nigdy sekret.
Traktuj poświadczenia automatyzacji jako krótkie, obserwowalne cykle życia.
Obszar roboczy obsługuje do dziesięciu aktywnych tokenów osobistych na użytkownika. Lista Konta pokazuje prefiks, zakresy, daty utworzenia i wygaśnięcia każdego tokenu oraz ostatnie użycie. Ostatnio używane znaczniki czasu są celowo zapisywane najwyżej raz na pięć minut.
name: Update OrbitPage
on: workflow_dispatch
jobs:
update:
runs-on: ubuntu-latest
env:
ORBITPAGE_TOKEN: ${{ secrets.ORBITPAGE_TOKEN }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- run: node scripts/update-orbitpage.mjs- Nazwij tokeny według systemu i środowiska — na przykład „Akcje GitHub · produkcja”.
- Zmień, tworząc zamiennik, aktualizując tajny magazyn, testując jeden odczyt, a następnie unieważniając stary token.
- Unieważnij natychmiast po podejrzeniu ujawnienia, zmiany właściciela lub wycofania przepływu pracy. Rezygnacja staje się skuteczna od następnego żądania.
- Nie buduj długotrwałego tokena współdzielonego. Oddzielne poświadczenia sprawiają, że dzienniki, rotacja i reakcja na incydenty są zrozumiałe.
Oddział dotyczący statusu HTTP i kodu czytelnego maszynowo.
Błędy używają JSON z błędem i kodem. Nie analizuj ludzkiego zdania, aby kontrolować przepływ pracy. Większość odpowiedzi 4xx wymaga zmiany żądania lub danych uwierzytelniających; w ścieżce automatycznego ponawiania prób znajdują się tylko konflikty wersji i limity szybkości.
INVALID_JSON · LINKS_REQUIRED · LINK_PATCH_INVALIDNapraw treść żądania lub pola odrzucone przez schemat strony.PERSONAL_TOKEN_*Zastąp brakujący, nieprawidłowy, wygasły lub unieważniony token. Nie próbuj ponownie z tym samym kluczem tajnym.PERSONAL_TOKEN_SCOPE_DENIED · SYSTEM_LINK_PROTECTEDUżyj wymaganego zakresu lub zatrzymaj: bieżąca tożsamość nie może wykonać tej operacji.LINK_NOT_FOUNDOdśwież kolekcję; identyfikator bloku mógł zostać usunięty lub zastąpiony.revision_conflictGET ponownie, zastosuj ponownie zamierzoną zmianę do nowego stanu i spróbuj ponownie z nową wersją.REQUEST_TOO_LARGETreść JSON powinna mieć wielkość 768 KiB lub mniejszą.UNSUPPORTED_CONTENT_ENCODINGWyślij nieskompresowaną treść żądania JSON.revision_requiredDodaj If-Match, używając wersji lub ETag zwróconego przez najnowszy GET.RATE_LIMITEDPoczekaj zgodnie z Retry-After, a następnie ponów próbę z wykładniczym opóźnieniem i losowym przesunięciem.Obecne limity pozwalają na 120 żądań na minutę i 5000 dziennie na token. Ochrona przed nadużyciami może je zaostrzyć; zawsze respektuj Retry-After.
Bezpieczna integracja jest wąska, tajna i uwzględnia możliwość rewizji.
Najmniejsze uprawnienia
Użyj tylko do odczytu, chyba że zadanie musi zostać opublikowane. Możliwości tokenu nigdy nie mogą przekraczać bieżącej roli właściciela w obszarze roboczym.
Tylko po stronie serwera
Wywołaj API z zaufanego skryptu, backendu lub modułu CI. Pakiet przeglądarki, klient mobilny lub repozytorium publiczne nie mogą zachować tajemnicy na okaziciela.
Brak zapisów w ciemno
Bezpośrednio przed zapisem wykonaj żądanie GET i użyj If-Match. Jeśli błąd 409 zwraca revision_conflict, ponownie odczytaj zasób i zastosuj zamierzoną zmianę; w przypadku każdego innego kodu rozwiąż udokumentowany problem biznesowy.
Zweryfikuj wyniki
Sprawdź status odpowiedzi, wersję i zwrócone dane. W przypadku ważnych zmian otwórz stronę publiczną po publikacji i powiadomij o niepowodzeniu bez logowania tokena.
Interfejs API REST automatyzacji tokenu osobistego to zarządzana funkcja SaaS.
Repozytorium typu open source zawiera interfejs API Express używany przez dołączony do niego pulpit nawigacyjny, ale ten wewnętrzny interfejs API sesji administratora nie jest tą samą umową na automatyzację z wersjami. Nie wysyłaj tokena op_pat do serwera hostowanego samodzielnie i nie wysyłaj tokenu JWT administratora hostowanego samodzielnie do orbitpage.com/api/v1.
Skorzystaj z tego przewodnika, umowy OpenAPI i tokenów osobistych utworzonych na Koncie.
Użyj dołączonego pulpitu nawigacyjnego na tym samym zaufanym źródle. Dokumentacja repozytorium wyjaśnia wewnętrzne granice dla autorów i opiekunów.