تنظیم قانون sweep
PUT
/v1/sweep-rulesقانون یک گروه را مینویسد. برای قانون اول base_version را 0 بفرستید و بعد نسخهای را که جایگزین میشود. نسخهی کهنه 409 است. API هرگز مقصد sweep را تعیین نمیکند؛ مقصد فقط از کنسول و با تأیید عوض میشود.
درخواست
curl -X PUT 'https://api.romu.ir/v1/sweep-rules' \ -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 '{ "group_id": "01926e00-0000-7000-8000-000000000201", "base_version": 0, "enabled": true, "schedule": { "kind": "interval", "every_hours": 6, "hours": [], "timezone": "" }, "min_amounts": [ { "asset": "TRON_TRX", "amount": "10" } ], "excluded_assets": [] }'import { romu } from "./romu.ts";
const res = await romu.put("/v1/sweep-rules", { json: { "group_id": "01926e00-0000-7000-8000-000000000201", "base_version": 0, "enabled": true, "schedule": { "kind": "interval", "every_hours": 6, "hours": [], "timezone": "" }, "min_amounts": [ { "asset": "TRON_TRX", "amount": "10" } ], "excluded_assets": [] },});console.log(res.status, res.body);status, body, err := client.Do("PUT", "/v1/sweep-rules", "", []byte(`{"group_id":"01926e00-0000-7000-8000-000000000201","base_version":0,"enabled":true,"schedule":{"kind":"interval","every_hours":6,"hours":[],"timezone":""},"min_amounts":[{"asset":"TRON_TRX","amount":"10"}],"excluded_assets":[]}`), "")import romu
status, body = romu.put( "/v1/sweep-rules", json={ "group_id": "01926e00-0000-7000-8000-000000000201", "base_version": 0, "enabled": True, "schedule": { "kind": "interval", "every_hours": 6, "hours": [], "timezone": "" }, "min_amounts": [ { "asset": "TRON_TRX", "amount": "10" } ], "excluded_assets": [] },)print(status, body)امضای درخواست را کتابخانه انجام میدهد؛ جزئیات: صفحهی امضا
بدنه
group_idUUIDلازمbase_versionintegerلازم0 برای قانون اول، بعد نسخهای که جایگزین میشود.
enabledbooleanلازمscheduleobjectلازمschedule.kindstringلازمintervaldailymanualschedule.every_hoursinteger1 تا 24، فقط برای
interval.schedule.hoursinteger[]1 تا 24 ساعت از 0 تا 23، مرتب و بی تکرار، فقط برای
daily.schedule.timezonestringنام IANA، فقط برای
daily.min_amountsobject[]min_amounts[].assetstringmin_amounts[].amountstringexcluded_assetsstring[]فیلد ناشناخته در بدنه 400 میگیرد.
پاسخ
200قانون ثبت شد.
فیلدها
ruleobjectلازمrule.wallet_idstringrule.group_idstringrule.groupstringrule.enabledbooleanrule.scheduleobjectrule.schedule.kindstringلازمintervaldailymanualrule.schedule.every_hoursinteger1 تا 24، فقط برای
interval.rule.schedule.hoursinteger[]1 تا 24 ساعت از 0 تا 23، مرتب و بی تکرار، فقط برای
daily.rule.schedule.timezonestringنام IANA، فقط برای
daily.rule.min_amountsobject[]rule.min_amounts[].assetstringrule.min_amounts[].amountstringrule.excluded_assetsstring[]rule.versionintegerrule.updated_atRFC 3339 | nullrule.last_run_atRFC 3339 | nullrule.next_run_atRFC 3339 | nullخطاها
400
invalid request یا malformed request body: بدنه، پارامتر یا فیلد نادرست است، یا فیلد ناشناخته دارد.401
unauthenticated: هر شکست احراز هویت همین پاسخ را دارد.403
permission denied: کلید دسترسی این مسیر را ندارد.404
not found: مسیر یا شیء پیدا نشد. خواندن کیف پولی بیرون از فهرست کلید هم همین است.409
failed precondition: این کار در وضعیت فعلی ممکن نیست.429
too many requests: بیش از سقف نرخ. پس از Retry-After ثانیه دوباره بفرستید.503
try again later، org_paused (سازمان موقتاً متوقف شده، با Retry-After: 60)، یا در ثبت برداشت suspension_unknown (با Retry-After: 5). همان درخواست را با همان Idempotency-Key دوباره بفرستید.بدنهی خطا همیشه {"error":"..."} است. راهنمای خطاها میگوید برای هر کد چه باید کرد.