رفتن به محتوا

خطاها و سقف نرخ

هر خطا یک کد و یک پیام ثابت دارد: {"error":"..."}⁠. این صفحه می‌گوید هر کدام یعنی چه و چه باید کرد.

گاهی کنار error فیلدهای دیگری هم می‌آید، مثل code⁠، network یا index⁠. کد شما روی error و وضعیت HTTP تصمیم بگیرد و فیلدهای دیگر را اگر شناخت به کار ببرد.

احراز هویت و دسترسی

بخش «احراز هویت و دسترسی»
کد پیام یعنی چه باید کرد
401 unauthenticated هر شکست احراز هویت کلید، وضعیت آن، IP خروجی، ساعت سیستم و رشته‌ی امضا را به ترتیب بررسی کنید. راهنمای امضا
403 permission denied کلید دسترسی این مسیر را ندارد، یا برداشت از کیف پولی بیرون از فهرست کلید است کلید تازه با دسترسی درست بسازید
404 not found مسیر یا شیء پیدا نشد. خواندن کیف پولی بیرون از فهرست کلید هم همین است شناسه و کیف پول‌های کلید را بسنجید
کد پیام یعنی چه باید کرد
400 invalid request فیلد یا پارامتر نادرست مقدارها را با مرجع API بسنجید
400 amount has more digits than TRON_USDT allows (6 decimals) مبلغ بیشتر از اعشار دارایی رقم دارد اعشار دارایی را از فهرست دارایی‌ها بخوانید
400 malformed request body JSON خراب، یا فیلد ناشناخته نام فیلدها را بسنجید
400 purpose, internal_destination and source_index are not part of this API: internal transfers are made in the console این سه فیلد در API نیستند آن‌ها را نفرستید. انتقال داخلی را در کنسول بسازید
400 limit must be a whole number from 1 to 200 limit بین 1 و 200 نیست limit را درست کنید
400 status must be one of pending, checking, confirmed, failed, cancelled مقدار فیلتر نادرست است. stage⁠، type⁠، origin و network هم همین‌طور پیام می‌دهند مقدارهای مجاز را از مرجع API بخوانید
400 page: an API key pages by cursor با کلید API صفحه با cursor عوض می‌شود cursor را به کار ببرید
400 Idempotency-Key header required (1 to 255 printable characters) هدر نیست یا نادرست است Idempotency
400 to_address is not a valid address (on an EVM network: all lower case or its exact EIP-55 checksum) آدرس EVM نادرست است تمام‌کوچک یا دقیقاً EIP-55 بفرستید
400 amount must be a decimal string in the asset's units, like "100.50" مبلغ عدد است یا شکلش درست نیست مبلغ را به شکل متن بفرستید
400 asset must be its full code, like TRON_USDT or BSC_USDT نام دارایی کامل نیست کد کامل را از فهرست دارایی‌ها بردارید
400 exactly one of id and wallet_id در درخواست‌های تغییر هر دو یا هیچ‌کدام آمده فقط یکی را بفرستید
413 request too large بدنه بیش از 16 KiB بدنه را کوچک کنید
کد پیام یعنی چه باید کرد
409 already exists همان Idempotency-Key با درخواست دیگر کلید را برای برداشت دیگری به کار نبرید
409 insufficient_balance آدرس مبدأ مبلغ و کارمزد را ندارد. فیلدهای asset⁠، requested⁠، available⁠، fee_asset⁠، fee_ceiling و fee_available می‌آیند موجودی را زیاد کنید. چیزی ثبت نشده است
409 failed precondition این کار در وضعیت فعلی ممکن نیست وضعیت تراکنش یا شبکه را بخوانید
403 org_suspended سازمان معلق است. reason_code و public_note می‌آیند، با Retry-After: 3600 با رومو تماس بگیرید
503 suspension_unknown وضعیت تعلیق معلوم نشد، با Retry-After: 5 با همان Idempotency-Key دوباره بفرستید
کد پیام یعنی چه باید کرد
409 quota_exceeded سهمیه‌ی آدرس پلن تمام شده و چیزی ساخته نشده. code برابر address_limit می‌آید درباره‌ی پلن با رومو صحبت کنید
400 label_taken برچسب در این کیف پول هست یا در یک درخواست چند آدرسی دوبار آمده. index می‌گوید کدام. چیزی ساخته نشده است برچسب دیگری بنویسید
503 network_unavailable شبکه‌ی آدرس در دسترس نیست. network نام آن را می‌گوید با همان Idempotency-Key دوباره بفرستید
500 internal error آدرس نشان داده نشد دوباره بخوانید و اگر ادامه داشت به رومو خبر دهید
409 the organisation's webhook is off هیچ نشانی دریافتی فعال نیست در «نشانی‌های دریافت» یک نشانی بسازید یا ادامه‌ی ارسال آن را بخواهید
409 failed precondition رویداد هنوز در صف ارسال است، یا نوع آن انتخاب نشده کمی بعد دوباره بفرستید، یا رویداد را انتخاب کنید
کد پیام یعنی چه باید کرد
429 too many requests بیش از سقف نرخ پس از Retry-After ثانیه دوباره بفرستید
503 try again later سرویس موقتاً در دسترس نیست با فاصله‌ی رو به افزایش دوباره بفرستید
502 the asset registry does not read GET /v1/assets فهرست دارایی‌ها را نخواند کمی بعد دوباره بخوانید
503 org_paused سازمان موقتاً متوقف شده، با Retry-After: 60 کمی بعد با همان Idempotency-Key دوباره بفرستید
500 internal error خطای پیش‌بینی‌نشده دوباره بفرستید و اگر ادامه داشت به رومو خبر دهید

سقف‌ها در دقیقه‌اند. برای همه‌ی سازمان‌های یک استقرار یکی هستند و رومو می‌تواند آن‌ها را عوض کند. جدا از این‌ها، سرعت درخواست‌های هر نشانی IP در یک ثانیه هم محدود است. اگر یک‌باره خیلی زیاد بفرستید 429 با Retry-After: 1 می‌گیرید.

سقف مقدار
هر نشانی IP 600
هر کلید 120
ثبت برداشت با هر کلید 60
نوشتن آدرس و گروه با هر کلید 60
ساخت چند آدرس با هم با هر کلید 10
خروجی CSV آدرس با هر کلید 5
sweep همین الان با هر کلید 6
ارسال دوباره‌ی یک رویداد برای هر سازمان 60
ارسال دوباره‌ی رویدادهای ناموفق برای هر سازمان 5

در پاسخ 429 هدر Retry-After می‌گوید چند ثانیه صبر کنید. اگر سقف بیشتری لازم دارید، با رومو در میان بگذارید.