واجهة REST البرمجية

شغّل عمليات الفحص من داخل شيفرتك الخاصة. الواجهة البرمجية متاحة في خطة Pro وما فوقها، وتستخدم مفتاح bearer للمصادقة، ويُدفع مقابلها بالأرصدة.

آخر تحديث: 4 سبتمبر 2026

المصادقة

أنشئ مفتاحًا من الإعدادات ← مفاتيح الواجهة البرمجية. يُعرض المفتاح بصيغته النصية مرة واحدة فقط ولا يمكن استعادته بعدها؛ ولا يُخزَّن منه بصيغة مقروءة سوى بادئته. أرسله كرمز bearer مع كل طلب.

curl https://api.namescope.dev/v1/usage \
  -H "Authorization: Bearer ns_live_..."

يحمل كل مفتاح مجموعة من النطاقات. أي طلب يحتاج نطاقًا لا يملكه المفتاح يُرفض برمز 403، لذا فإن مفتاحًا تسلّمه لتكامل للقراءة فقط لا يستطيع بدء فحص مدفوع.

النطاقما يتيحه
scans:writePOST /v1/scans — بدء فحص، وهو ما ينفق أرصدة
scans:readGET /v1/scans، GET /v1/scans/{id}، GET /v1/usage
reference:readنقاط النهاية المرجعية /v1/ref/*

الأرصدة والحصة

يُدفع مقابل كل فحص بالأرصدة، سواء بدأته من هنا أو من تطبيق الويب. تكلفة الفحص هي مجموع الوحدات التي يشغّلها: 100 رصيد مع الوحدات الخمس الافتراضية، وأقل عند استبعاد إحداها. تمنحك خطتك رصيدًا شهريًا، والأرصدة غير المستهلكة تُرحَّل.

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

  • الرصيد غير كافٍ ← 429 مع مستند مشكلة يوضّح مقدار العجز
  • خطة بلا وصول إلى الواجهة البرمجية ← 402 مع رابط للترقية
  • إنفاق الأرصدة معطَّل لمساحة العمل ← 403

بدء فحص

يدرج POST /v1/scans فحصًا في الطابور ويردّ برمز 202 فورًا. الفحص غير متزامن: تحمل الاستجابة قيمة scanId لا النتيجة.

curl -X POST https://api.namescope.dev/v1/scans \
  -H "Authorization: Bearer ns_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "tion studios",
    "regions": ["TR", "EM", "US"],
    "niceClasses": [9, 41],
    "tlds": ["com", "io"],
    "modules": ["trademark", "domain", "social"]
  }'
{ "scanId": "scn_...", "totalJobs": 12, "creditsSpent": 100, "balance": 1900 }
الحقلمطلوبالمعنى
nameنعماسم العلامة المراد فحصه، من 2 إلى 64 حرفًا
regionsلامكاتب العلامات التجارية المراد البحث فيها. القيمة الافتراضية هي إعداد مساحة عملك
niceClassesلافئات السلع والخدمات من 1 إلى 45. تحصر نتائج العلامات في التعارضات الحقيقية
tldsلاامتدادات النطاقات، دون النقطة في البداية
modulesلاtrademark، domain، social، dev، appstore
adaptersلاالاقتصار على محوّلات مصادر بعينها حسب المعرّف
projectIdلاإدراج الفحص ضمن مشروع قائم
options.alternativesلاتوليد أسماء بديلة وفحصها فحصًا خفيفًا كذلك
options.similarSearchلابحث تقريبي عن العلامات المتقاربة (لخطة Pro وما فوقها)

قراءة النتيجة

استعلم دوريًا عن GET /v1/scans/{id} حتى تصبح قيمة status هي completed أو completed_partial. ينتهي الفحص المعتاد في أقل من دقيقة؛ استعلم مرة كل ثانية تقريبًا ووسّع الفاصل الزمني كلما طال الانتظار، كي لا يستنزف الفحص الطويل حدّ معدّل طلباتك.

curl https://api.namescope.dev/v1/scans/scn_... \
  -H "Authorization: Bearer ns_live_..."
statusالمعنى
queuedمقبول، ولم يُتصل بأي مصدر بعد
runningبعض عمليات التحقق اكتملت؛ وتوضّح doneJobs / totalJobs مدى التقدّم
completedاكتملت كل عمليات التحقق
completed_partialانتهى الفحص، لكن تعذّر التحقق من مصدر واحد على الأقل
failedتعذّر تشغيل الفحص

كل مدخلة في checks هي إجابة مصدر واحد عن هدف واحد، ولها حكمها الخاص، ورابط sourceUrl الذي قُرئت منه، وطابع الوقت fetchedAt. أما كائن summary فيظهر بعد انتهاء الفحص ويحمل الدرجة، ونطاق المخاطرة، وحصيلة العلامات التجارية.

verdictالمعنى
availableيقول المصدر إن الاسم متاح
takenقيد الاستخدام — معرّف مسجَّل، أو نطاق يستجيب
conflictعلامة تجارية سارية تتداخل مع الفئات المطلوبة
riskyقيد الاستخدام على نحو قد يعيقك وقد لا يعيقك
unknownتعذّر التحقق من المصدر
errorأخفق المصدر؛ ويبيّن errorCode كيف

البيانات المرجعية

أربع نقاط نهاية مرجعية تصف ما يمكن أن يتضمنه طلب الفحص. وهي تحتاج نطاق reference:read ولا تكلّف شيئًا.

نقطة النهايةما تعيده
GET /v1/ref/nice-classesفئات تصنيف نيس الخمس والأربعون
GET /v1/ref/regionsمكاتب العلامات التجارية التي يمكن للفحص البحث فيها
GET /v1/ref/tldsامتدادات النطاقات مصنَّفة حسب المستوى
GET /v1/ref/adaptersكل محوّلات المصادر، مع الوحدة التابع لها كل منها

الأخطاء وحدود المعدّل

تُرسَل الأخطاء بوصفها مستندات مشكلة وفق معيار RFC 9457 بنوع المحتوى application/problem+json. يحدّد حقل type نوع الإخفاق، ويشرحه detail، ويحمل بعضها بيانات إضافية مثل upgradeUrl.

{
  "type": "https://namescope.dev/errors/quota-exceeded",
  "title": "Quota exceeded",
  "status": 429,
  "detail": "Not enough credits (balance 0, need 100). Top up or switch off a module to continue."
}
الحالةمتى
400لم يجتز جسم الطلب التحقق من الصحة
401المفتاح مفقود أو غير معروف أو مُبطَل أو منتهي الصلاحية
402الخطة لا تشمل الواجهة البرمجية العامة
403المفتاح يفتقر إلى نطاق، أو إنفاق الأرصدة معطَّل
404لا يوجد فحص بهذا المعرّف في مساحة العمل هذه
429تجاوز حدّ المعدّل أو رصيد الأرصدة

تُحسب حدود المعدّل لكل مفتاح على مدى دقيقة منزلقة، ويُبلَّغ عنها في كل استجابة، فيمكنك التراجع قبل أن يُرفض طلبك.

x-ratelimit-limit: 60
x-ratelimit-remaining: 58
x-ratelimit-reset: 41

OpenAPI

يُقدَّم الوصف الكامل المقروء آليًا على /v1/openapi.json. وهو لا يحتاج أي مصادقة، فيمكنك توليد عميل منه قبل أن تحصل على مفتاح.