رفتن به محتوا

لغو برداشت

POST/v1/transactions/cancel

برداشتی را لغو می‌کند که همین کلید ساخته و هنوز امضا نشده است. لغو دوباره همان نتیجه را بی تغییر برمی‌گرداند. این مسیر وقتی سازمان متوقف یا معلق است هم کار می‌کند.

دسترسی لازم
withdraw
سقف نرخ در دقیقه
120 برای هر کلید

درخواست

پنجره‌ی ترمینال
curl -X POST 'https://api.romu.ir/v1/transactions/cancel' \
-H "X-Custody-Key-Id: $KEY_ID" \
-H "X-Custody-Timestamp: $TIMESTAMP" \
-H "X-Custody-Nonce: $NONCE" \
-H "X-Custody-Signature: $SIGNATURE" \
-H "Content-Type: application/json" \
-d '{
"transaction_id": "0192f1a2-5e4f-7a10-b2c3-d4e5f6a7b8c9",
"reason": "کاربر درخواست را پس گرفت"
}'

امضای درخواست را کتابخانه انجام می‌دهد؛ جزئیات: صفحه‌ی امضا

بدنه

transaction_idUUIDلازم
reasonstringلازم
دلیل لغو، 1 تا 500 نویسه.

فیلد ناشناخته در بدنه 400 می‌گیرد.

پاسخ

200status برابر cancelled⁠. رویداد transaction.updated هم فرستاده می‌شود.

فیلدها با id

transactionobjectلازم
transaction.idUUIDلازم
transaction.wallet_idUUIDلازم
transaction.idempotency_keystring
transaction.typestring
فقط‌خواندنی. internal جابه‌جایی از کنسول است. sweep فقط با ?id= دیده می‌شود.withdrawalinternalsweep
transaction.originstring
فقط‌خواندنی. system فقط برای sweep است.apiconsolesystem
transaction.networkstringلازم
TRONBSC
transaction.assetstringلازم
کد دارایی، مثل TRON_USDT⁠.
transaction.amountstringلازم
رشته‌ی اعشاری در واحد خود دارایی، مثل 100.5⁠.
transaction.amount_rawstring
همان مبلغ در کوچک‌ترین واحد، برای تطبیق دقیق.
transaction.amount_usdstring | null
ارزش مبلغ به دلار آمریکا وقتی قانون‌ها آن را سنجیدند، رشته‌ی اعشاری مثل 301.5⁠. پیش از آن، یا وقتی دارایی نرخ نداشت، null⁠.
transaction.usd_ratestring | null
نرخ دلاری هر واحد دارایی که amount_usd با آن حساب شد، مثل 1.005⁠. هر وقت amount_usd نباشد، null⁠.
transaction.usd_rate_atRFC 3339 | null
زمانی که آن نرخ خوانده شد. هر وقت amount_usd نباشد، null⁠.
transaction.from_addressstring | null
آدرس سازمان که تراکنش از آن فرستاده می‌شود: آدرس اصلی کیف پول یا یکی از آدرس‌های جمع‌آوری. اگر شناخته نباشد، null⁠.
transaction.from_labelstring | null
برچسب همان آدرس، همان که الان دارد. بی برچسب، null⁠.
transaction.to_addressstring
transaction.external_refstring
transaction.statusstringلازم
pendingcheckingconfirmedfailedcancelled
transaction.stagestring | null
کجای کار است. فقط در pending و checking⁠، وگرنه null⁠.requestedwaiting_approvalwaiting_phonesigningsigning_retrysignedbroadcastconfirming
transaction.reasonstring | null
چرا شکست خورد. فقط در failed⁠، وگرنه null⁠.rejectedexpiredsigning_failedbroadcast_failedreorged
transaction.tx_hashstring
هش زنجیره، پس از ارسال.
transaction.expires_atRFC 3339
transaction.created_atRFC 3339
transaction.superseded_bystring
جانشین تراکنش، فقط وقتی هست که جانشین ساخته شده باشد.
transaction.policyobject | null
تصمیم قانون‌ها. وقتی تصمیمی ثبت نشده باشد null است.
transaction.policy.decisionstring
auto_approveneeds_approvalreject
transaction.policy.matched_ruleobject | null
transaction.policy.matched_rule.rule_idstring
transaction.policy.matched_rule.namestring

خطاها

400invalid request یا malformed request body⁠: بدنه، پارامتر یا فیلد نادرست است، یا فیلد ناشناخته دارد.
401unauthenticated⁠: هر شکست احراز هویت همین پاسخ را دارد.
403permission denied⁠: کلید دسترسی این مسیر را ندارد.
404not found⁠: مسیر یا شیء پیدا نشد. خواندن کیف پولی بیرون از فهرست کلید هم همین است.
409failed precondition⁠: این کار در وضعیت فعلی ممکن نیست.
429too many requests⁠: بیش از سقف نرخ. پس از Retry-After ثانیه دوباره بفرستید.
503try again later⁠: سرویس موقتاً در دسترس نیست.

بدنه‌ی خطا همیشه {"error":"..."} است. راهنمای خطاها می‌گوید برای هر کد چه باید کرد.