Amirali Yaghoutiمهندس ارشد نرم‌افزار

مطالعه موردی مهندسی

سیستم فروش API بک‌تو‌بک

وقتی کالایی را می‌فروشی که موجودی‌اش دست خودت نیست، هر سفارش یک شرط‌بندی است: اینکه قیمت و موجودی تأمین‌کننده هنوز همانی باشد که موقع رندر صفحه بود. این جریان هر دو را در لحظه‌ی قطعی‌شدن سفارش دوباره تأیید می‌کند و شرط‌بندی را برمی‌دارد.

مسئله تجاری

معامله‌ی back-to-back یک جور مشخص شکست می‌خورد: مشتری با قیمتی می‌خرد که موقع کش‌شدن کاتالوگ درست بوده، قیمت تأمین‌کننده بعدش تغییر کرده، و کسب‌وکار به ضرری متعهد شده که تازه موقع تأمین می‌فهمدش. کاتالوگ بدون کش‌کردن قیمت تأمین‌کننده قابل استفاده نیست. پس درستی را باید سر نقطه‌ی تعهد اعمال کرد، نه سر نقطه‌ی نمایش.

آنچه تحویل دادم

  • یک جریان سفارش روی API که قیمت و موجودی را پیش از قطعی‌شدن سفارش دوباره از تأمین‌کننده می‌گیرد.
  • قواعد حاشیه‌ی سود در همان نقطه ارزیابی می‌شوند؛ سفارشی که دیگر به آستانه‌ی حاشیه نمی‌رسد متوقف می‌شود، نه اینکه با ضرر تأمین شود.
  • یک مرحله‌ی بازبینی برای سفارش‌های بیرون از قاعده، تا حالت مرزی به یک تصمیم برسد، نه به رد خودکار یا ضرر خودکار.
  • مرز روشن بین قیمت نمایشی، که می‌تواند کش باشد، و قیمت تعهد، که هیچ‌وقت کش نیست.

رویکرد فنی

  • نمایش و تعهد دو تضمین جدا از هم‌اند. کاتالوگ حق دارد سریع و تقریبی باشد؛ تعهد باید تازه و دقیق باشد.
  • قانون حاشیه سر تعهد بررسی می‌شود، چون فقط همان لحظه است که همه‌ی ورودی‌ها معلوم‌اند.
  • سفارش بیرون از قاعده به بازبینی می‌رود، نه به سطل رد. قانونی که بی‌سروصدا فروش را می‌پراند، به‌اندازه‌ی قانونی که پول می‌بازد گران تمام می‌شود.
  • تأیید تأمین‌کننده داخل مسیر سفارش است، نه یک تطبیق پس‌زمینه؛ مشکل باید قبل از متعهدشدن کسب‌وکار پیدا شود، نه بعدش.

نتیجه و شواهد

هر سفارش با قیمت و موجودی‌ای قطعی می‌شود که همان لحظه از تأمین‌کننده تأیید شده. سفارشی هم که قانون حاشیه را می‌شکند، به‌جای ادامه، برای تصمیم متوقف می‌شود.

اهمیت برای کارفرما

در معامله‌ی back-to-back حاشیه آن‌قدر باریک است که قیمت کهنه خطای گرد کردن نیست؛ خودِ سود است. جای محافظت از آن، همان نقطه‌ی تعهد است.

خلاصه-اجرایی-پروژه

خلاصه اجرایی خوانا

خلاصه_اجرایی {
  پروژه: "Back-to-back API Sales System"
  مدل: "فروش موجودی نزد تأمین‌کننده، نه نزد ما"
  قیمت_نمایش: "می‌تواند کش باشد؛ سریع و تقریبی"
  قیمت_تعهد: "دوباره از تأمین‌کننده تأیید می‌شود، هرگز کش"
  قانون_حاشیه: "در لحظه‌ی تعهد، وقتی ورودی‌ها معلوم‌اند"
  استثناها: "به بازبینی می‌روند، نه رد خودکار"
  جای_تأیید: "داخل مسیر سفارش، نه یک تطبیق پس‌زمینه"
}

ارزش حرفه‌ای این پروژه

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

فرستادن استثناها به بازبینی به‌جای رد کردنشان، به‌اندازه‌ی یک قضاوت فنی یک قضاوت تجاری هم هست. قانونی که همیشه نه می‌گوید، آخرش خاموش می‌شود.