حساب و کلید API
ساخت حساب، شارژ اعتبار، ساخت کلید و فرستادن آن با هر درخواست
هر درخواست به API دانا باید یک کلید معتبر همراه داشته باشد. کلید به حساب شما وصل است و هزینهٔ درخواستها از اعتبار همین حساب کم میشود.
حساب
- در کنسول دانا وارد شوید. ورود با شمارهٔ موبایل یا ایمیل است؛ اگر حساب ندارید، با رمز یکبارمصرف ساخته میشود.
- از بخش اعتبار حساب را با درگاه پرداخت ایرانی شارژ کنید.
- در بخش کلیدها کلید بسازید.
مصرف و موجودی را در گزارش مصرف ببینید. قیمت هر مدل در قیمت و توکن آمده است. برای پرسش دربارهٔ حساب به info@dana.expert بنویسید.
کلید را چطور بفرستید
راه اصلی، هدر Authorization است:
Authorization: Bearer $DANA_API_KEYcurl https://api.dana.expert/v1/translate \
-H "Authorization: Bearer $DANA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text": "Hello"}'هدر x-api-key هم پذیرفته میشود و همان کلید را میگیرد. SDK رسمی Anthropic بهطور پیشفرض همین را میفرستد، پس روی رابط Messages کاری لازم نیست بکنید. اگر هر دو هدر را بفرستید، Authorization مقدم است.
انواع کلید
| پیشوند | محیط | کاربرد |
|---|---|---|
dn-live- | live | درخواستهای واقعی، کسر اعتبار |
dn-test- | test | تست، بدون کسر اعتبار |
کلیدهای test برای توسعه و تستاند و کلیدهای live برای پروداکشن.
مدیریت کلید
کلیدها را در کنسول دانا بسازید، نام بگذارید و باطل کنید.
سه نکتهٔ عملی:
- هر کلید یک بار بهصورت کامل نمایش داده میشود. بعد از بستن پنجره ساخت، دیگر قابل بازیابی نیست و باید کلید تازه بسازید.
- کلید باطلشده تا حدود ۳۰ ثانیه ممکن است هنوز کار کند، چون نتیجه احراز هویت کوتاهمدت کش میشود. برای قطع فوری، کلید سرویس را هم عوض کنید.
- سقف نرخ روی خودِ کلید تنظیم میشود، نه روی حساب. پیشفرض ۶۰ درخواست در دقیقه است و شرحش در محدودیتها آمده.
نگهداری امن
- کلید را در متغیر محیطی یا secrets manager بگذارید، نه داخل کد و نه در ریپوی گیت.
- برای هر سرویس و هر محیط یک کلید جدا بسازید. آنوقت باطل کردن یکی، بقیه را نمیخواباند.
- کلید را در مرورگر یا اپ موبایل نگذارید. هر چه به دست کاربر برسد، لو رفته است؛ درخواست را از سرور خودتان بفرستید.
- به کلید مشکوک شدید؟ اول در کنسول باطلش کنید، بعد دنبال علت بگردید.
وقتی احراز هویت رد میشود
| کد | پیام | علت |
|---|---|---|
401 | Missing API key. | هیچکدام از دو هدر ارسال نشده |
401 | Invalid API key. | کلید شناخته نشد، باطل شده یا ناقص کپی شده |
403 | - | کلید معتبر است ولی اجازه این مسیر را ندارد |
مطمئنید کلید درست است و باز 401 میگیرید؟ معمولا یکی از این سه است:
- کلمه
Bearerجا افتاده. - متغیر محیطی خالی مانده.
- موقع کپی، یک خط جدید یا فاصله هم آمده.
شرح کامل هر کد در خطاها آمده است.