مستندات NewGateway
راهنمای کامل برای ادغام، مدیریت و مقیاسگذاری APIهای شما با پلتفرم NewGateway — از اولین درخواست تا استقرار در Production.
شروع سریع
۵ دقیقهپروژه جدید تعریف کنید و slug آن را انتخاب کنید.
یک endpoint با مسیر و سرور هدف پیکربندی کنید.
اولین درخواست — آزمایش سریع با cURL:
curl -X GET "https://api.newgateway.ir/{projectName}/{endpointPath}" \
-H "Authorization: Bearer <YOUR_API_KEY>" \
-H "Content-Type: application/json"پاسخ موفق (200 OK):
{
"status": "ok",
"data": { ... },
"latency_ms": 12,
"gateway_version": "1.4.0"
}احراز هویت
AuthenticationNewGateway از دو روش احراز هویت پشتیبانی میکند: API Key برای درخواستهای سرویسبهسرویس و JWT Bearer Token برای کاربران لاگینشده.
بعد از اشتراک در یک سرویس، یک کلید API دریافت میکنید. این کلید یکبار نمایش داده میشود — آن را ذخیره کنید.
Authorization: Bearer ngw_live_xxxxxxxxxxxxxxبا ارسال اطلاعات ورود به endpoint زیر، یک JWT کوتاهمدت (۱۵ دقیقه) و Refresh Token (۷ روز) دریافت کنید.
POST /api/v1/auth/login
{
"phone": "09123456789",
"password": "••••••••"
}مرجع API
REST API v1تمام endpointها با پیشوند /api/v1 در دسترس هستند.
/projects/projects/projects/{id}/projects/{id}/projects/{id}/projects/{id}/configs/projects/{id}/configs/projects/{id}/configs/{nodeId}/projects/{id}/configs/{nodeId}/public/catalog/services/public/catalog/services/{id}/public/catalog/services/{id}/access/catalog/api-keys/{keyId}/reveal/projects/{id}/reports/projects/{id}/reports/{tariffId}نمونه: ایجاد پروژه
curl -X POST "https://api.newgateway.ir/api/v1/projects" \
-H "Authorization: Bearer <TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"name": "پرداختیار",
"slug": "payadyar",
"description": "درگاه پرداخت یکپارچه",
"visibility": "public"
}'پاسخ (201 Created):
{
"id": "proj_01j9x...",
"name": "پرداختیار",
"slug": "payadyar",
"visibility": "public",
"created_at": "2025-09-01T08:00:00Z"
}راهنماها
Guides- 1نوع "endpoints" را انتخاب کنید.
- 2مسیر خارجی (externalPath) و متد HTTP را وارد کنید.
- 3حالت ارسال را تعیین کنید: direct (یک سرور هدف) یا pool (چند سرور).
- 4برای حالت direct، آدرس IP/hostname و پورت داخلی را وارد کنید.
{
"type": "endpoints",
"data": {
"title": "دریافت لیست محصولات",
"externalPath": "/products",
"method": "GET",
"isActive": true,
"forwardMode": "direct",
"internalUrl": "10.0.0.5",
"internalPort": 3001,
"timeout": 5000
}
}- 1نوع "schema" را انتخاب کنید.
- 2ساختار JSON را با فیلدهای مورد انتظار تعریف کنید.
- 3برای هر فیلد: type، required، nullable و description را مشخص کنید.
- 4Schema را در endpoint از طریق schemaId لینک کنید.
{
"type": "schema",
"data": {
"product_id": {
"type": "string",
"required": true,
"nullable": false,
"description": "شناسه یکتای محصول"
},
"quantity": {
"type": "integer",
"required": true,
"nullable": false
},
"note": {
"type": "string",
"required": false,
"nullable": true
}
}
}- 1چند Config Node از نوع "request" با آدرسهای مختلف بسازید.
- 2در Endpoint، حالت forwardMode را روی "pool" بگذارید.
- 3در requestPool هر request را با وزن (loadBalanceWeight) و اولویت مشخص کنید.
- 4NewGateway در زمان اجرا بر اساس وزن و آپتایم، درخواستها را توزیع میکند.
{
"forwardMode": "pool",
"requestPool": [
{
"requestId": "req_server_a",
"priority": 1,
"loadBalanceWeight": 70,
"timeout": 3000
},
{
"requestId": "req_server_b",
"priority": 2,
"loadBalanceWeight": 30,
"timeout": 3000
}
]
}- 1در داشبورد پروژه، تعرفه (Tariff) جدید بسازید.
- 2مقدار requestLimit (تعداد کل) یا rateLimit (در بازه زمانی) را تنظیم کنید.
- 3مشتری با اشتراک در این تعرفه، API Key دریافت میکند.
- 4هنگام فراتر رفتن از حد مجاز، پاسخ 429 برگشت داده میشود.
// پاسخ هنگام بیش از حد:
HTTP 429 Too Many Requests
{
"error": "RATE_LIMIT_EXCEEDED",
"message": "تعداد درخواستهای مجاز تمام شد",
"retry_after": 60
}SDK و کتابخانهها
SDKimport { NewGateway } from '@newgateway/sdk';
const client = new NewGateway({
apiKey: process.env.NGW_API_KEY,
});
const res = await client.request({
project: 'payadyar',
endpoint: '/products',
method: 'GET',
});from newgateway import NewGateway
client = NewGateway(
api_key=os.environ["NGW_API_KEY"]
)
res = client.request(
project="payadyar",
endpoint="/products",
method="GET",
)curl -X POST \
"https://api.newgateway.ir/\
payadyar/products" \
-H "Authorization: \
Bearer $NGW_API_KEY" \
-H "Content-Type: \
application/json"کدهای خطا
Error Codesتمام خطاها با ساختار یکسان برگردانده میشوند:
{
"error": "ERROR_CODE",
"message": "توضیح خطا به فارسی",
"status": 400
}| کد HTTP | error | توضیح |
|---|---|---|
| 400 | BAD_REQUEST | ورودیهای نامعتبر |
| 401 | UNAUTHORIZED | توکن منقضی یا نامعتبر |
| 403 | FORBIDDEN | دسترسی غیرمجاز به این منبع |
| 404 | NOT_FOUND | منبع درخواستشده یافت نشد |
| 409 | CONFLICT | تداخل با وضعیت فعلی |
| 422 | VALIDATION_ERROR | خطای اعتبارسنجی فیلدها |
| 429 | RATE_LIMIT_EXCEEDED | فراتر از محدودیت نرخ درخواست |
| 500 | INTERNAL_ERROR | خطای داخلی سرور |
| 503 | SERVICE_UNAVAILABLE | سرور هدف در دسترس نیست |
سوالات متداول
FAQآیا پلن رایگان محدودیت دارد؟
چطور میتوانم پلن خود را ارتقا دهم؟
آیا API Key من قابل بازیابی است؟
آیا امکان تست سرویس قبل از پرداخت وجود دارد؟
SLA و آپتایم تضمینی چقدر است؟
آیا دادههای کاربران در ایران نگهداری میشود؟
آماده شروع هستید؟
همین حالا یک حساب رایگان بسازید و اولین API Gateway خود را راهاندازی کنید.

پلتفرم NewGateway نهتنها زیرساختی فنی برای مدیریت و کنترل ارتباطات در محیطهای میکروسرویسی است، بلکه با ارائه امکانات تجاریسازی، نظارت، امنیت و بهینهسازی عملکرد، به یکی از مؤلفههای کلیدی در توسعه اکوسیستم خدمات دیجیتال تبدیل میشود.
کلیه حقوق مادی و معنوی این سایت متعلق به شرکت NewGateWay میباشد.