تغییر گروهی حداقل قیمت (پیشنمایش و اعمال)
using System.Net.Http.Headers;var client = new HttpClient();var request = new HttpRequestMessage{ Method = HttpMethod.Post, RequestUri = new Uri("https://api.seller360.ir/v1/bot/floors"), Headers = { { "Idempotency-Key", "example" }, { "Authorization", "Bearer <token>" }, }, Content = new StringContent("{ \"variant_ids\": [ 84780448, 84780449 ], \"action\": \"pct\", \"value\": 5, \"margin\": 1, \"price\": 1, \"days\": 0, \"allow_loss\": false, \"apply\": false }") { Headers = { ContentType = new MediaTypeHeaderValue("application/json") } }};using (var response = await client.SendAsync(request)){ response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body);}const url = 'https://api.seller360.ir/v1/bot/floors';const options = { method: 'POST', headers: { 'Idempotency-Key': 'example', Authorization: 'Bearer <token>', 'Content-Type': 'application/json' }, body: '{"variant_ids":[84780448,84780449],"action":"pct","value":5,"margin":1,"price":1,"days":0,"allow_loss":false,"apply":false}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.seller360.ir/v1/bot/floors \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --header 'Idempotency-Key: example' \ --data '{ "variant_ids": [ 84780448, 84780449 ], "action": "pct", "value": 5, "margin": 1, "price": 1, "days": 0, "allow_loss": false, "apply": false }'همان ابزار «تغییر حداقل قیمت» صفحهی وضعیت بایباکس. حداقل قیمتی که اینجا تغییر میکند همان حداقلی است که ربات رعایت میکند (بیشترین مقدار از حداقل قیمت دستی، حداقل «بهای خرید بهعلاوهی سود هدف» و حداقل قیمت استراتژی).
- با
apply: false(پیشفرض) فقط پیشنمایش برمیگردد و چیزی ذخیره نمیشود. - با
apply: trueردیفهایokذخیره میشوند. فقط تنظیمات سلر ۳۶۰ تغییر میکند و ربات در دور بعد از حداقل تازه استفاده میکند. - روش هر کالا حفظ میشود: در حالت دستی حداقل قیمت ریالی تغییر میکند؛ در حالت «بهای خرید بهعلاوهی سود»، درصد سود هدف طوری دوباره محاسبه میشود که حداقل روی قیمت تازه بنشیند.
- حداقل تازه به پایین و به مضرب ۱۰۰ ریال گرد میشود.
- هیچ حداقلی زیر نقطهی سربهسر (سود خالص صفر) نمیرود، مگر با
allow_loss: true. - پیش از اولین کاهش، حداقل فعلی بهعنوان «حداقل قیمت پایه» نگه داشته میشود. با
daysحداقل پس از این مدت خودکار به پایه برمیگردد؛0یعنی تا وقتی خودتان باaction: restoreبرگردانید. - هر اعمال در «بازگردانی» پنل تا ۲۴ ساعت قابل برگرداندن است.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Header Parameters
Section titled “Header Parameters”یک شناسهی یکتا برای هر تغییر (مثلا UUID). اگر پاسخ را دریافت نکردید، همان درخواست را با همان کلید تکرار کنید؛ تغییر دو بار انجام نمیشود. پاسخ اول تا ۲۴ ساعت نگه داشته میشود.
Request Bodyrequired
Section titled “Request Bodyrequired”object
Example
[ 84780448, 84780449]pct: حداقل قیمتvalueدرصد کاهش یابد.to_win: حداقل قیمتmarginدرصد زیر قیمت تخمینی بردن بایباکس قرار گیرد (فقط اگر کمتر از حداقل فعلی باشد).profit_pts: سود هدفvalueواحد درصد کاهش یابد (فقط حالتcost_plusبا سود هدف درصدی).set: حداقل قیمت برابرpriceشود.restore: بازگشت به حداقل قیمت پایه.
برای pct و profit_pts لازم است.
Example
5فاصلهی اطمینان زیر قیمت بردن، به درصد (فقط to_win).
حداقل قیمت تازه به ریال (فقط set).
پس از چند روز حداقل قیمت خودکار به پایه برگردد (فقط pct، to_win و profit_pts)؛ 0 یعنی خودکار برنمیگردد.
حداقل قیمت زیر نقطهی سربهسر هم مجاز باشد (فروش با زیان).
false: فقط پیشنمایش؛ true: ذخیرهی ردیفهای ok.
Responses
Section titled “Responses”پیشنمایش یا نتیجهی اعمال برای هر تنوع.
object
object
تغییرات ذخیره شد (apply: true).
تعداد ردیفهای ok.
پایان مهلت بازگردانی این تغییر در پنل (فقط پس از اعمال).
object
ریال.
ریال.
سود خالص در حداقل تازه، به درصد همان قیمت.
این ردیف قابل اعمال است.
حداقل تازه زیر نقطهی سربهسر است (با allow_loss).
دلیل اعمال نشدن، اگر ok نادرست باشد.
Example
{ "status": "ok", "data": { "done": 2, "rows": [ { "variant_id": 84780448, "mode": "manual", "old_floor": 280000000, "new_floor": 266000000, "old_target_profit_pct": 15, "new_target_profit_pct": 9.4, "profit_pct": 6.1, "breakeven": { "value": 268000000, "estimated": true }, "note": "حداقل قیمت فعلی مانع بردن نیست." } ] }}Headers
Section titled “Headers”کد پیگیری این درخواست.
سقف درخواست این نوع (خواندن یا نوشتن) در هر دقیقه برای این کلید.
درخواستهای باقیمانده تا پایان دقیقهی جاری.
زمان شروع دقیقهی بعد، به ثانیه از ۱۹۷۰ (Unix).
پارامتر یا بدنهی نامعتبر.
object
object
پیام فارسی برای برنامهنویس.
آنچه دقیقا نادرست بود، مثلا نام پارامتر.
Example
{ "status": "error", "error": { "code": "missing_api_key" }}Headers
Section titled “Headers”کد پیگیری این درخواست.
سقف درخواست این نوع (خواندن یا نوشتن) در هر دقیقه برای این کلید.
درخواستهای باقیمانده تا پایان دقیقهی جاری.
زمان شروع دقیقهی بعد، به ثانیه از ۱۹۷۰ (Unix).
کلید ارسال نشده یا نامعتبر است.
object
object
پیام فارسی برای برنامهنویس.
آنچه دقیقا نادرست بود، مثلا نام پارامتر.
Example
{ "status": "error", "error": { "code": "missing_api_key" }}کلید دسترسی لازم را ندارد، یا ماژول یا پنل فعال نیست.
object
object
پیام فارسی برای برنامهنویس.
آنچه دقیقا نادرست بود، مثلا نام پارامتر.
Example
{ "status": "error", "error": { "code": "missing_api_key" }}سقف درخواست گذشته است.
object
object
پیام فارسی برای برنامهنویس.
آنچه دقیقا نادرست بود، مثلا نام پارامتر.
Example
{ "status": "error", "error": { "code": "missing_api_key" }}Headers
Section titled “Headers”چند ثانیه صبر کنید و دوباره تلاش کنید.
سقف درخواست این نوع (خواندن یا نوشتن) در هر دقیقه برای این کلید.
درخواستهای باقیمانده تا پایان دقیقهی جاری.
زمان شروع دقیقهی بعد، به ثانیه از ۱۹۷۰ (Unix).