نقطکس. ورود به بوم

نقطکس ‹ توسعه‌دهندگان

پورتال توسعه‌دهندگان

Noghtex exposes a JSON REST API at https://api.noghtex.ir. The full contract is one OpenAPI 3.1 document.

شروع سریع

دو مسیر عمومی بدون ورود قابل خواندن‌اند؛ بقیهٔ مسیرها به یک نشست کاربر نیاز دارند. اولین درخواستتان را همین حالا می‌توانید بزنید:

curl https://api.noghtex.ir/api/stats

# → { "online": 12, "sales_last_hour": 340 }

مشخصهٔ کامل API (همهٔ مسیرها، اسکیمای ورودی/خروجی، کدهای خطا) اینجاست:

curl -s https://api.noghtex.ir/openapi.json | jq '.info.title'
# → "Noghtex Public API"

منابع کلیدی

منبعنشانی
مشخصهٔ OpenAPI 3.1 api.noghtex.ir/openapi.json
مستندات و مثال‌ها noghtex.ir/docs
راهنمای عامل‌های هوشمند noghtex.ir/llms.txt
نقشهٔ سایت noghtex.ir/sitemap.xml
ابزار خط فرمان @noghtex/cli روی npm — npm i -g @noghtex/cli

مدل احراز هویت

نقطکس از کلید API استفاده نمی‌کند؛ احراز هویت «نشست کوکی‌محور» است و عمداً همین‌طور طراحی شده، چون همهٔ مسیرهای غیرعمومی به نام یک کاربر واقعی پول جابه‌جا می‌کنند. جریان کار برنامه‌نویسی چنین است:

  1. POST /auth/otp/request با شمارهٔ موبایل کاربر؛ کد پیامک می‌شود.
  2. POST /auth/login با همان شماره و کد؛ سرور دو کوکی __Host- تنظیم می‌کند و توکن CSRF را در بدنه برمی‌گرداند.
  3. هر درخواست تغییردهنده باید هم کوکی‌ها را ببرد و هم توکن CSRF را در سرآیند X-CSRF-Token برگرداند.

یعنی یک عامل هوشمند می‌تواند فقط با رضایت صریح کاربرِ خودش (و خواندن کد پیامکی که برای او آمده) از API استفاده کند؛ دسترسی بدون کاربر وجود ندارد و این محدودیت، امنیتی است نه فنی.

خطاها

همهٔ پاسخ‌های خطا — حتی ۴۰۴ و ۴۰۵ — JSON هستند و سه بخش دارند: code (شناسهٔ پایدار)، message و hint (راهنمای رفع).

curl -i https://api.noghtex.ir/api/no-such-endpoint
# HTTP/1.1 404 Not Found
# {"code":"NOT_FOUND","message":"not found",
#  "hint":"See /openapi.json for the list of valid endpoints."}

نسخه‌بندی و منسوخ‌سازی API

Versioning & deprecation policy — the REST surface is major version 1. Every response carries an API-Version: 1 header, so a client can pin what it talks to from any single response, errors included.

curl -si https://api.noghtex.ir/api/stats | grep -i api-version
# API-Version: 1

محدودیت نرخ و سرآیندها

پاسخ‌های دارای بودجهٔ نرخ، سرآیندهای استاندارد RFC را برمی‌گردانند تا یک عامل هوشمند بلافاصله و به‌صورت خودتنظیم آهنگ درخواست‌هایش را تنظیم کند:

سرآیندیعنی چه
RateLimit-Limitسقف انفجاری بودجهٔ همان مسیر.
RateLimit-Remainingدرخواست‌های باقی‌مانده در پنجرهٔ فعلی.
RateLimit-Resetثانیه تا پایان پنجرهٔ فعلی.
RateLimit-Policyبودجه به شکل burst;w=window-seconds.

پاسخ ردشده 429 RATE_LIMITED است با همین سرآیندها در حالت «صفر باقی‌مانده» به‌علاوهٔ Retry-After (ثانیه). بودجه‌های نمونه: تصرف ۳۰۰ در دقیقه برای هر کاربر، برداشت ۵ در ساعت برای هر کاربر، خواندن عمومی حدود ۱۲۰ در دقیقه برای هر IP، و سقف لبهٔ شبکه حدود ۶۰۰ درخواست در دقیقه برای هر IP.

curl -si https://api.noghtex.ir/api/stats | grep -i ratelimit

کلید API نداریم — عمداً

نقطکس هیچ API Key صادر نمی‌کند؛ چون همهٔ مسیرهای غیرعمومی به نام یک کاربر واقعیِ احراز هویت‌شده پول جابه‌جا می‌کنند و نشست کوکی + CSRF + بررسی مبدأ جانشین کلید است. یک ماشین با رضایت صریح کاربر از نشست واردشدهٔ او استفاده می‌کند (مدل بالا و جریان موجود در مستندات). خواندن‌های عمومی (GET /api/stats، GET /openapi.json و probe های سلامت) اصلاً اعتبارنامه نمی‌خواهند.

وضعیت سندباکس

مرتبط

مرجع مسیرها و مثال‌های curl · کنترل‌های امنیتی و سقف‌های نرخ · llms.txt · تماس با ما