OrbitPage'i bir kontrol paneli oturumunu paylaşmadan otomatikleştirin.
Kapsamlı belirteçler oluşturun ve komut dosyaları, n8n, arka uçlar veya CI'dan OrbitPage kontrol panelini uçtan uca yönetin.
En son revizyon: 4 Ağustos 2026OrbitPage'i kişisel tokenlarla yönetin: sayfaları düzenleyip yayımlayın; medya, alan adları, analiz, AI, Shop, bülten ve faturalandırmayı kullanın.
Üç kimlik bilgisi sınırı üç farklı işi kapsar.
Bu sayfa sürümlendirilmiş REST sınırını belgelemektedir. OrbitPage belirteci bir OpenAI sağlayıcı anahtarı değildir ve hiçbir zaman özel kontrol paneli uç noktalarının kimliğini doğrulamaz.
| Yüzey | Kimlik Bilgisi | Amaç ve destek |
|---|---|---|
| Otomasyon REST API'si | op_pat_... | Komut dosyaları, n8n, sunucu arka uçları ve CI için desteklenen harici API. Token bağlantılı çalışma alanını /api/v1 aracılığıyla yönetir. |
| OrbitPage AI | op_pat_... + ai:read/ai:write | Kamu plan/taahhüt akışı, doğrulanmış yapay zeka tekliflerini hazırlar ve uygular. Herhangi bir OpenAI sağlayıcısı kimlik bilgisi, sunucu tarafı için ayrı bir sorun olarak kalır ve hiçbir zaman OrbitPage taşıyıcı belirteci değildir. |
| Kontrol Paneli API'leri | SaaS'ta Firebase oturumu; OSS'de yönetici oturumu | Tarayıcıdan uygulamaya özel rotalar. Bunlar istikrarlı bir harici entegrasyon sözleşmesi değildir ve kişisel API belirteçleri almamalıdır. |
Sürümlü kaynaklar kontrol panelini kapsar; bağlantı uç noktaları güvenli güncelleme döngüsünü gösterir.
Her istek, belirteç oluşturulduğunda seçilen çalışma alanına bağlıdır. Bir belirteç, URL'de veya istek gövdesinde başka bir kiracı seçemez ve mevcut çalışma alanı izinleri her çağrıda yeniden kontrol edilir.
Sözleşme standart HTTPS JSON işlemlerini (GET, POST, PUT, PATCH ve DELETE) kullanır ve curl'u, n8n'nin HTTP İstek düğümünü ve oluşturulan OpenAPI istemcilerini destekler.
GET/api/v1/linksHer sayfa bloğunu oku
Sıralı koleksiyonu, çalışma alanı kimliğini ve geçerli revizyonu döndürür.
Kapsam:links:readPATCH/api/v1/links/{linkId}Mevcut bir bloğu değiştir
Düzenlenebilir alanları birleştirir, tüm sayfayı doğrular ve yeni revizyonu yayınlar.
Kapsam:links:writePUT/api/v1/linksKoleksiyonun tamamını değiştir
Mevcut koleksiyonu okuduktan ve koruduktan sonra blokları eklemek, kaldırmak veya yeniden sıralamak için bunu kullanın.
Kapsam:links:write| Kontrol paneli yüzeyi | API yolları | Kapsamlar |
|---|---|---|
| Çalışma alanı ve taslağın tamamı | /workspace · /draft | workspace:read |
| Profil, tema ve alt sayfalar | /profile · /theme · /pages | profile:* · theme:* · pages:* |
| Genel, gizlilik ve menü ayarları | /settings/* | settings:* |
| Yayın, sürümler ve yedekleme | /publication · /versions · /backup | publication:* · backup:* |
| Medya ve özel alanlar | /media/* · /domains/* | media:* · domains:* |
| Analizler ve incelenen yapay zeka değişiklikleri | /analytics · /ai/* | analytics:read · ai:* |
| Alışveriş ve bülten | /shop/* · /newsletter/* | shop:* · newsletter:* |
| Ekip ve faturalandırma | /team/* · /billing/* | team:* · billing:* |
Kontrol ettiği yüzeye göre gruplandırılmış, desteklenen her kontrol paneli işlemi.
Aşağıdaki yollar https://orbitpage.com/api/v1 ile ilişkilidir. Yöntem, yol ve kapsam istikrarlı entegrasyon sözleşmesidir; istek şemaları, formatları, numaralandırma değerleri ve yanıt modelleri bağlantılı OpenAPI 3.1 belgesinde mevcuttur. Bilinmeyen rotalar 404 değerini döndürür ve desteklenmeyen yöntemler hiçbir zaman sessizce dönüştürülmez.
01Çalışma alanı, içerik ve görünümBelirteçle bağlı çalışma alanını inceleyin ve taslağının, profilinin, bloklarının, temasının ve alt sayfalarının tamamını yönetin.11 işlemleri
| Yöntem ve yol | Çalıştırma | Gerekli kapsam | Giriş ve kontroller |
|---|---|---|---|
GET/workspace | Çalışma alanını, planı, erişimi, kullanımı ve revizyonu okuyun | workspace:read | — |
GET/draft | Düzenlenebilir sayfa taslağının tamamını okuyun | workspace:read | — |
GET/links | Sayfa bloklarını ve geçerli revizyonu listele | links:read | — |
PUT/links | Sıralı blok koleksiyonunun tamamını değiştirin | links:write | LinksReplaceRequest · If-Match |
PATCH/links/{linkId} | Bir bloktaki düzenlenebilir alanları güncelleyin | links:write | LinkPatch · If-Match |
GET/profile | Profil kimliğini ve meta verilerini oku | profile:read | — |
PATCH/profile | Profil alanlarını güncelle | profile:write | JSON · If-Match · ?publish=1 |
GET/theme | Aktif taslak temasını oku | theme:read | — |
PUT/theme | Taslak temayı değiştir | theme:write | JSON · If-Match · ?publish=1 |
GET/pages | Yapılandırılmış alt sayfaları listele | pages:read | — |
PUT/pages | Yapılandırılmış alt sayfaları değiştirin | pages:write | array | { pages } · If-Match · ?publish=1 |
02Ayarlar ve yayınKontrol menüleri, gizlilik, yönetilen genel dosyalar, site haritası oluşturma ve taslaktan genel kullanıma açık yaşam döngüsü.9 işlemleri
| Yöntem ve yol | Çalıştırma | Gerekli kapsam | Giriş ve kontroller |
|---|---|---|---|
GET/settings | Menüyü, gizliliği, metin dosyasını ve site haritası ayarlarını oku | settings:read | — |
PUT/settings/menu | Menü ayarlarını güncelle | settings:write | JSON · If-Match · ?publish=1 |
PUT/settings/privacy | İzin ve gizlilik ayarlarını güncelleyin | settings:write | JSON · If-Match · ?publish=1 |
POST/settings/text-files | Yönetilen bir genel metin dosyası oluşturun | settings:write | TextFileCreateRequest · If-Match |
PUT/settings/text-files/{key} | Yönetilen bir genel metin dosyasını güncelleme | settings:write | TextFileUpdateRequest · If-Match |
DELETE/settings/text-files/{key} | Yönetilen bir genel metin dosyasını silin | settings:write | If-Match |
POST/settings/sitemap | Yönetilen site haritasını yeniden oluştur | settings:write | If-Match |
GET/publication | Taslağı ve yayın durumunu oku | publication:read | — |
POST/publication | En son onaylanmış taslağı yayınla | publication:write | — |
03Sürümler, yedeklemeler ve medyaDüzeltilmiş içeriği geri yükleyin, çalışma alanı verilerini içe veya dışa aktarın ve ayırma-yükleme-sonlandırma medya yaşam döngüsünü çalıştırın.9 işlemleri
| Yöntem ve yol | Çalıştırma | Gerekli kapsam | Giriş ve kontroller |
|---|---|---|---|
GET/versions | Geri yüklenebilir yayınlanmış sayfa sürümlerini listele | backup:read | — |
POST/versions/{revision}/restore | Geçmiş sürümü geri yükleyin ve hemen yayınlayın | backup:write | If-Match |
GET/backup | Yönetilen bir çalışma alanı yedeğini dışa aktarın | backup:read | ?sections=profile,links,… |
POST/backup/restore | Yönetilen bir yedeği doğrulayın, geri yükleyin ve hemen yayınlayın | backup:write | BackupRestoreRequest · If-Match |
GET/media | Çalışma alanı medya meta verilerini ve kullanımını listeleyin | media:read | — |
POST/media/cleanup | Referans verilmeyen medyayı önizleyin veya silin | media:write | MediaCleanupRequest |
POST/media/uploads/reserve | Doğrudan medya yüklemesi rezervasyonu yapın | media:write | MediaUploadReserveRequest |
POST/media/uploads/finalize | Yüklenen bir nesneyi sonlandırın ve kaydedin | media:write | UploadTokenRequest |
DELETE/media/uploads | Ayrılmış bir medya yüklemesini iptal et | media:write | UploadTokenRequest |
04Etki alanları, analizler ve yapay zekaYalnızca doğrulanmış bir önizlemeden sonra DNS aktivasyonunu yönetin, planla sınırlı performans raporlarını okuyun ve AI değişikliklerini uygulayın.8 işlemleri
| Yöntem ve yol | Çalıştırma | Gerekli kapsam | Giriş ve kontroller |
|---|---|---|---|
GET/domains | Etki alanı durumunu ve DNS gereksinimlerini okuyun | domains:read | — |
POST/domains | Özel bir etki alanı bağlayın | domains:write | DomainConnectRequest |
POST/domains/refresh | Doğrulamayı ve aktivasyonu yenile | domains:write | — |
DELETE/domains | Özel etki alanının bağlantısını kesin | domains:write | — |
GET/analytics | Kontrol paneli analiz raporunu okuyun | analytics:read | ?days=7|30|90 |
GET/ai/allowance | AI iznini ve mevcut kullanımı okuyun | ai:read | — |
POST/ai/plan | Doğrulanmış bir AI değişiklik önizlemesi oluşturun | ai:write | AiPlanRequest |
POST/ai/commit | Daha önce doğrulanmış bir AI önizlemesini gerçekleştirin | ai:write | AiCommitRequest |
05ShopTicareti bağlayın, ürünleri ve görünümü yönetin, korumalı dosyaları yükleyin, ardından senkronize Shop bloğunu yayınlayın veya yayından kaldırın.10 işlemleri
| Yöntem ve yol | Çalıştırma | Gerekli kapsam | Giriş ve kontroller |
|---|---|---|---|
GET/shop | Ürünleri, siparişleri, müşterileri ve Mağaza durumunu okuyun; özel Mağaza verilerini başlatabilir ve Stripe durumunu yenileyebilir | shop:read | ?refresh=0|1 |
POST/shop/connect | Stripe Connect katılımını oluşturun veya devam ettirin | shop:write | — |
POST/shop/products | Bir Mağaza ürünü oluşturun veya güncelleyin | shop:write | ShopProductRequest |
DELETE/shop/products/{productId} | Bir Mağaza ürününü silme | shop:write | — |
PUT/shop/appearance | Mağaza görünümünün tamamını değiştir | shop:write | ShopAppearanceRequest |
POST/shop/publish | Shop'u ve senkronize sayfa bloğunu yayımla | shop:write | — |
POST/shop/unpublish | Mağazayı Yayından Kaldır | shop:write | — |
POST/shop/uploads/reserve | Ürün dosyası yükleme rezervasyonu yapın | shop:write | ShopFileUploadReserveRequest |
POST/shop/uploads/finalize | Ürün dosyası yüklemesini sonlandırın | shop:write | ShopUploadTokenRequest |
DELETE/shop/uploads | Ayrılmış ürün dosyası yüklemesini iptal et | shop:write | ShopUploadTokenRequest |
06BültenŞifreli SMTP dağıtımını yapılandırın, izin verilen aboneleri yönetin ve kampanya yaşam döngüsünün tamamını kontrol edin.9 işlemleri
| Yöntem ve yol | Çalıştırma | Gerekli kapsam | Giriş ve kontroller |
|---|---|---|---|
GET/newsletter | Aboneleri, kampanyaları ve SMTP durumunu okuyun | newsletter:read | — |
PUT/newsletter/settings | Şifrelenmiş SMTP ayarlarını güncelle | newsletter:write | NewsletterSmtpRequest |
POST/newsletter/settings/test | Bir konfigürasyon testi gönder | newsletter:write | EmailRecipientRequest |
POST/newsletter/subscribers | İzin verilen bir aboneyi ekleyin veya güncelleyin | newsletter:write | NewsletterSubscriberRequest |
DELETE/newsletter/subscribers/{subscriberId} | Bir aboneyi kaldır | newsletter:write | — |
POST/newsletter/campaigns | Bir kampanya oluşturun veya güncelleyin | newsletter:write | NewsletterCampaignRequest |
DELETE/newsletter/campaigns/{campaignId} | Bir kampanyayı silin | newsletter:write | — |
POST/newsletter/campaigns/{campaignId}/send | Bir kampanyayı sıraya alın veya planlayın | newsletter:write | NewsletterSendRequest |
DELETE/newsletter/campaigns/{campaignId}/send | Sıraya alınmış bir kampanyayı iptal etme | newsletter:write | — |
07Ekip ve faturalandırmaOrtak çalışanları ve davetleri yönetin, abonelikleri inceleyin ve kimliği doğrulanmış Stripe ödeme veya portal oturumlarını açın.9 işlemleri
| Yöntem ve yol | Çalıştırma | Gerekli kapsam | Giriş ve kontroller |
|---|---|---|---|
GET/team | Üyeleri ve bekleyen davetiyeleri listele | team:read | — |
POST/team/invitations | E-posta göndermeden çalışma alanı daveti bağlantısı oluşturun | team:write | TeamInvitationRequest |
PATCH/team/members/{memberUid} | Üye rolünü güncelleme | team:write | TeamRoleRequest |
DELETE/team/members/{memberUid} | Bir çalışma alanı üyesini kaldırın | team:write | — |
DELETE/team/invitations/{invitationId} | Bekleyen bir daveti iptal et | team:write | — |
GET/billing | Planı ve abonelik durumunu okuyun | billing:read | — |
POST/billing/checkout | Stripe planı ödemesi oluştur | billing:write | BillingCheckoutRequest |
POST/billing/portal | Stripe faturalandırma portalı oturumu oluşturun | billing:write | BillingPortalRequest |
POST/billing/promotion-code | Promosyon kodunu kullanın ve plan kapsamındaki hakları yeniden eşitleyin | billing:write | PromotionCodeRedeemRequest |
Bir otomasyon ve bir ortam için bir belirteç oluşturun.
Kontrol Paneli > Hesap > Kişisel API belirteçlerini açın. Belirteci sahibini ve amacını tanımlayan bir ad verin, tam çalışma alanını, salt okunur çalışma alanını, salt bağlantıları veya bireysel kaynak kapsamlarını seçin, ardından 30, 90 veya 365 günlük bir sona erme tarihi seçin veya belgelenmiş bir rotasyon süreci zaten mevcut olduğunda sona erme olmamasını seçin.
Kimliğinizi doğrulayın
Jeton oluşturma hassas bir hesap işlemidir ve yakın zamanda Google veya şifre kimlik doğrulaması yapılmasını gerektirir.
En küçük kapsamı seçin
Okuma ve yazma kapsamları her kaynak için ayrıdır; örneğin theme:read, theme:write, shop:read ve shop:write. Bir yazma kapsamı otomatik olarak eşleşen okuma kapsamını içerir.
Sırrı bir kez kopyala
OrbitPage, kurtarılabilir sırrı değil, bir SHA-256 karmasını saklar. Kaybolursa iptal edin ve başka bir token oluşturun.
Kodun dışında saklayın
Bir ortam değişkeni veya CI gizli deposu kullanın. Belirteci asla bir URL'ye, depoya, ekran görüntüsüne, tarayıcı paketine veya derleme günlüğüne koymayın.
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 $headersKoleksiyonu okuyun ve her değişiklikten önce revizyonunu kaydedin.
Yanıt gövdesi, verilerdeki sıralı blokları ve geçerli sayısal revizyonu içerir. Aynı revizyon X-OrbitPage-Revision'da ve zayıf bir ETag olarak görünüyor. If-Match için iki değerden birini kaydedin; ilgisiz çalıştırmalarda tahmin etmeyin veya önbelleğe almayın.
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"
}
}dataSıralı blok koleksiyonunun tamamı. Dizi sırası görsel sayfa sırasıdır.revisionHer yazma tarafından kullanılan iyimser eşzamanlılık sürümü.workspaceKiracı, sayfa ve kullanıcı adı kalıcı olarak bu belirtece bağlıdır.ETagBir sonraki If-Match başlığı olarak doğrudan iletilecek en güvenli değer.Mevcut bir blokta yapılacak en küçük değişiklik için PATCH'i kullanın.
GET tarafından döndürülen kimliği URL olarak kodlayın ve yalnızca değişmesi gereken alanları gönderin. OrbitPage yamayı mevcut blokla birleştirir, kimlik ve analiz alanlarını korur, sayfanın tamamını şema ve planına göre doğrular ve ardından hemen yayınlar.
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
}'| Alan grubu | Örnekler | Davranış |
|---|---|---|
| İçerik | title, description, url, content, textItems | Mevcut blok türü için geçerli olduğunda düzenlenebilir. |
| Görünürlük ve zamanlama | isActive, status, availability, startDate, endDate, timezone | Zamanlama ve plan kurallarıyla birlikte doğrulandı. |
| Görünüm ve medya | icon, coverImage, backgroundColor, alignment, size | Yalnızca değerler sayfa şemasıyla eşleştiğinde kabul edilir. |
| Korumalı | id, type, clickCount, ctaClicks, systemKey | Yoksayıldı veya reddedildi. Sistem tarafından yönetilen bloklara yama uygulanamaz. |
PUT'u yalnızca koleksiyonun kendisinin değişmesi gerektiğinde kullanın.
PUT, sipariş edilen koleksiyonun tamamının yerini alır. Blok ekleme, blok kaldırma veya sayfa sırasını değiştirme işlemidir. Bu, bir başlığı güncellemenin kısayolu değildir: bir bloğun atlanması, onu sayfadan kaldırır.
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());Yerel n8n düğümünü veya bir HTTP istemcisinden, oluşturulan istemciden, arka uçtan veya CI çalıştırıcısından gelen aynı sözleşmeyi kullanın.
OrbitPage bir SDK gerektirmez: JSON, Taşıyıcı kimlik doğrulaması ve standart GET, POST, PUT, PATCH ve DELETE isteklerini gönderebilen herhangi bir HTTPS istemcisi uyumludur. Aşağıdaki modeller, bir entegrasyonun açıkça ele alması gereken durum bilgisi olan parçaları kapsar.
Yerel n8n düğümü
n8n-nodes-orbitpage paketini yükleyin ve kişisel token ile Base URL kullanarak OrbitPage API kimlik bilgisi oluşturun. Bağlantı testi çalışma alanını güvenli biçimde okur; ardından yönlendirmeli işlemler, sırrı workflow JSON’una kaydetmeden yolları, izinleri, öğe bağlantılarını ve revizyon duyarlı yazma işlemlerini yönetir.
Taslak ve yayın
Profil, tema, sayfalar ve desteklenen ayar yazıları If-Match gerektirir ve taslağı varsayılan olarak günceller. Uygun bir anında yayın için ?publish=1 ekleyin veya ertelenen birkaç değişikliği gözden geçirin ve POST /publication'ı bir kez çağırın. PATCH ve PUT bağlantılarını hemen yayınlayın.
Doğrudan medya yükleme
Önce yer ayırın, baytları döndürülen depolama URL'sine yükleyin ve ardından işlemi tamamlayın. OrbitPage bearer token'ını yalnızca orbitpage.com adresine gönderin; depolama isteği için yalnızca döndürülen yöntemi ve geçici başlıkları kullanın.
Yapay zeka işlemeyi inceledi
Plan, sayfayı değiştirmeden doğrulanmış bir önizleme döndürür. previewToken değerini saklayıp inceleyin ve tam olarak bu teklifi commit edin. publish değerini yalnızca otomasyon sonucu yayımlamaya yetkiliyse commit gövdesinde ayarlayın.
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 }/api/v1 eklemeden Base URL olarak https://orbitpage.com kullanın. Başarılı bir kayıt, /api/v1/workspace yolunu okur ve verileri değiştirmeden token’ı, çalışma alanı bağlantısını ve workspace:read iznini doğrular.
401 hatası geçerli bir yedek token, 403 hatası ise eksik izin gerektirir. Yönlendirmeler tekrarlanıyorsa Base URL veya ters proxy’yi kontrol edin. Destek ekibiyle durumu ve JSON kodunu paylaşın; sırrı asla paylaşmayın.
Otomasyon kimlik bilgilerini kısa, gözlemlenebilir yaşam döngüleri olarak değerlendirin.
Bir çalışma alanı, kullanıcı başına en fazla on aktif kişisel belirteci destekler. Hesap listesi her tokenın önekini, kapsamlarını, oluşturulma ve son kullanma tarihlerini ve son kullanımını gösterir. Son kullanılan zaman damgaları en fazla beş dakikada bir kasıtlı olarak yazılır.
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- Belirteçleri sisteme ve ortama göre adlandırın; örneğin, "GitHub Eylemleri · üretim".
- Değiştirmeyi oluşturarak, gizli depoyu güncelleyerek, bir okumayı test ederek ve ardından eski jetonu iptal ederek rotasyon yapın.
- Şüphelenilen ifşadan, sahiplik değişikliğinden veya iş akışının kullanımdan kaldırılmasından hemen sonra iptal edin. İptal, bir sonraki talepte geçerli olur.
- Uzun ömürlü, paylaşılan bir belirteç oluşturmayın. Ayrı kimlik bilgileri günlükleri, rotasyonu ve olay müdahalesini anlaşılır hale getirir.
HTTP durumu ve makine tarafından okunabilen koddaki dallanma.
Hatalar, hata ve kodla birlikte JSON'u kullanır. Bir iş akışını kontrol etmek için insan cümlesini ayrıştırmayın. Çoğu 4xx yanıtı, isteğin veya kimlik bilgilerinin değiştirilmesini gerektirir; yalnızca revizyon çakışmaları ve hız sınırları otomatik yeniden deneme yoluna aittir.
INVALID_JSON · LINKS_REQUIRED · LINK_PATCH_INVALIDİstek gövdesini veya sayfa şeması tarafından reddedilen alanları düzeltin.PERSONAL_TOKEN_*Eksik, geçersiz, süresi dolmuş veya iptal edilmiş bir jetonu değiştirin. Aynı sır ile tekrar denemeyin.PERSONAL_TOKEN_SCOPE_DENIED · SYSTEM_LINK_PROTECTEDGerekli kapsamı kullanın veya durdurun: mevcut kimliğin bu işlemi gerçekleştirmesine izin verilmiyor.LINK_NOT_FOUNDKoleksiyonu yenile; blok kimliği kaldırılmış veya değiştirilmiş olabilir.revision_conflictTekrar GET, amaçlanan değişikliği yeni duruma yeniden uygulayın ve yeni revizyonu yeniden deneyin.REQUEST_TOO_LARGEJSON gövdesini 768 KiB veya altında tutun.UNSUPPORTED_CONTENT_ENCODINGSıkıştırılmamış bir JSON istek gövdesi gönderin.revision_requiredEn son GET tarafından döndürülen revizyonu veya ETag'i kullanarak If-Match'i ekleyin.RATE_LIMITEDRetry-After süresini bekleyin, ardından üstel gecikme ve rastgele sapmayla yeniden deneyin.Mevcut sınırlar token başına dakikada 120, günde 5.000 isteğe izin verir. Kötüye kullanım koruması sırasında sınırlar düşebilir; Retry-After değerine her zaman uyun.
Güvenli bir entegrasyon dar, gizli ve revizyona duyarlıdır.
En az ayrıcalık
İşin yayınlanması gerekmediği sürece salt okunur kullanın. Belirteç yetenekleri hiçbir zaman sahibinin mevcut çalışma alanı rolünü aşamaz.
Yalnızca sunucu tarafı
API'yi güvenilir bir komut dosyasından, arka uçtan veya CI çalıştırıcısından çağırın. Bir tarayıcı paketi, mobil istemci veya genel depo, taşıyıcıyı gizli tutamaz.
Kör yazma yok
Yazma işleminden hemen önce GET isteği gönderin ve If-Match kullanın. Bir 409 hatası revision_conflict döndürürse kaynağı yeniden okuyup amaçlanan değişikliği tekrar uygulayın; diğer kodlarda belgelenmiş iş koşulunu çözün.
Sonuçları doğrula
Yanıt durumunu, revizyonu ve döndürülen verileri kontrol edin. Önemli değişiklikler için, yayınlandıktan sonra genel sayfayı açın ve başarısızlık durumunda belirteci günlüğe kaydetmeden uyarı verin.
Kişisel belirteç Otomasyonu REST API, yönetilen bir SaaS yeteneğidir.
Açık kaynak deposu, birlikte gelen kontrol panelinin kullandığı bir Express API içerir; ancak bu dahili yönetici oturumu API'si aynı sürümlü otomasyon sözleşmesi değildir. op_pat token'ını self-hosted sunucuya, self-hosted yönetici JWT'sini ise orbitpage.com/api/v1 adresine göndermeyin.
Bu kılavuzu, OpenAPI sözleşmesini ve Hesapta oluşturulan kişisel belirteçleri kullanın.
Paketlenmiş kontrol panelini aynı güvenilir kaynakta kullanın. Depo belgeleri, katkıda bulunanlar ve sürdürenler için iç sınırı açıklar.