دليل واجهة برمجة تطبيقات BuyLinksForSEO

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

عنوان URL الأساسي والمصادقة

  • عنوان URL الأساسي https://buylinksforseo.com
  • بادئة الإصدار /v1
  • المصادقة Authorization: Bearer <your_api_key> (أو ?api_key=…)
  • نوع المحتوى application/json

أنشئ وانسخ المفاتيح في لوحة التحكم ← API. المفتاح ينتمي إلى حساب واحد ويعمل على ذلك الحساب. يمكن للواجهة البرمجية فعل كل شيء باستثناء تعبئة رصيدك — تظل إضافة الرصيد داخل لوحة التحكم.

تنسيق الاستجابة

كل رد هو JSON. أغلفة النجاح والخطأ:

{ "success": true, "data": { … } }
{ "success": false, "error": { "code": "unauthorized", "message": "…" } }

نقاط النهاية

GET/v1/me

حسابك.

{ "success": true, "data": { "id": 123, "email": "[email protected]", "name": "You", "balance": 45.00 } }
GET/v1/balance

رصيد الحساب الحالي (بالدولار الأمريكي).

GET/v1/donors

مواقع الجهات المانحة في السوق (مقسم إلى صفحات، 20/صفحة). معاملات الاستعلام الاختيارية: page, domain_filter, ext_filter, dr_min, referring_domains_min, price_filter, top100_filter.

{ "success": true, "data": [ { "id": 42, "domain": "blog.com", "dr": 61, "price": 12 } ],
  "pagination": { "current_page": 1, "total_pages": 478, "total_records": 9543 } }
GET/v1/article-prompt

يُرجع الأمر النصي الدقيق الذي نستخدمه لكتابة المقال — حتى تتمكن من قراءته وتعديله. معاملات الاستعلام الاختيارية: keyword, target_url, language, recommendations. حرر الموجّه المُعاد ومرره إلى POST /v1/orders as recommendations؛ حافظ على OUTPUT FORMAT الفقرة وتعمل بشكل نصي حرفي.

{ "success": true, "data": { "default_prompt": "…", "editable_field": "recommendations",
    "modes": { "own": "…", "prompt": "…", "auto": "…" } } }
POST/v1/orders

أنشئ طلبات الروابط الخلفية في سلتك — no charge yet. donor_ids مطلوب دائمًا؛ ثم اختر أحد أوضاع المحتوى الثلاثة:

  • تلقائي — إرسال target_url + keyword؛ نبحث ونكتب المقال.
  • من محثّك — أرسل أيضًا recommendations (اجلب وحرر الموجّه الأساسي عبر GET /v1/article-prompt)؛ نكتب وفقاً لموجزك.
  • مقالتك الخاصة — إرسال content (+ اختياري title, article_url)؛ ننشر HTML الجاهز كما هو. يتطلب تمكين المحتوى الخاص على حسابك.
// auto
{ "donor_ids": [42, 43], "target_url": "https://you.com/pricing", "keyword": "best crm", "language": "en" }
// from your prompt
{ "donor_ids": [42], "target_url": "https://you.com", "keyword": "best crm", "recommendations": "Friendly tone, cite 2 studies…" }
// your own article
{ "donor_ids": [42], "content": "<article>…</article>", "title": "My headline" }
{ "success": true, "data": { "mode": "auto", "order_content_ids": [9001, 9002],
    "basket_ids": [55, 56], "total_price": 24, "status": "in_basket" } }
GET/v1/basket

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

POST/v1/basket/pay

انشر كل شيء في سلتك، يدفع من رصيد حسابك. إذا كان الرصيد غير كافٍ فلن يُنشر شيء وسيُعاد success:false بكم يلزم المزيد. تتم عملية الشحن من لوحة التحكم فقط.

{ "success": true, "data": { "status": "published", "charged": 24, "links": 2 } }
GET/v1/links

الروابط التي طلبتها (روابط خلفية) مع حالتها وعنوان URL المنشور. /v1/orders (GET) هو اسم مستعار.

{ "success": true, "count": 1, "data": [
  { "id": 8891, "target_url": "https://you.com/pricing", "keyword": "best crm",
    "status": "active", "published_url": "https://donor.com/…?aio-…", "cost": "12.00" } ] }

سير الطلب

  1. ابحث عن مواقع — GET /v1/donors لاختيار متبرعين بحركة مرور حقيقية ذات صلة.
  2. طلب — POST /v1/orders بمعرفات المتبرعين والصفحة/الكلمة المفتاحية → تصل العناصر إلى سلتك. اختر وضع المحتوى: تلقائي، أو محررك المُعدّل (recommendations, انظر GET /v1/article-prompt)، أو الخاص بك content.
  3. مراجعة — GET /v1/basket للتحقق من المسودات والمجموع.
  4. نشر — POST /v1/basket/pay يدفع من رصيدك ويُفعّل الروابط خلال حوالي 24 ساعة.
  5. تتبع — GET /v1/links للحالة وعناوين URL المنشورة.

أخطاء

  • 401 unauthorized — مفتاح مفقود / غير صالح / ملغى
  • 400 bad_request / payment_failed — جسم سيئ، أو الرصيد لا يغطي السلة
  • 403 forbidden / own_content_disabled — لا يمكن للمفتاح الطلب، أو المحتوى الخاص غير مفعّل في حسابك
  • 404 not_found — نقطة نهاية أو مورد غير معروف
  • 405 method_not_allowed
  • 500 server_error — مؤقت؛ أعد المحاولة

لوكلاء الذكاء الاصطناعي: صادق باستخدام مفتاح Bearer، واستدعِ GET /v1/me لتأكيد الحساب، GET /v1/donors للعثور على المواقع، ثم POST /v1/orders → POST /v1/basket/pay للطلب والنشر. أو تخطَّ HTTP تمامًا واستخدم خادم MCP — نفس المفتاح، أدوات أصلية.