AutoAiSeo API وMCP

استخدم بيانات AutoAiSeo في برامجك الخاصة (REST API) أو مع مساعدي الذكاء الاصطناعي مثل Claude وChatGPT وCursor (MCP). كل طلب يصل فقط إلى بيانات حسابك.

البدء

  1. افتح في اللوحة علامة التبويب API وMCP ، ثم أنشئ مفتاحًا عبر مفتاح جديد . يُعرض المفتاح (rk_live_…) مرة واحدة فقط.
  2. أرسله عبر الترويسة Authorization: Bearer في كل طلب.
curl -H "Authorization: Bearer rk_live_…" https://autoaiseo.example/api/v1/sites

العنوان الأساسي: https://autoaiseo.example/api/v1. جميع الاستجابات بصيغة JSON؛ وتأتي نتائج الطلبات الناجحة ضمن الحقل data في جسم الاستجابة.

المصادقة والصلاحيات

الصلاحيةما الذي يمكنه فعله
read (قراءة)الحساب، والمواقع، والمقالات، والكلمات المفتاحية، وتقرير الروابط الخلفية، والتقدّم، وسجل الخدمات.
read_write (قراءة وكتابة)بالإضافة إلى إضافة أفكار المقالات، وطلب كتابة المقالات (تُخصم من الحصة الشهرية لخطتك)، ونشر المقالات.
  • 10 مفاتيح مفعّلة كحد أقصى لكل حساب. يمكن أن تكون المفاتيح بلا انتهاء أو صالحة لمدة 30 يومًا أو 90 يومًا أو سنة.
  • لا يحفظ AutoAiSeo المفتاح نفسه، بل يحفظ فقط بصمة SHA-256 الخاصة به وبدايته الظاهرة (rk_live_Ab3dEf). لا يمكن استعادة المفتاح المفقود؛ ألغِه وأنشئ مفتاحًا جديدًا.
  • تتوقف فورًا عن العمل المفاتيح التابعة لحسابات ملغاة أو منتهية أو معلّقة.
  • ملفات تعريف الارتباط الخاصة بجلسة المتصفح غير صالحة في API؛ ويجب إرسال المفتاح مع كل طلب.

حد الطلبات

60 طلبًا في الدقيقة لكل مفتاح (أو اتصال OAuth). تتضمن الاستجابات الترويستين X-RateLimit-Limit و X-RateLimit-Remaining . وعند تجاوز الحد يُعاد الرمز 429 مع الترويسة Retry-After التي تحدد عدد الثواني الواجب انتظارها.

الأخطاء

{ "error": { "code": "not_found", "message": "Site bulunamadı" } }
HTTPcodeالمعنى
400invalid_requestالمعامل أو جسم الطلب غير صالح.
401unauthorized, invalid_tokenالمفتاح مفقود أو غير صالح أو ملغى أو منتهي الصلاحية.
402quota_exceededاستُنفدت حصتك من المقالات لهذا الشهر.
403insufficient_scopeتتطلب العملية صلاحية “قراءة وكتابة”.
403account_suspendedالحساب معلّق.
404not_foundالسجل غير موجود أو لا يخصك.
409conflict, not_ready, limit_reachedالمقالة قيد الكتابة/منشورة بالفعل، أو غير جاهزة للنشر، أو تم بلوغ أحد الحدود.
429rate_limitedتم تجاوز حد الطلبات.
502publish_failedلم تقبل وجهة النشر (WordPress، Shopify…) عملية النشر.
500internal_errorخطأ غير متوقع في الخادم.

ترقيم الصفحات

تقبل القوائم الطويلة المعاملين page و per_page (بحد أقصى 100–200)، وتُعيد المعلومات التالية:

"pagination": { "page": 1, "per_page": 50, "total": 132, "total_pages": 3 }

نقاط النهاية

GET /api/v1/me

الحساب، وحدود الخطة، واستخدام هذا الشهر، ورصيد الروابط الخلفية الإضافي، وصلاحية المفتاح المستخدم.

GET /api/v1/sites

مواقعك: id، اسم النطاق، الحالة، درجة صحة SEO، درجة الثقة، المقالات المنشورة، الروابط الخلفية النشطة، النطاقات المُحيلة، التغيّر خلال 30 يومًا، والمقالة التالية.

GET /api/v1/sites/{id}

ملخص الموقع: الملف، وإعدادات النشر، وأعداد المقالات (حسب الحالة)، وملخص شبكة الروابط الخلفية، وملخص التقدّم خلال 30 يومًا.

GET /api/v1/sites/{id}/progress?range=90d

تقرير التقدّم. range: 30d, 90d, 180d, 365d, all.

GET /api/v1/sites/{id}/articles

المقالات (مقسّمة على صفحات). المعاملات: status (planned, generating, review, approved, published, failed), q (البحث في العنوان/الكلمة)، page, per_page.

GET /api/v1/articles/{id}

المقالة: العنوان، ووصف meta، والدرجات (SEO وGEO وسهولة القراءة)، والأسئلة الشائعة، وروابط الشركاء الخلفية، والروابط في النص (داخلية/خارجية/للشركاء)، والمحتوى. content: html (افتراضي)، markdown أو none.

GET /api/v1/sites/{id}/keywords

الكلمات المفتاحية (مقسّمة على صفحات): المجموعة، ونية البحث، والأولوية، والمقالة التي تستهدف الكلمة (article_id, article_status). المعاملات: cluster, q, page, per_page.

GET /api/v1/sites/{id}/backlinks

تقرير الروابط الخلفية: النقاط، والروابط النشطة/المعلّقة، والنطاقات المُحيلة، وتوزيع نصوص الروابط، والروابط المستلمة (مقسّمة على صفحات)، وآخر الروابط الممنوحة.

GET /api/v1/sites/{id}/services

الأعمال التي أنجزها AutoAiSeo للموقع: الإجماليات، وآخر 12 شهرًا، والسجل (30 لكل صفحة). المعاملات: kind, q, page.

POST /api/v1/sites/{id}/articles read_write

يضيف فكرة مقالة إلى خطة المحتوى (الحالة planned). إذا لم يُحدَّد تاريخ، توضع الفكرة في اليوم التالي لآخر مقالة في الخطة؛ وعند حلول التاريخ يكتبها AutoAiSeo. لا تستهلك من الحصة.

curl -X POST -H "Authorization: Bearer rk_live_…" -H "Content-Type: application/json" \
  -d '{"title":"Filtre kahve nasıl demlenir?","target_keyword":"filtre kahve demleme","angle":"Yeni başlayanlar için"}' \
  https://autoaiseo.example/api/v1/sites/12/articles

جسم الطلب: title (إلزامي، 5–200)، target_keyword, cluster, angle, scheduled_for (YYYY-MM-DD). رمز الاستجابة: 201.

POST /api/v1/articles/{id}/generate read_write

يطلب كتابة المقالة في الخلفية (202، الحالة generating). تنطبق القواعد نفسها المطبقة في اللوحة: تُخصم من حصتك الشهرية (إعادة كتابة مقالة كُتبت هذا الشهر مجانية)، ولا يمكن إعادة كتابة مقالة منشورة. وعند الانتهاء تصبح الحالة review olur.

POST /api/v1/articles/{id}/publish read_write

يرسل المقالة المكتوبة إلى وجهة النشر الخاصة بالموقع (مدونة AutoAiSeo، WordPress، Shopify، Webflow، webhook) ويُعيد عنوان النشر.

خادم MCP

العنوان: https://autoaiseo.example/mcp — طبقة النقل Streamable HTTP (استجابات JSON). إصدارات البروتوكول: 2026-07-28 والإصدارات الأقدم القائمة على المصافحة (2025-11-25, 2025-06-18, 2025-03-26).

تتم المصادقة بإحدى طريقتين:

  • OAuth — عند إضافة العنوان، تفتح الموصلات مثل Claude وChatGPT صفحة تسجيل الدخول والإذن في AutoAiSeo؛ ولا حاجة إلى مفتاح API. يظهر الاتصال في اللوحة ضمن التطبيقات المتصلة— يمكنك إزالة الاتصال من هناك.
  • مفتاح API — في عملاء مثل Cursor وClaude Code وVS Code، باستخدام Authorization: Bearer rk_live_… كترويسة.

Claude

الإعدادات ← الموصلات ← إضافة موصل مخصص، ثم الصق عنوان MCP في حقل URL واضغط على اتصالللمتابعة.

ChatGPT

الإعدادات ← التطبيقات والموصلات ← الإعدادات المتقدمة: فعّل وضع المطوّر، ثم استخدم إنشاء موصل لإدخال عنوان MCP واختيار مصادقة OAuth.

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "autoaiseo": {
      "url": "https://autoaiseo.example/mcp",
      "headers": { "Authorization": "Bearer rk_live_…" }
    }
  }
}

Claude Code

claude mcp add --transport http autoaiseo https://autoaiseo.example/mcp --header "Authorization: Bearer rk_live_…"

أدوات MCP

تتضمن نتائج الأدوات ملخصًا نصيًا قصيرًا والبيانات نفسها بصيغة منظَّمة (structuredContent). لا تظهر أدوات الكتابة إلا عند منح إذن الكتابة.

الأداةما الذي تفعله
list_sitesالمواقع والمقاييس الموجزة؛ وللأدوات الأخرى: site_id.
site_overviewملف الموقع، والمقاييس، وأعداد المقالات، وملخص شبكة الروابط الخلفية.
site_progressتقرير التقدّم لفترة معينة (البداية والآن، والمحطات البارزة).
list_articlesالمقالات؛ مع تصفية بالحالة والنص، ومقسّمة على صفحات.
get_articleمحتوى المقالة (markdown/HTML)، والدرجات، والروابط، والأسئلة الشائعة.
list_keywordsالكلمات المفتاحية والمقالات التي تغطيها.
backlink_reportتقرير شبكة الروابط الخلفية والروابط المستلمة.
services_historyتفصيل الأعمال التي أنجزها AutoAiSeo.
add_article_idea yazmaيضيف فكرة مقالة إلى خطة المحتوى.
generate_article yazmaيطلب كتابة المقالة (تُخصم من الحصة).
publish_article yazmaينشر المقالة.

OAuth (لمن يطوّر عميل MCP)

يتضمن AutoAiSeo خادم تفويض OAuth 2.1 صغيرًا متوافقًا مع مواصفة تفويض MCP.

معلومات المورد المحمي/.well-known/oauth-protected-resource (وكذلك /mcp مُلحقًا بآخره)
معلومات خادم التفويض/.well-known/oauth-authorization-server
تسجيل العميلClient ID Metadata Documents (https client_id) أو التسجيل الديناميكي: POST /oauth/register (للعملاء العامّين فقط، token_endpoint_auth_method: none)
التفويضGET /oauth/authorize — response_type=code، PKCE S256 zorunlu, resource (RFC 8707)، وفي الاستجابة iss (RFC 9207)
المفتاحPOST /oauth/token — authorization_code و refresh_token
إلغاءPOST /oauth/revoke (RFC 7009)
النطاقات (Scopes)read, write (الكتابة تشمل القراءة). يختار المستخدم المستوى في شاشة الموافقة.
  • يجب أن تكون عناوين إعادة التوجيه https أو localhost/127.0.0.1 — ويجب أن تتطابق تمامًا (المنفذ حرّ في عناوين loopback).
  • رمز التفويض صالح لمدة دقيقتين ويُستخدم مرة واحدة فقط؛ واستخدامه مرة ثانية يُلغي جميع رموز ذلك الاتصال.
  • رمز الوصول صالح لمدة ساعة واحدة، ورمز التحديث لمدة 30 يومًا. تتغيّر رموز التحديث مع كل استخدام؛ وإعادة استخدام رمز تحديث قديم تُغلق الاتصال.
  • لا تُصدر رموز الوصول إلا لخادم MCP؛ أما REST API فتتطلب مفتاح API شخصيًا.
  • نطاق صلاحية غير كافٍ 403 و WWW-Authenticate: Bearer error="insufficient_scope", scope="read write" في الاستجابة.

الخصوصية

لا يتضمن سجل نشاط API الذي تراه في اللوحة إلا الطريقة والمسار ورمز الحالة والمدة والبداية الظاهرة للمفتاح (أو اسم تطبيق OAuth) والوقت. ولا تُسجَّل محتويات الطلبات والاستجابات ولا عناوين IP؛ ويُحتفظ بآخر 1000 طلب لكل حساب.