احراز هویت
crptoX برای احراز هویت درخواستهای API از API Key مرچنت استفاده میکند. هر API Key فقط متعلق به یکی از دو محیط Sandbox یا Live است.
احراز هویت Bearer
API Secret خود را با استفاده از روش Bearer در هدر Authorization ارسال کنید.
Authorization: Bearer YOUR_API_SECRET
curl https://crptox.com/api/v1/invoices/INVOICE_UUID \
-H "Authorization: Bearer YOUR_API_SECRET" \
-H "Accept: application/json"
محیط API Key
اطلاعات احراز هویت Sandbox و Live از یکدیگر جدا هستند. پیشوند API Key مشخص میکند درخواست در کدام محیط پردازش خواهد شد.
crx_test_...
برای درخواستهای Sandbox و شبکههای تست بلاکچین پشتیبانیشده استفاده میشود.
crx_live_...
برای درخواستهای واقعی و شبکههای اصلی بلاکچین پشتیبانیشده استفاده میشود.
جداسازی Sandbox و Live
اطلاعات Sandbox و Live کاملاً از یکدیگر جدا هستند. فاکتورها، کیف پولها، تراکنشهای بلاکچین و سایر اطلاعات پرداخت ایجادشده در یک محیط، در محیط دیگر در دسترس نیستند.
محیط را نمیتوان از طریق بدنه درخواست انتخاب یا تغییر داد. crptoX همیشه محیط را از API Key احراز هویتشده تعیین میکند.
{
"network": "bsc",
"asset": "usdt",
"amount": "10.000000"
}
برای مثال، یک مقدار network یکسان در صورت استفاده از کلید crx_test_ به شبکه تست و در صورت استفاده از کلید crx_live_ به شبکه اصلی همان بلاکچین اشاره میکند.
شبکههای Sandbox
در Sandbox میتوانید چرخه کامل پرداخت را با استفاده از شبکهها و توکنهای آزمایشی پشتیبانیشده تست کنید.
پرداختهای آزمایشی TRON روی شبکه Shasta پردازش میشوند.
پرداختهای آزمایشی BSC روی شبکه BSC Testnet پردازش میشوند.
توکنهای Sandbox ارزش مالی واقعی ندارند. کیف پولی که معرفی میکنید باید متعلق به همان شبکه تستی باشد که قصد استفاده از آن را دارید.
چرخه عمر API Key
API Secret را در تمام چرخه عمر آن بهعنوان یک اطلاعات حساس امنیتی نگهداری کنید.
- API Secret را بهصورت امن در سرور نگهداری کنید و هرگز آن را در کد سمت مرورگر یا مخازن عمومی قرار ندهید.
- در زمان توسعه و تست از کلیدهای Sandbox و فقط در محیط Production از کلیدهای Live استفاده کنید.
- اگر احتمال میدهید یک کلید افشا شده است، آن را فوراً غیرفعال یا جایگزین کنید.
- در صورت نیاز به جداسازی عملیاتی، برای اپلیکیشنها یا integrationهای مختلف از API Keyهای جداگانه استفاده کنید.
اطلاعات احراز هویت نامعتبر
درخواستهایی که با API Key نامعتبر، منقضیشده، لغوشده یا غیرقابل استفاده ارسال شوند، رد خواهند شد.
{
"error": {
"code": "unauthorized",
"message": "Invalid API credentials."
}
}
توصیههای امنیتی
- API Secret را هرگز در JavaScript سمت کاربر، فایلهای اپلیکیشن موبایل یا سایر کدهای client-side قرار ندهید.
- API Secret را در environment variable یا یک سیستم امن مدیریت secrets نگهداری کنید.
- همیشه ارتباط با API سرویس crptoX را از طریق HTTPS انجام دهید.
- Credentialهای Sandbox و Live را در تنظیمات deployment کاملاً از یکدیگر جدا نگه دارید.
- در صورت تغییر دسترسی اعضای تیم یا احتمال افشای credential، کلیدهای مربوطه را rotate کنید.
محدودیت نرخ درخواست
برای حفظ پایداری سرویس و جلوگیری از ترافیک مخرب، ممکن است درخواستهای API مشمول Rate Limit شوند.
در صورت عبور از Rate Limit مجاز، API پاسخ HTTP 429 برمیگرداند.
{
"error": {
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded."
}
}