واجهة برمجة تطبيقات REST للأتمتة

أتمتة OrbitPage دون مشاركة جلسة لوحة المعلومات.

قم بإنشاء الرموز المميزة ذات النطاق وإدارة لوحة معلومات OrbitPage من النهاية إلى النهاية من البرامج النصية أو n8n أو الواجهات الخلفية أو CI.

أحدث مراجعة: 4 أغسطس 2026

أدر مساحة عمل OrbitPage برموز شخصية محدودة: عدّل الصفحات وانشرها واستخدم الوسائط والنطاقات والتحليلات والذكاء الاصطناعي وShop والنشرات والفوترة.

API v1https://orbitpage.com/api/v1HTTPS · JSON · UTF-8
  1. 01الرمز الشخصي
  2. 02فحص المراجعة
  3. 03التحقق من الصحة والنشر
حدود واجهة برمجة التطبيقات (API).

ثلاثة حدود لبيانات الاعتماد تغطي ثلاث وظائف مختلفة.

توثق هذه الصفحة حدود REST التي تم إصدارها. رمز OrbitPage ليس مفتاح موفر OpenAI ولا يقوم مطلقًا بتوثيق نقاط نهاية لوحة المعلومات الخاصة.

السطحبيانات الاعتمادالغرض والدعم
واجهة برمجة تطبيقات REST للأتمتةop_pat_...واجهة برمجة التطبيقات الخارجية المدعومة للبرامج النصية وn8n والواجهات الخلفية للخادم وCI. وهو يدير مساحة العمل المرتبطة بالرمز المميز من خلال /api/v1.
OrbitPage AIop_pat_... + ai:read/ai:writeيقوم مسار الخطة العامة/الالتزام بإعداد وتطبيق مقترحات الذكاء الاصطناعي التي تم التحقق منها. تظل أي بيانات اعتماد لموفر OpenAI مصدر قلق منفصل من جانب الخادم ولا تعتبر أبدًا رمزًا مميزًا لحامل OrbitPage.
واجهات برمجة التطبيقات للوحة المعلوماتجلسة Firebase على SaaS؛ جلسة الإدارة على OSSمسارات خاصة من المتصفح إلى التطبيق. إنها ليست عقد تكامل خارجي مستقر ويجب ألا تتلقى رموز API الشخصية.
العقد

تغطي الموارد ذات الإصدار لوحة المعلومات؛ تُظهر نقاط نهاية الارتباط حلقة التحديث الآمن.

يرتبط كل طلب بمساحة العمل المحددة عند إنشاء الرمز المميز. لا يمكن للرمز المميز اختيار مستأجر آخر في عنوان URL أو نص الطلب، ويتم التحقق من أذونات مساحة العمل الحالية مرة أخرى في كل مكالمة.

يستخدم العقد عمليات HTTPS JSON القياسية — GET وPOST وPUT وPATCH وDELETE — ويدعم curl وعقدة طلب HTTP الخاصة بـ n8n وعملاء OpenAPI المُنشأين.

01
GET/api/v1/links

اقرأ كل جزء من الصفحة

إرجاع المجموعة المطلوبة وهوية مساحة العمل والمراجعة الحالية.

النطاق: links:read
02
PATCH/api/v1/links/{linkId}

قم بتغيير كتلة واحدة موجودة

يدمج الحقول القابلة للتحرير، ويتحقق من صحة الصفحة بأكملها وينشر المراجعة الجديدة.

النطاق: links:write
03
PUT/api/v1/links

استبدل المجموعة الكاملة

استخدم هذا لإضافة أو إزالة أو إعادة ترتيب الكتل بعد قراءة المجموعة الحالية والحفاظ عليها.

النطاق: links:write
سطح لوحة القيادةمسارات واجهة برمجة التطبيقاتالنطاقات
مساحة العمل والمسودة الكاملة/workspace · /draftworkspace:read
الملف الشخصي والموضوع والصفحات الفرعية/profile · /theme · /pagesprofile:* · theme:* · pages:*
الإعدادات العامة والخصوصية والقائمة/settings/*settings:*
النشر والإصدارات والنسخ الاحتياطي/publication · /versions · /backuppublication:* · backup:*
الوسائط والمجالات المخصصة/media/* · /domains/*media:* · domains:*
التحليلات ومراجعة تغييرات الذكاء الاصطناعي/analytics · /ai/*analytics:read · ai:*
المتجر والنشرة الإخبارية/shop/* · /newsletter/*shop:* · newsletter:*
الفريق والفواتير/team/* · /billing/*team:* · billing:*
افتح مواصفات OpenAPI 3.1
API v1 · 65 العمليات

كل عملية مدعومة من لوحة المعلومات، مجمعة حسب السطح الذي تتحكم فيه.

المسارات أدناه مرتبطة بـ https://orbitpage.com/api/v1. الطريقة والمسار والنطاق هي عقد التكامل المستقر؛ توجد مخططات الطلب والتنسيقات وقيم التعداد ونماذج الاستجابة في مستند OpenAPI 3.1 المرتبط. تقوم المسارات غير المعروفة بإرجاع 404 ولا يتم أبدًا تحويل الطرق غير المدعومة بصمت.

01
مساحة العمل والمحتوى والمظهرفحص مساحة العمل المرتبطة بالرمز المميز وإدارة المسودة الكاملة والملف التعريفي والكتل والموضوع والصفحات الفرعية.
11 العمليات
الطريقة والمسارالعمليةالنطاق المطلوبالإدخال وعناصر التحكم
GET/workspaceقراءة مساحة العمل والتخطيط والوصول والاستخدام والمراجعةworkspace:read
GET/draftاقرأ مسودة الصفحة الكاملة القابلة للتحريرworkspace:read
GET/linksقائمة كتل الصفحة والمراجعة الحاليةlinks:read
PUT/linksاستبدل مجموعة الكتل المطلوبة الكاملةlinks:writeLinksReplaceRequest · If-Match
PATCH/links/{linkId}قم بتحديث الحقول القابلة للتحرير في كتلة واحدةlinks:writeLinkPatch · If-Match
GET/profileاقرأ هوية الملف الشخصي والبيانات الوصفيةprofile:read
PATCH/profileتحديث حقول الملف الشخصيprofile:writeJSON · If-Match · ?publish=1
GET/themeاقرأ المسودة النشطة للموضوعtheme:read
PUT/themeاستبدل مسودة الموضوعtheme:writeJSON · If-Match · ?publish=1
GET/pagesقائمة بالصفحات الفرعية التي تم تكوينهاpages:read
PUT/pagesاستبدال الصفحات الفرعية التي تم تكوينهاpages:writearray | { pages } · If-Match · ?publish=1
02
الإعدادات والنشرقوائم التحكم، والخصوصية، والملفات العامة المُدارة، وإنشاء خريطة الموقع، ودورة الحياة الصريحة للمسودة العامة.
9 العمليات
الطريقة والمسارالعمليةالنطاق المطلوبالإدخال وعناصر التحكم
GET/settingsقائمة القراءة، والخصوصية، والملف النصي، وإعدادات خريطة الموقعsettings:read
PUT/settings/menuتحديث إعدادات القائمةsettings:writeJSON · If-Match · ?publish=1
PUT/settings/privacyقم بتحديث إعدادات الموافقة والخصوصيةsettings:writeJSON · If-Match · ?publish=1
POST/settings/text-filesقم بإنشاء ملف نصي عام مُدارsettings:writeTextFileCreateRequest · If-Match
PUT/settings/text-files/{key}قم بتحديث ملف نصي عام مُدارsettings:writeTextFileUpdateRequest · If-Match
DELETE/settings/text-files/{key}حذف ملف نصي عام مُدارsettings:writeIf-Match
POST/settings/sitemapقم بإعادة إنشاء خريطة الموقع المُدارةsettings:writeIf-Match
GET/publicationقراءة المسودة وحالة النشرpublication:read
POST/publicationنشر أحدث مسودة تم التحقق منهاpublication:write
03
الإصدارات والنسخ الاحتياطية والوسائطاستعادة المحتوى الذي تمت مراجعته، وتصدير أو استيراد بيانات مساحة العمل، وتشغيل دورة حياة الوسائط الاحتياطية والتحميل والانتهاء.
9 العمليات
الطريقة والمسارالعمليةالنطاق المطلوبالإدخال وعناصر التحكم
GET/versionsقائمة بإصدارات الصفحات المنشورة القابلة للاستعادةbackup:read
POST/versions/{revision}/restoreاستعادة النسخة التاريخية ونشرها على الفورbackup:writeIf-Match
GET/backupتصدير نسخة احتياطية لمساحة العمل المُدارةbackup:read?sections=profile,links,…
POST/backup/restoreالتحقق من صحة النسخة الاحتياطية المُدارة واستعادتها ونشرها على الفورbackup:writeBackupRestoreRequest · If-Match
GET/mediaقم بإدراج البيانات التعريفية لوسائط مساحة العمل واستخدامهاmedia:read
POST/media/cleanupقم بمعاينة أو حذف الوسائط غير المرجعيةmedia:writeMediaCleanupRequest
POST/media/uploads/reserveاحجز تحميلًا مباشرًا للوسائطmedia:writeMediaUploadReserveRequest
POST/media/uploads/finalizeقم بإنهاء وتسجيل الكائن الذي تم تحميلهmedia:writeUploadTokenRequest
DELETE/media/uploadsقم بإحباط تحميل الوسائط المحجوزةmedia:writeUploadTokenRequest
04
المجالات والتحليلات والذكاء الاصطناعيإدارة تنشيط DNS، وقراءة تقارير الأداء المرتبطة بالخطة، وتطبيق تغييرات الذكاء الاصطناعي فقط بعد المعاينة التي تم التحقق من صحتها.
8 العمليات
الطريقة والمسارالعمليةالنطاق المطلوبالإدخال وعناصر التحكم
GET/domainsاقرأ حالة المجال ومتطلبات DNSdomains:read
POST/domainsقم بتوصيل المجال المخصصdomains:writeDomainConnectRequest
POST/domains/refreshتحديث التحقق والتنشيطdomains:write
DELETE/domainsافصل المجال المخصصdomains:write
GET/analyticsاقرأ تقرير تحليلات لوحة المعلوماتanalytics:read?days=7|30|90
GET/ai/allowanceاقرأ بدل الذكاء الاصطناعي والاستخدام الحاليai:read
POST/ai/planقم بإنشاء معاينة تغيير AI تم التحقق منهاai:writeAiPlanRequest
POST/ai/commitقم بإجراء معاينة AI تم التحقق من صحتها مسبقًاai:writeAiCommitRequest
05
Shopربط التجارة، وإدارة المنتجات والمظهر، وتحميل الملفات المحمية، ثم نشر أو إلغاء نشر كتلة المتجر المتزامنة.
10 العمليات
الطريقة والمسارالعمليةالنطاق المطلوبالإدخال وعناصر التحكم
GET/shopقراءة المنتجات والطلبات والعملاء وحالة Shop؛ قد تهيئ العملية بيانات Shop الخاصة وتحدّث حالة Stripeshop:read?refresh=0|1
POST/shop/connectقم بإنشاء أو متابعة تأهيل Stripe Connectshop:write
POST/shop/productsقم بإنشاء منتج متجر أو تحديثهshop:writeShopProductRequest
DELETE/shop/products/{productId}حذف منتج المتجرshop:write
PUT/shop/appearanceاستبدال مظهر المتجر بالكاملshop:writeShopAppearanceRequest
POST/shop/publishنشر Shop وكتلة الصفحة المتزامنةshop:write
POST/shop/unpublishإلغاء نشر المتجرshop:write
POST/shop/uploads/reserveاحجز تحميل ملف المنتجshop:writeShopFileUploadReserveRequest
POST/shop/uploads/finalizeالانتهاء من تحميل ملف المنتجshop:writeShopUploadTokenRequest
DELETE/shop/uploadsإلغاء تحميل ملف منتج محجوزshop:writeShopUploadTokenRequest
06
النشرة الإخباريةقم بتكوين تسليم SMTP المشفر وإدارة المشتركين الموافقين والتحكم في دورة حياة الحملة الكاملة.
9 العمليات
الطريقة والمسارالعمليةالنطاق المطلوبالإدخال وعناصر التحكم
GET/newsletterقراءة المشتركين والحملات وحالة SMTPnewsletter:read
PUT/newsletter/settingsقم بتحديث إعدادات SMTP المشفرةnewsletter:writeNewsletterSmtpRequest
POST/newsletter/settings/testأرسل اختبار التكوينnewsletter:writeEmailRecipientRequest
POST/newsletter/subscribersإضافة أو تحديث مشترك موافق عليهnewsletter:writeNewsletterSubscriberRequest
DELETE/newsletter/subscribers/{subscriberId}قم بإزالة المشتركnewsletter:write
POST/newsletter/campaignsقم بإنشاء حملة أو تحديثهاnewsletter:writeNewsletterCampaignRequest
DELETE/newsletter/campaigns/{campaignId}حذف حملةnewsletter:write
POST/newsletter/campaigns/{campaignId}/sendقم بوضع الحملة في قائمة الانتظار أو جدولتهاnewsletter:writeNewsletterSendRequest
DELETE/newsletter/campaigns/{campaignId}/sendقم بإلغاء الحملة في قائمة الانتظارnewsletter:write
07
الفريق والفواتيرإدارة المتعاونين والدعوات، وفحص الاشتراكات وفتح جلسات تسجيل خروج Stripe أو جلسات البوابة المصادق عليها.
9 العمليات
الطريقة والمسارالعمليةالنطاق المطلوبالإدخال وعناصر التحكم
GET/teamقائمة الأعضاء والدعوات المعلقةteam:read
POST/team/invitationsأنشئ رابط دعوة لمساحة العمل دون إرسال بريد إلكترونيteam:writeTeamInvitationRequest
PATCH/team/members/{memberUid}تحديث دور العضوteam:writeTeamRoleRequest
DELETE/team/members/{memberUid}قم بإزالة عضو مساحة العملteam:write
DELETE/team/invitations/{invitationId}إلغاء الدعوة المعلقةteam:write
GET/billingاقرأ الخطة وحالة الاشتراكbilling:read
POST/billing/checkoutقم بإنشاء عملية دفع لخطة Stripebilling:writeBillingCheckoutRequest
POST/billing/portalأنشئ جلسة بوابة فوترة Stripebilling:writeBillingPortalRequest
POST/billing/promotion-codeاستخدام رمز ترويجي ومواءمة استحقاقات الخطةbilling:writePromotionCodeRedeemRequest
افتح عقد OpenAPI 3.1 الكامل
المصادقة

قم بإنشاء رمز مميز واحد لأتمتة واحدة وبيئة واحدة.

افتح لوحة التحكم > الحساب > الرموز المميزة لواجهة برمجة التطبيقات الشخصية. قم بتسمية الرمز المميز الذي يحدد مالكه والغرض منه، واختر مساحة عمل كاملة، أو مساحة عمل للقراءة فقط، أو روابط فقط أو نطاقات موارد فردية، ثم حدد انتهاء صلاحية لمدة 30 أو 90 أو 365 يومًا - أو عدم انتهاء الصلاحية عندما تكون عملية التناوب الموثقة موجودة بالفعل.

01

قم بتأكيد هويتك

يعد إنشاء الرمز المميز إجراءً حساسًا للحساب ويتطلب مصادقة حديثة من Google أو كلمة مرور.

02

اختر النطاق الأصغر

نطاقات القراءة والكتابة منفصلة لكل مورد — على سبيل المثال theme:read, theme:write, shop:read و shop:write. يتضمن نطاق الكتابة تلقائيًا نطاق القراءة المطابق له.

03

انسخ السر مرة واحدة

يقوم OrbitPage بتخزين تجزئة SHA-256، وليس السر القابل للاسترداد. إذا فقدت، قم بإلغائها وإنشاء رمز مميز آخر.

04

قم بتخزينه خارج الكود

استخدم متغير البيئة أو مخزن CI السري. لا تضع الرمز المميز أبدًا في عنوان URL أو مستودع أو لقطة شاشة أو حزمة متصفح أو سجل إنشاء.

macOS / Linuxbash
export ORBITPAGE_TOKEN='op_pat_...'

curl --silent --show-error --include \
  --header "Authorization: Bearer $ORBITPAGE_TOKEN" \
  https://orbitpage.com/api/v1/links
WindowsPowerShell
$env:ORBITPAGE_TOKEN = 'op_pat_...'
$headers = @{ Authorization = "Bearer $env:ORBITPAGE_TOKEN" }

Invoke-RestMethod -Uri 'https://orbitpage.com/api/v1/links' -Headers $headers
GET /links

اقرأ المجموعة والتقط مراجعتها قبل كل تغيير.

يحتوي نص الاستجابة على الكتل المطلوبة في البيانات والمراجعة الرقمية الحالية. تظهر نفس المراجعة في X-OrbitPage-Revision وكعلامة ETag ضعيفة. احفظ أيًا من القيمتين لـ If-Match؛ لا تقم بتخمينه أو تخزينه مؤقتًا عبر عمليات تشغيل غير ذات صلة.

مثال للإجابةHTTP + JSON
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"
  }
}
dataالمجموعة الكاملة للكتل المطلوبة. ترتيب المصفوفة هو ترتيب الصفحات المرئية.
revisionإصدار التزامن المتفائل الذي تستخدمه كل عملية كتابة.
workspaceيرتبط المستأجر والصفحة واسم المستخدم بشكل دائم بهذا الرمز المميز.
ETagالقيمة الأكثر أمانًا لتمريرها مباشرة كرأس If-Match التالي.
PATCH /links/{linkId}

استخدم PATCH لإجراء أصغر تغيير على كتلة موجودة.

يقوم عنوان URL بتشفير المعرف الذي تم إرجاعه بواسطة GET وإرسال الحقول التي يجب تغييرها فقط. تقوم OrbitPage بدمج التصحيح في الكتلة الموجودة، وحماية حقول الهوية والتحليلات، والتحقق من صحة الصفحة الكاملة مقابل مخططها وخطتها، ثم نشرها على الفور.

قم بتحديث كتلة واحدةcurl
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
  }'
مجموعة الحقولأمثلةالسلوك
المحتوىtitle, description, url, content, textItemsقابل للتحرير عندما يكون صالحًا لنوع الكتلة الموجود.
الرؤية والتوقيتisActive, status, availability, startDate, endDate, timezoneتم التحقق من صحتها مع قواعد الجدولة والخطة.
المظهر والوسائطicon, coverImage, backgroundColor, alignment, sizeيتم قبوله فقط عندما تتطابق القيم مع مخطط الصفحة.
محميid, type, clickCount, ctaClicks, systemKeyتم التجاهل أو الرفض. لا يمكن تصحيح الكتل التي يديرها النظام.
PUT /links

استخدم PUT فقط عندما يجب تغيير المجموعة نفسها.

يستبدل PUT المجموعة الكاملة المطلوبة. إنها عملية إضافة كتلة أو إزالة كتلة أو تغيير ترتيب الصفحات. إنه ليس اختصارًا لتحديث عنوان واحد: فحذف كتلة يؤدي إلى إزالتها من الصفحة.

01GETاقرأ كل كتلة وعلامة ETag
02قم بالتعديل محليًاالحفاظ على المعرفات والكتل التي لم تمسها
03PUT + If-Matchالتحقق من الصحة والنشر
نص آمن للقراءة والتعديل والكتابةNode.js 22+
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());
curl · n8n · OpenAPI

استخدم عقدة n8n الأصلية أو نفس العقد من عميل HTTP أو العميل الذي تم إنشاؤه أو الواجهة الخلفية أو مشغل CI.

لا يتطلب OrbitPage SDK: أي عميل HTTPS يمكنه إرسال JSON ومصادقة Bearer وطلبات GET وPOST وPUT وPATCH وDELETE القياسية متوافقة. تغطي الأنماط الموجودة أدناه الأجزاء ذات الحالة التي يجب أن يتعامل معها التكامل بشكل صريح.

01

عقدة n8n الأصلية

ثبّت n8n-nodes-orbitpage وأنشئ بيانات اعتماد OrbitPage API باستخدام الرمز الشخصي وBase URL. يقرأ اختبار الاتصال مساحة العمل بأمان؛ ثم تدير الإجراءات الإرشادية المسارات والأذونات وروابط العناصر وعمليات الكتابة المراعية للمراجعات من دون حفظ السر في JSON الخاص بسير العمل.

02

المسودة والنشر

تتطلب عمليات كتابة الملف الشخصي والسمة والصفحات والإعدادات المدعومة If-Match، وتحدّث المسودة افتراضيًا. أضف ?publish=1 للنشر الفوري المؤهل، أو راجع عدة تغييرات مؤجلة ثم استدعِ POST /publication مرة واحدة. تنشر عمليتا PATCH وPUT الخاصة بالروابط فورًا.

03

تحميل الوسائط المباشر

احجز أولاً، ثم ارفع البيانات إلى عنوان التخزين المُعاد وأكمل العملية. أرسل bearer token الخاص بـ OrbitPage إلى orbitpage.com فقط؛ واستخدم فقط الطريقة والترويسات المؤقتة المُعادة لطلب التخزين.

04

تمت مراجعة التزام الذكاء الاصطناعي

تعيد Plan معاينة متحققًا منها دون تغيير الصفحة. خزّن previewToken وراجعه، ثم طبّق ذلك الاقتراح نفسه. عيّن publish في نص commit فقط عندما تكون الأتمتة مخوّلة بنشر النتيجة.

البداية السريعة الأصلية لـ n8nn8n
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)
تحميل الوسائط بثلاث خطواتHTTP + JSON
# 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>" }
مراجعة تدفق الذكاء الاصطناعي أولاًHTTP + JSON
# 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 }
اختبار بيانات الاعتماد

استخدم https://orbitpage.com بوصفه Base URL، من دون /api/v1. عند نجاح الحفظ، تتم قراءة /api/v1/workspace والتحقق من الرمز وربط مساحة العمل وإذن workspace:read من دون تغيير البيانات.

استكشاف أخطاء n8n وإصلاحها

يتطلب الخطأ 401 رمزًا بديلًا صالحًا، ويتطلب الخطأ 403 الإذن المفقود. عند تكرار عمليات إعادة التوجيه، تحقّق من Base URL أو الوكيل العكسي. شارك الحالة ورمز JSON مع الدعم، ولا تشارك السر أبدًا.

اقرأ الدليل الكامل لعقدة n8n الأصلية

العمليات

تعامل مع بيانات اعتماد التشغيل الآلي باعتبارها دورات حياة قصيرة ويمكن ملاحظتها.

تدعم مساحة العمل ما يصل إلى عشرة رموز شخصية نشطة لكل مستخدم. تعرض قائمة الحساب بادئة كل رمز مميز، ونطاقاته، وتواريخ الإنشاء وانتهاء الصلاحية، والاستخدام الأخير. تتم كتابة الطوابع الزمنية الأخيرة المستخدمة عمدًا مرة واحدة على الأكثر كل خمس دقائق.

GitHub ActionsYAML
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
  • قم بتسمية الرموز المميزة حسب النظام والبيئة - على سبيل المثال، "GitHub Actions · production".
  • قم بالتدوير عن طريق إنشاء البديل، وتحديث المتجر السري، واختبار قراءة واحدة، ثم إلغاء الرمز القديم.
  • يتم الإلغاء فورًا بعد الإفصاح المشتبه به أو تغيير الملكية أو التقاعد عن سير العمل. يسري مفعول الإلغاء عند الطلب التالي.
  • لا تقم بإنشاء رمز مميز مشترك طويل الأمد. بيانات الاعتماد المنفصلة تجعل السجلات والتناوب والاستجابة للحوادث مفهومة.
معالجة الفشل

فرع على حالة HTTP والتعليمات البرمجية القابلة للقراءة آليًا.

تستخدم الأخطاء JSON مع الخطأ والرمز. لا تقم بتحليل الجملة البشرية للتحكم في سير العمل. تتطلب معظم استجابات 4xx تغيير الطلب أو بيانات الاعتماد؛ فقط تعارضات المراجعة وحدود المعدل تنتمي إلى مسار إعادة المحاولة التلقائي.

400INVALID_JSON · LINKS_REQUIRED · LINK_PATCH_INVALIDقم بإصلاح نص الطلب أو الحقول المرفوضة بواسطة مخطط الصفحة.
401PERSONAL_TOKEN_*استبدل الرمز المميز المفقود أو غير الصالح أو منتهي الصلاحية أو الملغي. لا تعيد المحاولة بنفس السر.
403PERSONAL_TOKEN_SCOPE_DENIED · SYSTEM_LINK_PROTECTEDاستخدم النطاق المطلوب أو توقف: الهوية الحالية غير مسموح لها بإجراء هذه العملية.
404LINK_NOT_FOUNDتحديث المجموعة؛ ربما تمت إزالة معرف الكتلة أو استبداله.
409revision_conflictنفّذ GET مرة أخرى، وأعد تطبيق التغيير المقصود على الحالة الجديدة، ثم أعد المحاولة باستخدام المراجعة الجديدة.
413REQUEST_TOO_LARGEاحتفظ بجسم JSON عند 768 كيلو بايت أو أقل.
415UNSUPPORTED_CONTENT_ENCODINGأرسل نص طلب JSON غير مضغوط.
428revision_requiredأضف If-Match باستخدام المراجعة أو ETag التي تم إرجاعها بواسطة أحدث GET.
429RATE_LIMITEDانتظر المدة المحددة في Retry-After، ثم أعد المحاولة بتأخير أُسّي وتفاوت عشوائي.

تسمح الحدود الحالية بـ 120 طلبًا في الدقيقة و5000 طلب يوميًا لكل رمز. قد تنخفض الحدود أثناء الحماية من إساءة الاستخدام؛ التزم دائمًا بـ Retry-After.

الأمان

التكامل الآمن يكون ضيقًا وسريًا وقابلاً للمراجعة.

01

أقل امتياز

استخدم للقراءة فقط ما لم يتم نشر الوظيفة. لا يمكن مطلقًا أن تتجاوز إمكانات الرمز المميز دور مساحة العمل الحالية للمالك.

02

من جانب الخادم فقط

اتصل بواجهة برمجة التطبيقات (API) من برنامج نصي موثوق أو واجهة خلفية أو مشغل CI. لا يمكن لحزمة المتصفح أو عميل الهاتف المحمول أو المستودع العام الاحتفاظ بسرية حاملها.

03

لا يكتب المكفوفين

نفّذ طلب GET مباشرة قبل الكتابة واستخدم If-Match. إذا أعاد الخطأ 409 الرمز revision_conflict، فأعد قراءة المورد وطبّق التغيير المقصود من جديد؛ ولأي رمز آخر، عالج حالة العمل الموضحة في الوثائق.

04

التحقق من صحة النتائج

التحقق من حالة الاستجابة ومراجعة البيانات التي تم إرجاعها. لإجراء تغييرات مهمة، افتح الصفحة العامة بعد النشر وقم بالتنبيه عند الفشل دون تسجيل الرمز المميز.

حدود الإصدار

تعد واجهة Automation REST API للرمز الشخصي إحدى إمكانيات SaaS المُدارة.

يتضمن المستودع مفتوح المصدر Express API تستخدمها لوحة المعلومات المرفقة، لكن API جلسة المسؤول الداخلية ليست عقد الأتمتة نفسه ذي الإصدارات. لا ترسل رمز op_pat إلى خادم self-hosted ولا ترسل JWT لمسؤول self-hosted إلى orbitpage.com/api/v1.

مساحة العمل المُدارة

استخدم هذا الدليل وعقد OpenAPI والرموز الشخصية التي تم إنشاؤها في الحساب.

مثيل مستضاف ذاتيًا

استخدم لوحة المعلومات المجمعة على نفس المصدر الموثوق به. تشرح وثائق المستودع الحدود الداخلية للمساهمين والمشرفين.

اقرأ حدود واجهة برمجة التطبيقات مفتوحة المصدر
Automation REST API and personal tokens | OrbitPage