Security
احراز هویت
تمام endpointهای نسخه v1 با API Key محافظت میشوند. کلید باید در هدر درخواست ارسال و فقط در محیط امن سرور نگهداری شود.
ارسال کلید در هدر
هدر X-API-KEY در همه درخواستها الزامی است. درخواست بدون کلید یا با کلید غیرفعال، پاسخ 401 میگیرد.
درخواست احرازشدهbash
curl --request GET \
--url "https://gift30t.ir/api/v1/wallet/balance" \
--header "Accept: application/json" \
--header "X-API-KEY: YOUR_API_KEY"نمونه امن در Node.jsjavascript
const response = await fetch(
"https://gift30t.ir/api/v1/products?page=1&pageSize=10",
{
headers: {
Accept: "application/json",
"X-API-KEY": process.env.GIFTCITY_API_KEY
}
}
);
if (!response.ok) {
throw new Error(`Gift City API returned ${response.status}`);
}
const result = await response.json();محدودسازی بر اساس IP
در صورت ثبت IPهای مجاز برای کلید، API فقط درخواستهایی را میپذیرد که IP آنها در whitelist وجود داشته باشد. چند IP را با کاما جدا کنید و IP خروجی ثابت سرور خود را وارد کنید.
نمونه IP whitelisttext
185.120.10.21, 185.120.10.22درخواست از IP خارج از فهرست با کد HTTP 403 و کد داخلی1003 رد میشود.
پاسخ خطای احراز هویت
401 Unauthorizedjson
{
"status": "error",
"code": 1001,
"message": "کلید API نامعتبر است"
}| HTTP | کد داخلی | معنی |
|---|---|---|
| 401 | 1001 | کلید ارسال نشده یا معتبر نیست. |
| 403 | 1003 | IP درخواست در فهرست مجاز نیست. |
HTTP 401code 1001
کلید ارسال نشده یا معتبر نیست.
HTTP 403code 1003
IP درخواست در فهرست مجاز نیست.
محدودیت درخواست
سقف هر API Key در پنل قابل تنظیم است و مقدار پیشفرض۶۰ درخواست در دقیقهاست. وضعیت محدودیت در هدرهای هر پاسخ اعلام میشود.
Rate limit headershttp
X-Rate-Limit-Limit: 60
X-Rate-Limit-Remaining: 42
X-Rate-Limit-Reset: 1784883600